Get Advice Icon

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

AngularJS
AngularJS

18.8K
11.4K
+ 1
5.2K
Scala
Scala

3K
2.1K
+ 1
1.4K
Add tool

AngularJS vs Scala: What are the differences?

AngularJS: 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’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding; Scala: A pure-bred object-oriented language that runs on the JVM. Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.

AngularJS and Scala are primarily classified as "Javascript MVC Frameworks" and "Languages" tools respectively.

"Quick to develop", "Great mvc" and "Powerful" are the key factors why developers consider AngularJS; whereas "Static typing", "Jvm" and "Pattern-matching" are the primary reasons why Scala is favored.

AngularJS and Scala are both open source tools. It seems that AngularJS with 59.6K GitHub stars and 28.9K forks on GitHub has more adoption than Scala with 11.8K GitHub stars and 2.75K GitHub forks.

Google, Lyft, and Udemy are some of the popular companies that use AngularJS, whereas Scala is used by Twitter, Coursera, and 9GAG. AngularJS has a broader approval, being mentioned in 2799 company stacks & 1864 developers stacks; compared to Scala, which is listed in 437 company stacks and 324 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’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.

What is Scala?

Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Get Advice Icon

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

Why do developers choose AngularJS?
Why do developers choose Scala?

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

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

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

What tools integrate with AngularJS?
What tools integrate with Scala?

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

What are some alternatives to AngularJS and Scala?
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
Angular 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 Scala
Jake Stein
Jake Stein
CEO at Stitch · | 15 upvotes · 59.4K views
atStitchStitch
ES6
ES6
JavaScript
JavaScript
CoffeeScript
CoffeeScript
React
React
AngularJS
AngularJS

Stitch’s 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 · 115K views
atLoanlink GmbhLoanlink Gmbh
HTML5
HTML5
Vue.js
Vue.js
Google Drive
Google Drive
Mailchimp
Mailchimp
Zapier
Zapier
Trello
Trello
GitHub
GitHub
React
React
Node.js
Node.js
.NET
.NET
AngularJS
AngularJS
Rails
Rails

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
Marc Bollinger
Marc Bollinger
Infra & Data Eng Manager at Lumosity · | 4 upvotes · 37.4K views
atLumosityLumosity
Pulsar
Pulsar
Redis
Redis
Heron
Heron
Apache Storm
Apache Storm
Scala
Scala
Kafka
Kafka
Ruby
Ruby
Node.js
Node.js

Lumosity is home to the world's largest cognitive training database, a responsibility we take seriously. For most of the company's history, our analysis of user behavior and training data has been powered by an event stream--first a simple Node.js pub/sub app, then a heavyweight Ruby app with stronger durability. Both supported decent throughput and latency, but they lacked some major features supported by existing open-source alternatives: replaying existing messages (also lacking in most message queue-based solutions), scaling out many different readers for the same stream, the ability to leverage existing solutions for reading and writing, and possibly most importantly: the ability to hire someone externally who already had expertise.

We ultimately migrated to Kafka in early- to mid-2016, citing both industry trends in companies we'd talked to with similar durability and throughput needs, the extremely strong documentation and community. We pored over Kyle Kingsbury's Jepsen post (https://aphyr.com/posts/293-jepsen-Kafka), as well as Jay Kreps' follow-up (http://blog.empathybox.com/post/62279088548/a-few-notes-on-kafka-and-jepsen), talked at length with Confluent folks and community members, and still wound up running parallel systems for quite a long time, but ultimately, we've been very, very happy. Understanding the internals and proper levers takes some commitment, but it's taken very little maintenance once configured. Since then, the Confluent Platform community has grown and grown; we've gone from doing most development using custom Scala consumers and producers to being 60/40 Kafka Streams/Connects.

We originally looked into Storm / Heron , and we'd moved on from Redis pub/sub. Heron looks great, but we already had a programming model across services that was more akin to consuming a message consumers than required a topology of bolts, etc. Heron also had just come out while we were starting to migrate things, and the community momentum and direction of Kafka felt more substantial than the older Storm. If we were to start the process over again today, we might check out Pulsar , although the ecosystem is much younger.

To find out more, read our 2017 engineering blog post about the migration!

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

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 · | 3 upvotes · 20.1K views
atBeameryBeamery
Polymer
Polymer
Aurelia
Aurelia
Vue.js
Vue.js
Angular 2
Angular 2
React
React
AngularJS
AngularJS
#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’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.

See more
Apache Cordova
Apache Cordova
redux-saga
redux-saga
React Native
React Native
AngularJS
AngularJS
Redux
Redux
React
React
#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
MobX
MobX
Redux
Redux
AngularJS
AngularJS
React
React

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
Alex A
Alex A
Founder at PRIZ Guru · | 3 upvotes · 31.5K views
atPRIZ GuruPRIZ Guru
Gradle
Gradle
Groovy
Groovy
Scala
Scala
Play
Play
Grails
Grails

Some may wonder why did we choose Grails ? Really good question :) We spent quite some time to evaluate what framework to go with and the battle was between Play Scala and Grails ( Groovy ). We have enough experience with both and, to be honest, I absolutely in love with Scala; however, the tipping point for us was the potential speed of development. Grails allows much faster development pace than Play , and as of right now this is the most important parameter. We might convert later though. Also, worth mentioning, by default Grails comes with Gradle as a build tool, so why change?

