Need advice about which tool to choose?Ask the StackShare community!

Flask

14.2K
11.9K
+ 1
1.5K
Node.js

125.6K
104.1K
+ 1
8.4K
Add tool

Flask vs Node.js: What are the differences?

Developers describe Flask as "a microframework for Python based on Werkzeug, Jinja 2 and good intentions". Flask is intended for getting started very quickly and was developed with best intentions in mind. On the other hand, Node.js is detailed as "A platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications". Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Flask belongs to "Microframeworks (Backend)" category of the tech stack, while Node.js can be primarily classified under "Frameworks (Full Stack)".

"Lightweight", "Python" and "Minimal" are the key factors why developers consider Flask; whereas "Npm", "Javascript" and "Great libraries" are the primary reasons why Node.js is favored.

Flask and Node.js are both open source tools. It seems that Flask with 44.8K GitHub stars and 12.6K forks on GitHub has more adoption than Node.js with 35.5K GitHub stars and 7.78K GitHub forks.

According to the StackShare community, Node.js has a broader approval, being mentioned in 4054 company stacks & 3897 developers stacks; compared to Flask, which is listed in 502 company stacks and 509 developer stacks.

Advice on Flask and Node.js
Needs advice
on
Node.jsNode.jsLaravelLaravel
and
DjangoDjango

I am looking to make a website builder web app, where users can publish built websites with a custom or subdomain (much like Wix, Weebly, Squarespace, etc.), and I was wondering about any advice on which web framework to build it on? I currently know Node.js, but I would be excited to learn Laravel or Django if those would be better options. Any advice would be much appreciated!

See more
Replies (3)

