Front End Frameworks in 2018 A Blog Around The Current and Future State of Front End Frameworks like React.js and Angular.js
React has recently become more popular than Angular, while Vue is soon going to become more popular than React (as is already the case in China). These three frameworks are currently being used by well over 1 million websites each, which makes them pretty popular (and widely used by companies you probably have heard about).
I’m trying to figure out what front end frameworks to use in 2018. Here’s the state of things as I see them.
The state of Angular and React
Angular is a framework for building apps that run in the browser, on mobile devices, or on the desktop. It’s developed by Google, and is super popular right now. Everyone seems to be using it.
I used to think that Front End Frameworks were an overkill for most smaller projects. I was very comfortable with my own stack of jQuery, Handlebars, and Sass.
This worked well for many years. But when I started a new project around the end of 2017, I decided to give a Front End Framework another try. It was time to leave my comfort zone and explore the unknown.
I looked at React and Vue – two of the most promising contenders on the market. For me, there was no clear winner. Both had pros and cons. So I went with Vue because it seemed easier to get started with (no build step needed) and because my first impression was that its API is more elegant than React’s.
I did not regret my decision so far but also don’t think that I would have been significantly worse off with React as long as it has a decent state management solution (which it does).
A lot has happened in the front end world since React.js was launched in 2013. Some frameworks like Polymer and Knockout were barely mentioned when I wrote the first version of this article, but now it feels like they have been around forever.
The main conclusion that has changed is that there are now more than one great way to build web apps. If you want longevity and fast development speed, you can’t go wrong with React, Angular or Vue.
Let’s take a look at what we have. Below I’m going to compare each framework/lib based on size (gzip), performance (number of watchers), popularity (Google trends) and latest release date.
In the end I’m going to list some of the other frameworks that didn’t make it into the main comparison table, but are noteworthy nonetheless.
I’ve also included some notes under each framework with my personal opinion on them and why I’m not using them currently.
I have been building web applications for the last 9 years. We started with jQuery. A lot of things changed in the last 9 years. In the beginning, we didn’t have any frameworks to work with. Then AngularJS came along, and then ReactJS came along.
I started working on a project using AngularJS about 3 months ago, and I have come to the conclusion that AngularJS is not a very good framework for people who are just starting out on programming or web development. The reason I chose to use AngularJS was because I wanted my team members to be up to date with their knowledge of frontend frameworks, so that they can make informed decisions regarding which framework they should use in future projects/applications they work on.
The problem with learning new things is that you need to keep up with them, or else you will forget what you learned and how it works. This means that you need to keep practicing whatever you learned until it becomes second nature for you. You need to be able to
When people learn to program, they usually learn a specific language. It’s a little bit like learning German or Spanish. Just like natural languages, programming languages follow rules and have their own grammars, syntax and semantics.
One of the first programming languages I learnt was Java. I started to learn it in 2003/2004 as part of my Computer Science degree. However, at that time I had no idea what to do with it. After finishing my degree in 2007, I spent the next few years developing apps for feature phones using J2ME (Java 2 Micro Edition).
J2ME was very limited compared to the J2SE APIs I learnt at university. There wasn’t any Swing or AWT for UI development, there was no JDBC for database access and you couldn’t really do much with XML either. But one thing we did get was a very small subset of the Collections API! Looking back this seems crazy but we only had 128kb RAM on those devices so it made sense at the time!
At that time there were two main mobile operating systems: Symbian OS and Java’s Mobile Information Device Profile (MIDP). Android hadn’t been released yet and iOS wasn’t available on anything other than an iPhone. The majority