Angular 2 logo

Angular 2

A platform for building mobile and desktop web applications
2.2K
1.8K
+ 1
277

What is Angular 2?

It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications.
Angular 2 is a tool in the Javascript MVC Frameworks category of a tech stack.
Angular 2 is an open source tool with 55K GitHub stars and 15.2K GitHub forks. Here’s a link to Angular 2's open source repository on GitHub

Who uses Angular 2?

Companies
610 companies reportedly use Angular 2 in their tech stacks, including WePay, AgoraPulse, and Edools.

Developers
1627 developers on StackShare have stated that they use Angular 2.

Angular 2 Integrations

Firebase, Sentry, Bugsnag, Protractor, and DevExtreme are some of the popular tools that integrate with Angular 2. Here's a list of all 30 tools that integrate with Angular 2.

Why developers like Angular 2?

Here’s a list of reasons why companies and developers use Angular 2
Angular 2 Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose Angular 2 in their tech stack.

Eyas Sharaiha
Eyas Sharaiha
Software Engineer at Google · | 20 upvotes · 98.9K views
atGoogleGoogle
TypeScript
TypeScript
Angular 2
Angular 2
RxJS
RxJS
#Typescript
#Angular
#RXJS
#Async
#Frontend

One TypeScript / Angular 2 code health recommendation at Google is how to simplify dealing with RxJS Observables. Two common options in Angular are subscribing to an Observable inside of a Component's TypeScript code, versus using something like the AsyncPipe (foo | async) from the template html. We typically recommend the latter for most straightforward use cases (code without side effects, etc.)

I typically review a fair amount of Angular code at work. One thing I typically encourage is using plain Observables in an Angular Component, and using AsyncPipe (foo | async) from the template html to handle subscription, rather than directly subscribing to an observable in a component TS file.

Subscribing in components

Unless you know a subscription you're starting in a component is very finite (e.g. an HTTP request with no retry logic, etc), subscriptions you make in a Component must:

  1. Be closed, stopped, or cancelled when exiting a component (e.g. when navigating away from a page),
  2. Only be opened (subscribed) when a component is actually loaded/visible (i.e. in ngOnInit rather than in a constructor).

AsyncPipe can take care of that for you

Instead of manually implementing component lifecycle hooks, remembering to subscribe and unsubscribe to an Observable, AsyncPipe can do that for you.

I'm sharing a version of this recommendation with some best practices and code samples.

#Typescript #Angular #RXJS #Async #Frontend

See more
Arik Fraimovich
Arik Fraimovich
AngularJS
AngularJS
Angular 2
Angular 2
React
React
Vue.js
Vue.js

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:

  1. Many in our community are already using React internally and will be able to contribute.
  2. 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.

See more
Praveen Mooli
Praveen Mooli
Technical Leader at Taylor and Francis · | 11 upvotes · 219.9K views
MongoDB Atlas
MongoDB Atlas
Java
Java
Spring Boot
Spring Boot
Node.js
Node.js
ExpressJS
ExpressJS
Python
Python
Flask
Flask
Amazon Kinesis
Amazon Kinesis
Amazon Kinesis Firehose
Amazon Kinesis Firehose
Amazon SNS
Amazon SNS
Amazon SQS
Amazon SQS
AWS Lambda
AWS Lambda
Angular 2
Angular 2
RxJS
RxJS
GitHub
GitHub
Travis CI
Travis CI
Terraform
Terraform
Docker
Docker
Serverless
Serverless
Amazon RDS
Amazon RDS
Amazon DynamoDB
Amazon DynamoDB
Amazon S3
Amazon S3
#Backend
#Microservices
#Eventsourcingframework
#Webapps
#Devops
#Data

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

See more
Mohammad Gholami
Mohammad Gholami
Golang and Laravel Developer at m6devin · | 9 upvotes · 33K views
Laravel
Laravel
MySQL
MySQL
Angular 2
Angular 2
Go
Go

We were working hard on a project for ambulance dispatching system. The main components developed using Laravel . It aided us to develop the application very fast. We used MySQL as the DBMS and Angular 2 for frontend developing. After a year, the growing number of requests made us scale some specific APIs. So we decided to use Go to handle them. It was just wonderful!

See more
Jean Francois Rebaud
Jean Francois Rebaud
Kubernetes
Kubernetes
GitLab CI
GitLab CI
Cassandra
Cassandra
ExpressJS
ExpressJS
Angular 2
Angular 2

Kubernetes GitLab CI Cassandra ExpressJS Angular 2

I start a new project of a plateform to make an iventory of bands in my musical style preference I choose

  1. for the BackEnd: Express, Casssandra Express because I want to use API and compatibilitie with others front plateform and Cassandra about is performance of scalability

  2. for the Frontend: Angular because it's a real framework and this structure is perfect to add and update new features to make easily evolution

It's the begening of the project and I'll come back for future informations and discussion about problems that must resolved

See more
TypeScript
TypeScript
JSON
JSON
Docker
Docker
Markdown
Markdown
Angular 2
Angular 2
Visual Studio Code
Visual Studio Code
Atom
Atom
#Typescript
#Java
#HTML
#Sass

More than year ago I was looking for the best editor of Angular 2 application and I've tried Visual Studio Code and Atom. Atom had performance issues that put me off completely to use it again. Visual Studio Code became my main editor #Typescript files (and partly editor of #Java files). I'm happy with Visual Studio Code and I've never look back on Atom. There wasn't any reason to try Atom again, because Visual Studio Code fulfills my requirements very well. I use it for editing of TypeScript, #HTML, #Sass, JSON, Docker and Markdown.

See more

Angular 2's Features

  • Progressive Web Apps
  • Native
  • Code Generation
  • Code Splitting

Angular 2 Alternatives & Comparisons

What are some alternatives to Angular 2?
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.
Polymer
Polymer is a new type of library for the web, designed to leverage the existing browser infrastructure to provide the encapsulation and extendability currently only available in JS libraries. Polymer is based on a set of future technologies, including Shadow DOM, Custom Elements and Model Driven Views. Currently these technologies are implemented as polyfills or shims, but as browsers adopt these features natively, the platform code that drives Polymer evacipates, leaving only the value-adds.
Aurelia
Aurelia is a next generation JavaScript client framework that leverages simple conventions to empower your creativity.
Vue.js
It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
Meteor
A Meteor application is a mix of JavaScript that runs inside a client web browser, JavaScript that runs on the Meteor server inside a Node.js container, and all the supporting HTML fragments, CSS rules, and static assets.
See all alternatives

Angular 2's Followers
1827 developers follow Angular 2 to keep up with related blogs and decisions.
jeremie olivier
Ihor Levchenko
Kaushik Samanta
ChrisBeeson
Joel Kesler
calebjonasson
Võ Thanh Liêm
Nicolas  Sylverio
Yassine ElOuni
Roger Kermode