The tools you mentioned are all backend focused frameworks. I will say, you can choose one of them as you may prefer (maybe Laravel and Django will be better since it's more organized than Node.js). But no matter what, if you will create a website builder application, today you'll need a frontend framework like Vue.js, React or Angular - or maybe Ember.js, Svelte and Meteor.

See more
Đam Lê Đình
Senior Software Engineer at NAB · | 6 upvotes · 137.3K views
Recommends
LaravelLaravel

If you use Nodejs, you should use one more frontend language like reactjs or angularjs. Laravel is the better option. They are more power for rendering.

See more
Needs advice
on
SpringSpring
and
Node.jsNode.js

I am provided with the opportunity to learn one of these technologies during my training. I have prior experience with Spring and found it tough and still haven't figured out when to use what annotations among the thousands of annotations provided. On the other hand, I am very proficient in Java data structures and algorithms (custom comparators, etc.)

I have used Node.js and found it interesting, but I am wondering If I am taking the risk of choosing a framework that has a comparatively lesser scope in the future. One advantage I see with the node.js is the number of tutorials available and the ease with which I can code.

Please recommend which path to take. Is Spring learnable, or should I spend my energy on learning Node.js instead?

See more
Replies (2)

I do not know Spring or your company/specialty. Of course it must be learnable and I won't tell you to give up on anything. Java is and will remain valuable.

Regardless, I don't think "lesser scope" is a valid strike against Node.js here. Node.js fulfills JavaScript's original vision of an everywhere language and can run anywhere that Java can. It serves webpages, communicates with hardware, powers command line tools, and builds desktop applications. A huge complexity-saver for teams running many environments (my biggest regret is that it cannot run a microcontroller).

Node.js' biggest practical weakness is that JavaScript is less structured than Java. Luckily, the large influx of Java developers has been helping with this: gaps like constants and private properties are gradually filling in, and TypeScript firms up the types to the point where JavaScript looks a lot like Java.

Probably more potential competition from the larger pool of JS developers, but the compensation is allegedly similar so I guess there is a similar supply/demand situation.

See more
Recommends

hi this depends where you want to advance . If you want to work for an big aged company with a lot of legacy go the spring way (banks, insurances netflix etc ) if you want to go the new agile fast cloud way learn node js it is much more suited for cloud and micro service even spring cloud can do that as well but it is much more heavier

See more
Needs advice
on
Node.jsNode.jsLaravelLaravel
and
ASP.NETASP.NET

Hi. We are planning to develop web, desktop, and mobile app for procurement, logistics, and contracts. Procure to Pay and Source to pay, spend management, supplier management, catalog management. ( similar to SAP Ariba, gap.com, coupa.com, ivalua.com vroozi.com, procurify.com

We got stuck when deciding which technology stack is good for the future. We look forward to your kind guidance that will help us.

We want to integrate with multiple databases with seamless bidirectional integration. What APIs and middleware available are best to achieve this? SAP HANA, Oracle, MySQL, MongoDB...

ASP.NET / Node.js / Laravel. ......?

Please guide us

See more
Replies (1)
Recommends
ASP.NETASP.NET

i recommended .NET because the library so rich, you can integrated any sources to computed , compiling, integrating, your apps to high complexity, easy to communicated with SAP BAPI. used Oracle DB, Cheers.

See more
Needs advice
on
Node.jsNode.js
and
LaravelLaravel

I would like to share my stack in Web/Mobile application Development for Mid Sized Applications.

Project-1 : Laravel + jQuery + Android Java + IOS Swift

Project-2 : Node.js + React + React Native + Electron.

This is my current Stack, Can you comment on my selection and add your thoughts if my choice is a perfect match? Thanks

See more
Replies (2)
John Clifford de Vera
Software Engineer at CircleYY · | 5 upvotes · 127.5K views
Recommends
Node.jsNode.js

I would say go for Node.js since you probably would only build a REST API that would talk to the frontend and some communication with the database.

On the other hand, Laravel is a much heavier framework that follows MVC pattern. Since you don't need the V in the MVC of Laravel. You can go for a straight Express that just handles the API request and return a response.

See more
Nathan De Pachtere
Fullstack Developer at Alpsify · | 3 upvotes · 132.2K views
Recommends
FlutterFlutter
at

Hello Varun S,

Project-1 : If the Laravel part is an API, you should check Flutter or Quasar Framework for your frontend in order to reduce the development time and process.

See more
kristan-dev
Senior Solutions Analyst · | 8 upvotes · 155.8K views

My journey to developing REST APIs started with Flask Restful, and I've found it to be enough for the needs of my project back then. Now that I've started investing more time on personal projects, I've yet to decide if I should move to use Django for writing REST APIs. I often see job posts looking for Python+Django developers, but it's usually for full-stack developers. I'm primarily interested in Data Engineering, so most of my web projects are back end.

Should I continue with what I know (Flask) or move on to Django?

See more
Replies (1)
Rafael Torres
Technical Lead at 4Agile · | 9 upvotes · 146.5K views

If you want to be a Web developer with knowledge in another frontend and NoSql technology, maybe continue with Flask. However, if you want to create very fast solutions to grow up with a new business and merge these with data analysis and other tools, Django is the answer. Basically read more about the service architecture where you feel more comfortable, Microservice or Monolithic, but please will not married with any because they solve issues to different contexts.

See more
Muhammad Shaheer khan
Freelancer at Freelancer.com · | 9 upvotes · 315.4K views
Needs advice
on
Node.jsNode.jsMagentoMagento
and
DjangoDjango

Currently, I am a university student, and it is my second last semester with a major in Computer science. I want to start my career in full-stack web development. I know Python with Django + PHP with Laravel, and my focus is on learning MERN stack. I am a little bit confused as to which technology I should choose: Django or Magento or MERN stack.

#newbie

See more
Replies (2)
Recommends
ReactReact

I suggest you to go with MERN Stack (Mongo,express,react,Node). As you know python and django which is a plus point because you can use python and node as your backend and for front-end use react(easy to learn) and database of your choice.(Mongo or SQL)

See more
Moinul Moin
Recommends
Node.jsNode.js

GO For MERN Stack... brother

See more
Max Loua
FullStack Dev at Nouvelles Donnes · | 3 upvotes · 163.1K views
Needs advice
on
Rails APIRails APIRailsRails
and
Node.jsNode.js

Currently working on my company's new saas, the main goal is to manage content and user. I'm familiar with the rails framework and how it is easy to code and deploy. The thing is I'm the only dev on the project, and in terms of the tech stack, there is no preference. However, because Node.js is everywhere and there is enough dev on the market, I am stuck between choosing Rails or Node.js. I don't mind implementing Vue.js or React on the frontend, but I need a solid argument to explain to people that aren't necessarily tech-savvy as to why we should choose Rails over Nodejs.

See more
Replies (6)
Recommends
Node.jsNode.js

You are probably referring to ruby on rails for web development and nodejs for building the backend. Nodejs has frameworks such as express and next which not only provides a minimal code to build a backend but also gives the flexibility to try and experiment with the framework choices. For example you can have express framework + Passport for OAuth .... etc. The flexibility and the constant improvement of the language provides a good reason to opt for nodejs. Nodejs uses javascript which makes your code uniform when you are working full stack i.e react in front end and nodejs in backend.

See more
Recommends
Rails APIRails API

I'd use the following metaphor to non-technical people. Rails is like a prepackaged toolkit, which can get most of the common tasks done fairly with ease. Whereas, node.js with whatever backend framekwork of choice, is like a DIY toolkit assembled by mix-and-match different tools in a large tool shop. Of course, at times DIY toolkit can do better on specific tasks. Given that you are the only dev on the project, I'd assume that the resource is fairly limited. And looks like you are not building some next-gen super duper fast smart application. So Just go with the prepackaged toolkit then. Rails is a very opinionated framework, there're pros and cons to it. But thanks to that, many of the gems are coded with it in mind. For example, they are all designed with same naming convention. Many will work well together out-of-box, for example devise and cancancan. Besides, many stuff are built in the framework. For example, logging utility, csrf protection, session encryption, etc. Yes, many of those stuff may not be useful or necessary at the beginning of the project life-cycle. However, down the road, there is a good chance you will need some of those. And the moment you realize that you already have it, it's so delightful. In addition, it's usually easier to debug a rails app than a node app in my experience. Personally, the cases where I would pick node.js over rails would be projects either require a) high-performance, or b) certain core functionality that has been implemented by some node packages but not by any ruby gems. In term of performance, node has a clear advantage over any other major web frameworks, except the ones built with go. It's simply a language feature. Node allows developer to easily write code that runs db query, external api calls, or other stuff of that nature in parallel. And that is THE MOST COMMON performance bottleneck of web applications.

See more
Dan Pickett
Co-Founder at Launch Academy · | 4 upvotes · 141.1K views
Recommends
Node.jsNode.js

I hate to admit it, because I loved my time with Rails (and I still love the framework), I have a hard time justifying new Rails applications these days. Core team has made some tragic design decisions, and developers just don't perceive it as being "cool" any more. The latter is a terrible metric for which to base a technology decision, but I think you'll find it more difficult to recruit additional engineers if you choose Ruby on Rails.

Without knowing too much of the details, Node/Express (ideally with Typescript) seems like a better solution here, given you'll be building out the front-end in Vue or React. It might be worth looking at NestJS, as it's the closest I've seen to a well-formed opinionated framework on the Node side of things. We're also fans of Objection ORM.

I hope that's helpful!

See more
Francisco Quintero
Tech Lead at Dev As Pros · | 4 upvotes · 141.3K views

Rails is currently a very mature and feature complete framework.

It's the ideal one if you're the only dev for your project because you get so many things already baked-in the framework that you'd only need to deeply care about specific stuff.

I won't say any NodeJS framework isn't good enough but in my experience with NodeJS frameworks you have to code a lot of the things Rails already provides. There's many people in Twitter and IRL asking for a "Rails for JavaScript" framework.

And you know? In the early stages of any project we have to validate it first with real users/customers. With Rails you can get to production real quick and fast.

I'm going to mention some of the features you get from day 1 when you run rails new app_name:

  • File uploading with Active Storage
  • Rich text editor with Action Text
  • Emailing with Action Mailer
  • ORM, migrations, validations with Active Record
  • Web sockets with Action Cable
  • Internationalization
  • Modern frontend stuff with Webpacker

and more.

The JavaScript community is on its moment, growing and gathering more people everyday but the Rails community is also a big one and there's always going to be a Rails developer to hire whenever you're ready to hire someone.

I suggest you to go with Rails because is a good choice, gives you less things to worry about and it's a very good and mature framework.

See more
Jean-Pierre Pommet
Recommends
React on RailsReact on Rails

I need a solid argument to explain to people that aren't necessarily tech-savvy as to why we should choose Rails over Nodejs

Hi Max, it sounds like that you are proficient in both stacks and probably have a higher expertise in Rails (correct me if I am wrong) and since you are the only dev on a project, a good argument that comes to mind is probably the velocity and maturity (enterprise grade, battle tested in production) that Rails provide with proven success stories in the tech industry such as Airbnb, Stripes, Shopify to name a few. You can also make the argument that Rails is great to run the backend and React+Vue (and nodejs for tooling) is ideal for the front-end development (see or find companies example that use both). You can also build and show a prototype using both and share your experience which could help you find and forge the selling points to those non tech savvy folks, why not.

Eventually, are you going to have other developers on your project? if yes then you will need to take in account, onboarding and ramp up to contribution time when they are hired.

IMHO, I am not a fan of the debate Rails vs Nodejs, they are just tools at the disposal of the developer it's just a matter of figuring out what makes the most sense.

Let me know if you wanna discuss further, happy to help out!

ps: markdown preview on stack share... no good.

See more
Recommends
Rails APIRails API

Rails has advantages over node.js (specifically express) when working a more complicated backend. While Express has some speed advantages to Rails, this is mitigated if your software is more CPU intensive.

See more
Needs advice
on
Node.jsNode.js
and
DjangoDjango

I have learned both Python and JavaScript. I also tried my hand at Django. But i found it difficult to work with Django, on frontend its Jinja format is very confusing and limited. I have not tried Node.js yet and unsure which tool to go ahead with. I want an internship as soon as possible so please answer keeping that in mind.

See more
Replies (7)
Recommends
DjangoDjango

If you are currently not working my first suggestion is to study both the frameworks and get a good grasp of those. If you didn't get confident with Django in the first place you should reconsider going back and study more. Get a video course with some code-along and produce some simple application you can showcase on your interviews. If you already took a course take a different one. Another trainer could be more effective and you could experience something new with different excercises. There are lots of both free and paid courses out there. When you will get confident with Django get your feet wet with Node.js because it surely worth it. Node is very different from Django from some perspective, it looks more like an asynchronous version of Flask to me. Be sure to have a good knowledge of ES6 first, because it will be really useful to understand the Node best practices. Study as much as you can now if you are not working. It will supercharge you for the future...

See more
Max Musing
Founder & CEO at BaseDash · | 10 upvotes · 277.5K views
Recommends
Node.jsNode.js
at

From my experience of the early startup world, a majority of companies these days use Node.js. Python and Go are the next biggest languages, but significantly smaller than Node.

However, if you're having trouble with the front end aspect of Django, using Node probably won't make that easier for you. You'll have a lot more options between front end frameworks (React, Vue.js, Angular 2) , but they'll definitely take more time to learn than Django's templating system.

Think about whether you want to focus on front end or back end for now, and make a decision from there.

See more
Recommends
Node.jsNode.js

I would suggest to go with js, it's the craze now when you enter into the stack it has variety of options and tools that you can adopt , and more than that the demand for js engineers is exponentially increasing and js can do magic in any type of application or architecture.

See more
Yousuf Jawwad
Principal Software Architect at Breu Inc. · | 4 upvotes · 201.2K views
Recommends
JinjaJinja

Jinja is a template rendering engine and you will encounter some sort of template rendering engine in each language. Jinja is a pretty standard tool and almost every language has some sort of Jinja equivalent. Ruby has Liquid, Node has Nunjucks, Java has Jinjava, Go's default templating engine is easy to pick up if you know Jinja, Helm charts are easier to pick if know Jinja . So learning Jinja is a good thing.

See more
George Krachtopoulos
Recommends
Node.jsNode.js

I had the same question myself a few months ago. I finally chose Node.js, and it was one of the best options I did back then. From when I started programming, I always believed that Python was for me the best language, secure and stable. However, it is not flexible for web development, there are more packages & libraries that are built and work only with JavaScript / TypeScript, and the community, resources & support is much bigger. I was also fascinated by the Django ORM, which I still am, & the admin interface. But those are things, that can be replaces by other tools, such as TypeORM, and the admin interface was not needed at all finally for my case. I know understand that Python is not the language that I should use everywhere and every time, but I can say that it is really good for algorithms, computer science, maths, statistics, analytics & AI. To be honest, I chose TypeScript (TS) with Node.js & Express, because it has auto-completion and "strict" code checking. I hope this helps you, and let you take a look at various aspects of choosing a programming language to work with.

See more
Recommends
DjangoDjango

Actually, you could get very good solution with implementing BE and admin panel with Django and FE with React.js or Vue.js. it will provide you a pretty flexible and powerful environment.

See more
Recommends
DjangoDjango

If you already know some django stuff you should keep that learning path. And for the job if you really want an internship you should learn to make rest APIs using django or nodejs, and a front end that consumes those APIs using some framework

See more
Louai Hamada
Full Stack Web Developer · | 7 upvotes · 228.7K views
Needs advice
on
Node.jsNode.jsNestJSNestJS
and
ExpressJSExpressJS

I'm planning with a small team to create an application which is a platform for restaurants. I'm on the backend almost alone currently. I'm going to use Node.js for that, and I'm very fond of TypeScript, and I worked before mostly with ExpressJS. The team may get bigger as the application becomes bigger and more successful, so I have the Scalability concern in mind now, and I was considering these options: 1) Use Node+Express+Typescript 2) Use Node+NestJs (which utilizes Typescript by default)

