Get Advice Icon

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

AngularJS
AngularJS

20.5K
13K
+ 1
5.2K
Electron
Electron

2.7K
2.4K
+ 1
93
Add tool

AngularJS vs Electron: What are the differences?

Developers describe AngularJS as "Superheroic JavaScript MVW Framework". AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML鈥檚 syntax to express your application鈥檚 components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding. On the other hand, Electron is detailed as "Build cross platform desktop apps with web technologies. Formerly known as Atom Shell, made by GitHub". With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor.

AngularJS can be classified as a tool in the "Javascript MVC Frameworks" category, while Electron is grouped under "Cross-Platform Desktop Development".

"Quick to develop" is the top reason why over 882 developers like AngularJS, while over 50 developers mention "Easy to make rich cross platform desktop applications" as the leading cause for choosing Electron.

AngularJS and Electron are both open source tools. Electron with 74.9K GitHub stars and 9.81K forks on GitHub appears to be more popular than AngularJS with 59.6K GitHub stars and 28.9K GitHub forks.

According to the StackShare community, AngularJS has a broader approval, being mentioned in 2799 company stacks & 1864 developers stacks; compared to Electron, which is listed in 221 company stacks and 374 developer stacks.

What is AngularJS?

AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML鈥檚 syntax to express your application鈥檚 components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.

What is Electron?

With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor.
Get Advice Icon

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

Why do developers choose AngularJS?
Why do developers choose Electron?

Sign up to add, upvote and see more prosMake informed product decisions

Jobs that mention AngularJS and Electron as a desired skillset
What companies use AngularJS?
What companies use Electron?

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

What tools integrate with AngularJS?
What tools integrate with Electron?

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

What are some alternatives to AngularJS and Electron?
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Angular 2
It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop 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.
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.
jQuery
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
See all alternatives
Decisions about AngularJS and Electron
StackShare Editors
StackShare Editors
Node.js
Node.js
React
React
Electron
Electron
ES6
ES6
MacGap
MacGap
Chromium
Chromium

The Slack desktop app was originally written us the MacGap framework, which used Apple鈥檚 WebView to host web content inside of a native app frame. As this approach continued to present product limitations, Slack decided to migrate the desktop app to Electron. Electron is a platform that combines the rendering engine from Chromium and the Node.js runtime and module system. The desktop app is written as a modern ES6 + async/await React application.

For the desktop app, Slack takes a hybrid approach, wherein some of the assets ship as part of the app, but most of their assets and code are loaded remotely.

See more
StackShare Editors
StackShare Editors
Node.js
Node.js
React
React
TypeScript
TypeScript
Electron
Electron
ES6
ES6
MacGap
MacGap
Chromium
Chromium

Slack's new desktop application was launched for macOS. It was built using Electron for a faster, frameless look with a host of background improvements for a superior Slack experience. Instead of adopting a complete-in-box approach taken by other apps, Slack prefers a hybrid approach where some of the assets are loaded as part of the app, while others are made available remotely. Slack's original desktop app was written using the MacGap v1 framework using WebView to host web content within the native app frame. But it was difficult to upgrade with new features only available to Apple's WKWebView and moving to this view called for a total application rewrite.

Electron brings together Chromium's rendering engine with the Node.js runtime and module system. The new desktop app is now based on an ES6 + async/await React application is currently being moved gradually to TypeScript. Electron functions on Chromium's multi-process model, with each Slack team signed into a separate process and memory space. It also helps prevent remote content to directly access desktop features using a feature called WebView Element which creates a fresh Chromium renderer process and assigns rendering of content for its hosting renderer. Additional security can be ensured by preventing Node.js modules from leaking into the API surface and watching out for APIs with file paths. Communication between processes on Electron is carried out via electron-remote, a pared-down, zippy version of Electron's remote module, which makes implementing the web apps UI much easier.

See more
Jake Stein
Jake Stein
CEO at Stitch | 15 upvotes 120.1K views
atStitchStitch
AngularJS
AngularJS
React
React
CoffeeScript
CoffeeScript
JavaScript
JavaScript
ES6
ES6

Stitch鈥檚 frontend is used to configure data sources and destinations and monitor the status of each. Although we have been using AngularJS since its early days, we recently introduced React components into our front end, which many of our developers find easier to work with. We started using CoffeeScript when it was one of the few options for a more expressive alternative to vanilla JavaScript, but today we opt to instead write new code in ES6, which we feel is a more mature alternative.

See more
Spenser Coke
Spenser Coke
Product Engineer at Loanlink.de | 8 upvotes 189K views
atLoanlink GmbhLoanlink Gmbh
Rails
Rails
AngularJS
AngularJS
.NET
.NET
Node.js
Node.js
React
React
GitHub
GitHub
Trello
Trello
Zapier
Zapier
Mailchimp
Mailchimp
Google Drive
Google Drive
Vue.js
Vue.js
HTML5
HTML5

When starting a new company and building a new product w/ limited engineering we chose to optimize for expertise and rapid development, landing on Rails API, w/ AngularJS on the front.

