Monday 27 January 2020

Looking for a nodejs framework that could replace Django

Tl;dr I'm looking for a nodejs framework that could completely replace Django out of the box.Hi, I'm looking at building out a backend for what is currently just going to support a native app, but will eventually support other clients as well like web or even potentially hardware products.There's a lot of content to this app, including things like goals/milestones, activities related to those milestones, blog style posts, tips, etc, so having a CMS of some kind is important. We'd like this CMS to be mature, have user roles/permissions, customizations, etc.Scalability is also something that's been discussed in depth, as there is an expectation to grow quickly and we don't want to have to come back later and replace parts of our infrastructure.There's also many more complex aspects to the overall infrastructure including a machine learning aspect, we expect to need supporting microservices, and a robust cron/queue system. The latter 2 we would use Amazon services like SQS for example.For the API that would service the mobile app, I've been pushing to use Django and graphene so we can use GraphQL. Reason being, is that it comes out of the box with an admin panel that would do everything we need (particularly with the jet theme), the ORM is fantastic and integrates nicely with graphene, and it's mature enough to be battle tested and feature rich. As a bonus, there are even internal tools that have been hastily written in flask that could be easily ported to Django and managed all in one place.However, there has been interest amongst the team in using nodejs as it's new, more popular, and performs faster than Python at CPU bound tasks. There's also been concern that Django is just slow and not scalable. I've done a fair amount of research and so far I can't find any frameworks that compare to the "batteries included" nature of Django. I've also found no evidence to suggest that Django is unscalable. I've looked at sails, but I've seen mixed reviews of its ORM and it doesn't seem to have an out of the box CMS. I've looked at Keystone 5 but it seems immature, especially the CMS. I've looked at Strapi but it seems to be exclusively a CMS and also fairly immature.Perhaps my impressions of these frameworks have been wrong, and I recognize that I could run all this myself using express or possibly even just with several microservices, but we have a lot to do between now and our deadline for an initial version of the app (May). So Django is seeming like the best option to me.I would love for some people more experienced with nodejs to tell me why I'm wrong and some alternative framework would be better suited for my project. Or that I'm right cause let's be honest, everyone likes to be right haha.Thanks in advance, and sorry for the wall of text!

Submitted January 27, 2020 at 11:57PM by Brovas

No comments:

Post a Comment