Option 2 is enticing to me because recently I came to love NestJS and it provides more scalability for the project and uses Typescript in the best way and uses Express under the hood. Also I come from an Angular 2 background, which I think is the best frontend framework (my opinion, and I know React quite well), which makes Nest feel familiar to me because of the similarity between Nest and Angular. Option 1 on the other hand uses Express which is a minimalist framework, very popular one, but it doesn't provide the same scalability and brings decision fatigue about what to combine with it and may not utilize Typescript in the best way. Yet, on the other hand, it is flexible and it may be easier to manipulate things in different ways with it. Another very important thing is that it would be easier in my view to hire Node developers with skills in Express than NestJs. The majority of Node developers are much more familiar with JavaScript and Express.

What is your advice and why? I would love to hear especially from developers who worked on both Express and Nest

See more
Replies (6)
Wender Machado
Full Stack Engineer at RG Sistemas · | 9 upvotes · 158.9K views
Recommends
NestJSNestJS

I highly recommend NestJS because:

  • It's a framework you already like;
  • Typescript is growing fast, being increasingly adopted in the community;
  • All layers are well defined, not needing to think much about the organization;
  • Great documentation;
  • Nest CLI increases the development speed and keep the pattern;

Only using express and knowing that project can grow, you'ill need to define the structure well so that it doesn't get out of control.