The reality is that we're building a CRUD app, so we considered going w/ vanilla Rails MVC to optimize velocity early on (it may not be sexy, but it gets the job done). Instead, we opted to split the codebase to allow for a richer front-end experience, focus on skill specificity when hiring, and give us the flexibility to be consumed by multiple clients in the future.

We also considered .NET core or Node.js for the API layer, and React on the front-end, but our experiences dealing with mature Node APIs and the rapid-fire changes that comes with state management in React-land put us off, given our level of experience with those tools.

We're using GitHub and Trello to track issues and projects, and a plethora of other tools to help the operational team, like Zapier, MailChimp, Google Drive with some basic Vue.js & HTML5 apps for smaller internal-facing web projects.

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
Adam Rabinovitch
Adam Rabinovitch
Global Technical Recruiting Lead & Engineering Evangelist at Beamery | 4 upvotes 53.5K views
atBeameryBeamery
AngularJS
AngularJS
React
React
Angular 2
Angular 2
Vue.js
Vue.js
Aurelia
Aurelia
Polymer
Polymer
#Hiring

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鈥檛 scale nicely. Features clash with each other. Isolation doesn鈥檛 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.

See more
React
React
Redux
Redux
AngularJS
AngularJS
React Native
React Native
redux-saga
redux-saga
Apache Cordova
Apache Cordova
#JavascriptMvcFrameworks

We had contemplated a long time which #JavascriptMvcFrameworks to use, React and React Native vs AngularJS and Apache Cordova in both web and mobile. Eventually we chose react over angular since it was quicker to learn, less code for simple apps and quicker integration of third party javascript modules. for the full MVC we added Redux.js for state management and redux-saga for async calls and logic. since we also have mobile app along with the web, we can shere logic and model between web and mobile.

See more
Gianluca Bargelli
Gianluca Bargelli
React
React
AngularJS
AngularJS
Redux
Redux
MobX
MobX

We started rebuilding our dashboard components using React from AngularJS over 3 years ago and, in order to have predictable client-side state management we introduced Redux.js inside our stack because of the popularity it gained inside the JavaScript community; that said, the number of lines of codes needed to implement even the simplest form was unnecessarily high, from a simple form to a more complex component like our team management page.

By switching our state management to MobX we removed approximately 40% of our boilerplate code and simplified our front-end development flow, which in the ends allowed us to focus more into product features rather than architectural choices.

See more
AngularJS
AngularJS
React
React
.NET Core
.NET Core
TypeScript
TypeScript

I use TypeScript because it's adoption by many developers, it's supported by many companies, and it's growth. AngularJS, React, @ASP.NET Core. I started using it in .NET Core, then for a job. Later I added more Angular experience and wrote more React software. It makes your code easier to understand and read... which means it makes other people's code easier to understand and read.

See more
Rafael Santos
Rafael Santos
CTO at Decision6 | 11 upvotes 18.9K views
atDecision6Decision6
AngularJS
AngularJS
React
React
Vue.js
Vue.js

Back in 2015, my company had a back-office dashboard that was originally built in AngularJS 1. Since Angular 2 presented drastic changes we decided to rethink the options and we looked at React and Vue.js. Besides, at the time, Vue had basically only one developer, its structure (100% oriented to components) and also its backward compatibility focus (Angular 1 to 2 no more) we preferred it against React cause it seemed more straightforward, clean and with a small learning curve. Now 4-5 years later we are very happy with our choice.

See more
Interest over time
Reviews of AngularJS and Electron
No reviews found
How developers use AngularJS and Electron
Avatar of shridhardalavi
shridhardalavi uses AngularJSAngularJS

AngularJS is a structural framework for dynamic web apps. With AngularJS, designers can use HTML as the template language and it allows for the extension of HTML's syntax to convey the application's components effortlessly. Angular makes much of the code you would otherwise have to write completely redundant. We can use Angular to build any kind of app, taking advantage of features like: Two-way binding, templating, RESTful api handling, modularization, AJAX handling, dependency injection, etc

Avatar of Chris Saylor
Chris Saylor uses ElectronElectron

Our application began as an HTML5 browser game, however we decided to leverage certain native parts of desktop applications by wrapping our client code into Electron. This also allowed us to not have to worry about compatibility across all the various browsers.

Avatar of Kalibrr
Kalibrr uses AngularJSAngularJS

All of our frontend code is on AngularJS. Directives, controllers, and services really help in organizing code in order to keep things maintainable, and two-way binding makes data input easy. The large ecosystem of modules for directives is fantastic, too.

Avatar of Nikola Novakovic
Nikola Novakovic uses AngularJSAngularJS

When ever I need heavy user client side apps this is my tool of choice. There are a ton of JS frameworks out there, picked this one because of philosophy they are trying to put out there and great community. Two way data binding FTW!

Avatar of Yaakov Gesher
Yaakov Gesher uses AngularJSAngularJS

The front end was built on an Angular template supplied by the client. We leveraged Angular's flexibility and speed to delivered complex matrices of data quickly and with great finesse.

Avatar of HyVive
HyVive uses