See more
Vadim Bakaev
Vadim Bakaev
Scala
Scala
Haskell
Haskell

Why I am using Haskell in my free time?

I have 3 reasons for it. I am looking for:

Fun.

Improve functional programming skill.

Improve problem-solving skill.

Laziness and mathematical abstractions behind Haskell makes it a wonderful language.

It is Pure functional, it helps me to write better Scala code.

Highly expressive language gives elegant ways to solve coding puzzle.

See more
.NET Core
.NET Core
React
React
AngularJS
AngularJS
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 · 10.6K views
atDecision6Decision6
Vue.js
Vue.js
React
React
AngularJS
AngularJS

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 Scala
No reviews found
How developers use AngularJS and Scala
Avatar of datapile
datapile uses ScalaScala

Scala is the God of languages. A legend. The Mount Rushmore of hybrid OO/functional languages is Scala's face four times over.

Ok, honestly, we love Scala. We love(d) Java (and it's parents C and C++), and we love(d) all the languages that borrowed cough stole cough from Java over the years such as Groovy, Clojure, and C#.

It may not be perfect (it totally is, but since programming languages don't have egos of their own, we don't want to paint it too bright), but it is awesome. It runs on the JVM, you can utilize Spring, it works great for data processing (which is sorta kinda the thing we do here, folks), and it just makes sense at all levels.

If you don't like Scala, we feel sorry for the projects that are suffering due to your choices, meanwhile we are using Scala to write everything from JavaScript, CSS, SQL, and JSON directly within itself (go figure), so in the end no one will know the beauty of this powerhouse language (except for our engineers, of course).

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 Foursquare
Foursquare uses ScalaScala

Nearly our entire server codebase is written in Scala (if you haven't heard of it, it's a programming language that is basically what you would get if Java + ML had a baby). This has worked out super well. It enables us to write concise easy to deal with code that is typechecked at compile time. It's also been a big help with recruiting.

Avatar of papaver
papaver uses ScalaScala

worked with scala for around 2 years. really enjoyed the language and getting back into the world of functional. unfortunately the community is heavily fragmented and the language itself broken and inconsistent. that with the various factions involved made it a put of for long term investment.

Avatar of Stanislaus Madueke
Stanislaus Madueke uses ScalaScala

Scala, Akka and Spray (which became Akka-Http) provided the building blocks for the menu service.
Akka's actors and finite-state machine were a natural way to model a USSD menu (a series of stateful interactions between a subscriber and the USSD gateway).

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 Giovanni Candido da Silva
Giovanni Candido da Silva uses ScalaScala

Replaces entirely the Java Language to build a much more expressive and powerful code on the backend, while leveraging at the same time the Java Platform Tools and Frameworks, is a mixture of old and mature with new and sexy.

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 InJoin
InJoin uses AngularJSAngularJS

We use Angular.js to build our front-end framework known as Frontkit, so our apps can get started faster with reliable, interactive components.

How much does AngularJS cost?
How much does Scala cost?
Pricing unavailable
Pricing unavailable