See more
Rhoger Anacleto
Developer at Magrathea Labs · | 5 upvotes · 158.8K views
Recommends
NestJSNestJS

Hi Louai,

I am quite sure that you know the answer to your problem. And I am here to help you to follow your arrow. I have worked with the most popular Nodejs frameworks and I can sure you that there's no stack better than NestJS (at all). Typescript is the best thing that happened with Javascript, this is a fact. Ans NestJS make a such wonderful job using all the best Typescript tools. NestJS is the most mature and organized API manager. Its modular dependence injection, the use of DDD, the solid idea of single responsibility, it's unit a and e2e testing support, its documentation is the most incredible work in the world of Nodejs. You won't regret choosing this framework, even if your application grows a lot. If you follow the documentation tips you will be able to create an amazing and organized application.

ps: I am not part of the NestJS team, I am just a guy tired of wasting time with dumb and bad Frameworks and its bad documentations. I find relief in NestJS with all the time it's saved to me, it helped me to improve my job and let me create great things with Nodejs.

See more
Recommends
NestJSNestJS

Hi, I'm in a similar position, but related to personal projects. After falling in love with few frameworks in the first day and rejecting them in day 2, I started learning nestJS last week. I currently develop personal side projects using cakephp, and I intend to migrate to nest + vue. This week I'm taking a nestJS course in order to be sure that this is what I want by praticing a little. If you didn't do it yet, I suggest you try to code a todo app or a similar example API using nest, so you can "feel" if this is indeed what you want to use in this larger-scale project.

