Flask vs Meteor: What are the differences?
Flask can be classified as a tool in the "Microframeworks (Backend)" category, while Meteor is grouped under "Frameworks (Full Stack)".
"Lightweight", "Python" and "Minimal" are the key factors why developers consider Flask; whereas "Real-time", "Full stack, one language" and "Best app dev platform available today" are the primary reasons why Meteor is favored.
Flask and Meteor are both open source tools. Flask with 45.2K GitHub stars and 12.7K forks on GitHub appears to be more popular than Meteor with 41.2K GitHub stars and 5.03K GitHub forks.
According to the StackShare community, Flask has a broader approval, being mentioned in 511 company stacks & 531 developers stacks; compared to Meteor, which is listed in 195 company stacks and 156 developer stacks.
What is Flask?
What is Meteor?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Unlike our frontend, we chose Flask, a microframework, for our backend. We use it with Python 3 and Gunicorn.
One of the reasons was that I have significant experience with this framework. However, it also was a rather straightforward choice given that our backend almost only serves REST APIs, and that most of the work is talking to the database with SQLAlchemy .
We could have gone with something like Hug but it is kind of early. We might revisit that decision for new services later on.
Mixmax was originally built using Meteor as a single monolithic app. As more users began to onboard, we started noticing scaling issues, and so we broke out our first microservice: our Compose service, for writing emails and Sequences, was born as a Node.js service. Soon after that, we broke out all recipient searching and storage functionality to another Node.js microservice, our Contacts service. This practice of breaking out microservices in order to help our system more appropriately scale, by being more explicit about each microservice’s responsibilities, continued as we broke out numerous more microservices.
As Mixmax began to scale super quickly, with more and more customers joining the platform, we started to see that the Meteor app was still having a lot of trouble scaling due to how it tried to provide its reactivity layer. To be honest, this led to a brutal summer of playing Galaxy container whack-a-mole as containers would saturate their CPU and become unresponsive. I’ll never forget hacking away at building a new microservice to relieve the load on the system so that we’d stop getting paged every 30-40 minutes. Luckily, we’ve never had to do that again! After stabilizing the system, we had to build out two more microservices to provide the necessary reactivity and authentication layers as we rebuilt our Meteor app from the ground up in Node.js. This also had the added benefit of being able to deploy the entire application in the same AWS VPCs. Thankfully, AWS had also released their ALB product so that we didn’t have to build and maintain our own websocket layer in Amazon EC2. All of our microservices, except for one special Go one, are now in Node with an nginx frontend on each instance, all behind AWS Elastic Load Balancing (ELB) or ALBs running in AWS Elastic Beanstalk.
We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.
To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas
To build #Webapps we decided to use Angular 2 with RxJS
#Devops - GitHub , Travis CI , Terraform , Docker , Serverless
I discovered Meteor thanks to my daughter who used it for a project at MIT. I was amazed at how much she had built in such a short time. I had also been trying to figure out how to build a browser-based crypto app so I jumped into Meteor and had an MVP for cloak.ly in a few short months starting from nothing. Learning Meteor really alters what you perceive as easy and difficult in full-stack development. It has an amazing ability to simplify your thinking and your code. Community support in terms of packages is outstanding as well which saves tremendous time. The quality of the software is outstanding with very few regressions cropping up during their frequent releases.
Being at the bleeding edge of the js community does have its downsides however. While early Meteor (with Blaze/handlebars templates) was exceedingly simple, Meteor have had to introduce support for both angular and react. In combination with the move to ECMAscript this has resulted in a lot of work for developers to just keep up with the evolution of the platform. Someone who was an expert 6 months ago might quickly find themselves being a newb again. If you're someone who doesn't like change you may want to stick to jQuery.
Living in the bay area I have the luxury of being able to attend Meteor events frequently. Having met many members of the MDG team, I have tremendous confidence in the future of the platform. This is a very solid group with a rare combination of broad vision and excellent execution.
Meteor is my favorite framework. It makes everything fun. Syncing data across devices is really easy and you don't have to mess around with sockets at all. You can insert data into the database on the client. There's tons of security options. There's over 3000 packages on the packaging system. Instant iOS and Android apps. Amazing, reactive routing. Free hosting. Easy deployment with Meteor Up. What's not to like?
Flask is a light, yet powerful Python web framework perfect for quickly building smaller web applications. It's a "micro-framework" that's easy to learn and simple to use, so it's perfect for those new to web development as well as those looking to rapidly develop a web application.
Meteor is so powerful and flexible. I love it. In the near future, it will be the top-used framework.
We have gone "all in" on Meteor and I recommend you do to.
I use Flask for times when I need to create a REST API that interfaces with other Python code, or there is no specific reason why I'd want to use Node.JS. I prefer Flask because of its small learning curve, allowing me to get started coding as quickly as possible
This lightweight web framework enables quick REST API development while enabling easy clustering, and the usage of multiple worker processes required to scale the REST API service to meet high volume requirements.
Without Meteor cloak.ly could not have been built as quickly by such a small team. Meteor was instrumental to getting an MVP up quickly and dealing with the complexities of browser-based encryption.
Built on Node.js, Meteor's real time reactivity and its wide package ecosystem allows us to quickly prototype and build apps in a lean way
Service to query NOAA weather forecasts data and service to build tidal current forecast maps using AWS EC2 and Geoserver
Flask drives our APIs, both the Website APIs and the majority of the REST Messaging APIs