Angular 2 vs Flask: What are the differences?
Angular 2: One framework. Mobile & desktop. Angular is a development platform for building mobile and desktop web applications; Flask: 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.
"It's a powerful framework" is the top reason why over 70 developers like Angular 2, while over 261 developers mention "Lightweight" as the leading cause for choosing Flask.
Angular 2 and Flask are both open source tools. Angular 2 with 49.5K GitHub stars and 13.6K forks on GitHub appears to be more popular than Flask with 45.2K GitHub stars and 12.7K GitHub forks.
Netflix, reddit, and Lyft are some of the popular companies that use Flask, whereas Angular 2 is used by Auto Trader, AgoraPulse, and Kalibrr. Flask has a broader approval, being mentioned in 511 company stacks & 532 developers stacks; compared to Angular 2, which is listed in 259 company stacks and 237 developer stacks.
What is Angular 2?
What is Flask?
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
When Redash was created 5 years ago we chose AngularJS as our frontend framework, but as AngularJS was replaced by Angular 2 we had to make a new choice. We decided that we won't migrate to Angular, but to either React or Vue.js. Eventually we decided to migrate to React for the following reasons:
- Many in our community are already using React internally and will be able to contribute.
- Using react2angular we can do the migration gradually over time instead of having to invest in a big rewrite while halting feature development.
So far the gradual strategy pays off and in the last 3 major releases we already shipped React code in the Angular.js application.
At Beamery we had a large, AngularJS app, built over several years. Our clients were happy, but we were not. We had several problems: Building new features was slow. AngularJS doesn’t scale nicely. Features clash with each other. Isolation doesn’t come as standard, you have to work hard to keep features separate. It takes time to get it right. #Hiring was hard, for all the reasons listed above. The app was slower than it needed to be because AngularJS was never built for speed. We wanted to render half a million contacts, and Angular was fighting us all the way.
As time went by it become harder to find developers who would willingly choose AngularJS over React Angular 2 , Vue.js , Aurelia or Polymer .
So we faced a choice. We could throw it all away and start again, we could upgrade to Angular 5, or the awesome option - we could use micro frontends. We chose the awesome option.
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.
I found Heroku to be a great option to get ExpressJS up and running with very little hustle. The free tier is great, but I'd recommend to set up a cronjob to visit your site every few minutes so that the server stays awake. Netlify was the option to host the front-end because doing the server side rendering on #Heroku would have taken a little more time than I'd like to. For the moment pre-rendering the app with prerender-spa-plugin is enough to help with #seo. Puppeteer was my choice over other options because it made it easier to scrape websites made on ASP.NET which is what I needed in this case. And Vue.js is my top choice at the moment because it's really beginner friendly and it has a lot of the features I like about Angular 2 and React. vuex is a must in most of the app I build.
For those who want to develop business in China, Vue.js would be your first choice. I never thought Vue.js is better than Angular 2 or React , but for project language choosing, sometimes you should not only consider technology advance, but also must consider human resource market.
In China, there are far more engineers familiar with Vue.js than React and Angular, that means you can easily hire some front end engineers with much cheaper price. The reason why Vue.js is so popular in China is just because the community, as Vue.js author You Yuxi is Chinese, the community around Vue.js is mainly in Chinese language and most engineers speaks Mandarin, thus they can get questions and problems solved at first time.
From technical side, Vue.js is more like a simplified Angular, syntax are mostly same,
v-for. The most convenience part is Vue.js put
css in one single
vue file so that you will not have to create a separate folder to include 3 files as Angular does.
To be frankly, I love Vue.js especially when I need to quickly create a small project contains only 1 or 2 pages even 5 pages, Vue.js would be the best choice, it's small and fast. For a really big and huge project, I will consider Angular, after all, there are far more complicated and interesting plugins to play with, Angular need more time, more code, more complex, but we senior engineer is living for some sophisticated code which only we can understand and set barriers for other beginners, right?
I recommend using Angular 2 when moving from Angular 1 if you are looking for a fully featured framework solution. Neither Vue.js nor React just work out of the box and require creating your own components from scratch as well as the kind of support architecture available in Angular 2 out of the box. However if you are looking for something lightweight to add reusable components to an existing application Vue.js and React are more ideal to that end.
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
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.
The Angular 2 CLI is great, it's easy to get up and running with a project.
The really great thing about Angular 2 is it allows us to work with designers by augmenting their artifacts (html pages) with Angular directives. This allows our designs to go back and forth between designers and engineers without having to learn a new markup language (like JSX).
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.
Angular 2 is a great framework for C# developers. Deeply rooted in OOP & MVC principles and full integration with TypeScript. My go-to for client-side dev now...
Service to query NOAA weather forecasts data and service to build tidal current forecast maps using AWS EC2 and Geoserver
Angular 2 is a beautiful and fast MVC Framework. We are using it for mobile, web and desktop development.
Flask drives our APIs, both the Website APIs and the majority of the REST Messaging APIs