Some of the characteristics that got my attention to nestJS are typescript, a lot of annotations/decorations, an oppinionated approach to organizing the project, nice documentation and discord, and it's evolution at npm trends shows me it's probably not going to vanish or get buggy anytime soon.

See more
Recommends
NestJSNestJS

I would definitely suggest NestJs over other options because NestJs gives a lot of tooling. it would definitely suggest NestJs over other options because NestJs gives a lot of tooling & it gives a lot of functionality out of the box. If your team worked with angular 2+ then it will really easy to learn.

See more
Recommends
NestJSNestJS

First of all, my experience using either Node.js with Express or NestJS is not wide. I liked NestJS due to it's similarity to Angular, so when you know Angluar and like TypeScript you are going to love NestJS, it will be instantly very familiar and easy to use, it's adds a good structure to the project out of the box and well, it uses TypeScript, which is a more structured language - it's good for scalability. As for performance concern s - NestJS is based on Node, it just brings Angular's modular structure to it, so the question is more about how is the additional layer influences the performance - I cannot answer that.

See more
Recommends
hapihapi

Have you checked out Hapi as an alternative? I'ts not Typescript by default though. If that doesn't seem too interesting, it sounds like you want to go with NestJS :)

See more
Needs advice
on
Spring BootSpring Boot
and
Node.jsNode.js

Hi, I am looking to select tech stack for front end and back end development. Considering Spring Boot vs Node.js for developing microservices. Front end tech stack is selected as React framework. Both of them are equally good for me, long term perspective most of services will be more based on I/O vs heavy computing. Leaning toward node.js, but will require team to learn this tech stack, so little hesitant.

See more
Replies (1)
Max Musing
Founder & CEO at BaseDash · | 10 upvotes · 154K views
Recommends
Node.jsNode.js
at

It's probably worth investing some time for your team to learn Node.js. There's very little overhead, especially with a framework like ExpressJS, so if your team is familiar with JavaScript it should be a quick process.

It handles I/O really well out of the box, and has a strong community with great open source libraries. Since you're using React on the front end, there's also some benefit to being able to use JavaScript throughout your stack.

See more
Decisions about Flask and Node.js

Backend:

Python is a great industry standard language that can easily handle both machine learning and web development tasks. Our dev team is very familiar with the language and has used it in various web and Machine learning projects. Python has many versatile ML specific libraries that include TensorFlow, Pytorch, Pycaret, and Keras. It also has packages for data manipulations and visualization like Numpy, Pandas, and Matplotlib. Since our software requires machine learning algorithms, big data processing and a backend server, Python seemed like the way to go.

Our team decided to go distributed databases (NoSQL) over a relational database (SQL) because of the NoSQL dynamic schemas for unstructured data. We are using MongoDB as our NoSQL database due to its simplicity, schema less documentation, deep/fast querying ability, user data management, big data, JSON style documents, and great scaling out. We also chose MongoDB due to its horizontal scaling as a NoSQL database.

Since we are using python as our backend programming language, we decided to use Flask as our web framework. Flask is a micro and lightweight web framework that provides the required functionality to efficiently develop our web server. Flask has a great community with many online resources and provides more flexibility in terms of customization when compared to other frameworks like Django. While Django is great for large scale applications, it does not work well with NoSQL databases.

Frontend:

For our front end framework, we decided to go with React due to its component based structures, flexibility, scalability, and high performance. React has a strong community and is trusted by top companies such as Facebook, Netflix, and Paypal. We can also easily transition our react app to a react native or electron app. We will also be using material-ui framework alongside react for that crisp google material design!

Node.js will be used for development purposes for the front end only. Once we deploy for production, the react frontend will be served from the flask web server and will not require Node.js. This separates the frontend and backend during development, making it easier to work with.

Javascript is one of the most widely used languages for front end development and we will be using it alongside React to develop our user interface. Our dev team is familiar with it through previous web projects. Given how popular it is, its community is very active for any problems that come up and is easy to hire for in the future.

See more
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 278.8K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more

As a small team, we wanted to pick the framework which allowed us to move quickly. There's no option better than Rails. Not having to solve the fundamentals means we can more quickly build our feature set. No other framework can beat ActiveRecord in terms of integration & ease-of use. To top it all of, there's a lot of attention paid to security in the framework, making almost everything safe-by-default.

See more
Greg Jackson

Honestly, we used Flask when we first started up as I was personally had a background in Python and wanted to understand the tools we made technically.

Also, as a bootsrapped startup, we needed to build an MVP as quickly as possible and this left few other options. Luckily, it had all the functionality and scalability we need.

See more

Hey guys,

My backend set up is Prisma / GraphQL-Yoga at the moment, and I love it. It's so intuitive to learn and is really neat on the frontend too, however, there were a few gotchas when I was learning! Especially around understanding how it all pieces together (the stack). There isn't a great deal of information out there on exactly how to put into production my set up, which is a backend set up on a Digital Ocean droplet with Prisma/GraphQL Yoga in a Docker Container using Next & Apollo Client on the frontend somewhere else. It's such a niche subject, so I bet only a few hundred people have got a website with this stack in production. Anyway, I wrote a blog post to help those who might need help understanding it. Here it is, hope it helps!

See more

For the backend of the app, Flask is chosen as it is written in Python and easily integratable with machine learning applications, as many ML frameworks are written in python. As well, Flask is quick and easy to setup, with many options for scaling it out to production. For the data, PostgreSQL will be used as it is integratabtle with Heroku since Heroku offers it as an add-on. It is also flexible and supports different data types such as JSON.

See more

This basically came down to two things: performance on compute-heavy tasks and a need for good tooling. We used to have a Meteor based Node.js application which worked great for RAD and getting a working prototype in a short time, but we felt pains trying to scale it, especially when doing anything involving crunching data, which Node sucks at. We also had bad experience with tooling support for doing large scale refactorings in Javascript compared to the best-in-class tools available for Java (IntelliJ). Given the heavy domain and very involved logic we wanted good tooling support to be able to do great refactorings that are just not possible in Javascript. Java is an old warhorse, but it performs fantastically and we have not regretted going down this route, avoiding "enterprise" smells and going as lightweight as we can, using Jdbi instead of Persistence API, a homegrown Actor Model library for massive concurrency, etc ...

See more

I was researching multiple high performance, concurent//parallel languages for the needs of authentication and authorization server, to be built on microservice architecture and Linux OS. Node.js with its asynchronous behavior and event loop suits the case best. Python Django & Flash turns to be slower and .NET Core & Framework wasn't the best choice for the Linux environment at the time (summer 2018).

I also tested Go lang and Rust, although they didn't meet the quick prototyping criteria as both languages are young and lacking libraries or battle-tested ORM.

See more
Radoslaw Fabisiak

We builded Duomly with: BE: Node.JS & Nest.JS & TypeScript & PostgreSQL and FE: React & Sass & Javascript.

The whole of the stack is JS related what helps us to keep development on a track. When building backend we decided to go go for TS & Nest.js because we had experience with Javascript and still wanted to have control over types.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Flask
Pros of Node.js
  • 313
    Lightweight
  • 269
    Python
  • 214
    Minimal
  • 145
    Open source
  • 98
    Documentation
  • 66
    Easy to use
  • 54
    Easy to setup and get it going
  • 53
    Well designed
  • 48
    Easy to develop and maintain applications
  • 45
    Easy to get started
  • 18
    Beautiful code
  • 16
    Rapid development
  • 14
    Powerful
  • 13
    Expressive
  • 12
    Awesome
  • 11
    Love it
  • 11
    Flexibilty
  • 11
    Speed
  • 10
    Get started quickly
  • 10
    Simple to use
  • 10
    Easy to integrate
  • 9
    Perfect for small to large projects with superb docs.
  • 9
    For it flexibility
  • 9
    Customizable
  • 8
    Productive
  • 8
    Flexibilty and easy to use
  • 7
    Flask
  • 6
    Not JS
  • 6
    User friendly
  • 5
    Secured
  • 4
    Unopinionated
  • 1
    Secure
  • 1
    Orm
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 795
    Open source
  • 484
    Great for apis
  • 474
    Asynchronous
  • 420
    Great community
  • 390
    Great for realtime apps
  • 295
    Great for command line utilities
  • 81
    Node Modules
  • 80
    Websockets
  • 67
    Uber Simple
  • 57
    Great modularity
  • 56
    Allows us to reuse code in the frontend
  • 40
    Easy to start
  • 35
    Great for Data Streaming
  • 31
    Realtime
  • 26
    Awesome
  • 24
    Non blocking IO
  • 17
    Can be used as a proxy
  • 16
    High performance, open source, scalable
  • 15
    Non-blocking and modular
  • 14
    Easy and Fun
  • 12
    Easy and powerful
  • 12
    Same lang as AngularJS
  • 11
    Future of BackEnd
  • 10
    Fast
  • 9
    Fullstack
  • 9
    Scalability
  • 9
    Cross platform
  • 8
    Simple
  • 7
    Mean Stack
  • 6
    Great for webapps
  • 6
    Easy concurrency
  • 5
    Friendly
  • 5
    Fast, simple code and async
  • 5
    React
  • 4
    Great speed
  • 4
    Fast development
  • 4
    Its amazingly fast and scalable
  • 4
    Control everything
  • 4
    Easy to use and fast and goes well with JSONdb's
  • 4
    Typescript
  • 4
    Scalable
  • 3
    It's fast
  • 3
    Easy to use
  • 3
    Isomorphic coolness
  • 2
    Sooper easy for the Backend connectivity
  • 2
    Easy to learn
  • 2
    TypeScript Support
  • 2
    Scales, fast, simple, great community, npm, express
  • 2
    One language, end-to-end
  • 2
    Javascript2
  • 2
    Not Python
  • 2
    Performant and fast prototyping
  • 2
    Blazing fast
  • 2
    Great community
  • 2
    Less boilerplate code
  • 2
    Easy
  • 1
    Lovely
  • 1
    Event Driven

Sign up to add or upvote prosMake informed product decisions

Cons of Flask
Cons of Node.js
  • 10
    Not JS
  • 7
    Context
  • 4
    Not fast
  • 1
    Don't has many module as in spring
  • 46
    Bound to a single CPU
  • 42
    New framework every day
  • 36
    Lots of terrible examples on the internet
  • 29
    Asynchronous programming is the worst
  • 23
    Callback
  • 16
    Javascript
  • 11
    Dependency based on GitHub
  • 10
    Dependency hell
  • 10
    Low computational power
  • 7
    Can block whole server easily
  • 6
    Very very Slow
  • 6
    Callback functions may not fire on expected sequence
  • 3
    Unstable
  • 3
    Breaking updates
  • 3
    Unneeded over complication
  • 1
    No standard approach
  • 1
    Can't read server session
  • 1
    Bad transitive dependency management

Sign up to add or upvote consMake informed product decisions

What is Flask?

Flask is intended for getting started very quickly and was developed with best intentions in mind.

What is Node.js?

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Flask?
What companies use Node.js?
See which teams inside your own company are using Flask or Node.js.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Flask?
What tools integrate with Node.js?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
733
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
4
3263
Node.jsnpmKubernetes+6
1
1164
GitNode.jsFirebase+5
7
1695
What are some alternatives to Flask and Node.js?
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Tornado
By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
ExpressJS
Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
Bottle
It is distributed as a single file module and has no dependencies other than the Python Standard Library. It has fast and pythonic built-in template engine and support for mako, jinja2 and cheetah templates.
See all alternatives