Blog > Frontend Development

Everybody was thinking about user interfaces when we say frontend development before. Actually it is true but it’s not like before nowadays.

Nowadays making interactive user interfaces is much easier than 20 years ago. After all huge updates to Css and javascript made frontend development much bigger than it was. Today I’ll start to explain how frontend technologies before and how it is going now. After that I’ll compare two big framework Angular and React with pros and cons.

How Did it start?

History of HTML, CSS and JavaScript is very deep and you can write several books with the history of them. When the time JavaScript was not powerful as much as now, CSS was main problem when it comes to build frontend of project. It had a problem of compatibility with all browsers. Because of this problem several solutions came to table. You may wonder why I am talking about CSS eventhough topic of this article is Angular and React comparison. Main point I am trying to tell is every feature comes from an issue. 

When CSS start to evoluate. Developers had problem with weirdness and some unpredictable behavior of Javascript. When this problems causes more and more issue the light shown itself ‘JQuery’. Back then Jquery solved significant of problems of developers. It became standart of the industry. Date was August 2006 when JQuery realesed. It helped developers write JavaScript code without the worry of browser compatibility. Also It has tons of useful functions to make developers life easier. It became more and more powerful when AJAX support came to it.

After this important steps of evolution. Package management systems born. First one was Bower created by Twitter. After that in 2014 NPM came to the industry and now it’s the biggest one. Main goal of this systems to create a central repository for frontend packages.

After all those important updates. Devolopers suffer from another promlem JQuery can not solve. It was sharing data across to different views. When requirements getting more and more complex, Jquery was not enough to handle sharing data. Because of those reasons new frameworks born such as Backbone, Knockout, and Ember. All those frameworks give good solutions to community but after AngularJS came to industry everybody loves it. AngularJS helped developers solve a lot of the problems they were facing building web projects. However, as the complexity of an AngularJS project increased, web developers began experiencing frustrations with the framework. Then React released and it solves problems AngularJs has. After Google company who is behind AngularJs decided to rewrite Angular from scratch and competition between frontend framework started.

This is the quick brief of evolution of frontend. Of course there are too many details on those topics. The rest of the article will continue with a comparison of ‘Angular’ and ‘React’. It will contain brief information about both framework/library.

Angular

  • Angular is framework realesed by Google. 
  • Angular offers complete solutions such as Routing, HTTP operations. 
  • Angular has strict flow that forces you to follow. Of couse you can change it the way you are writing code but it offers a order.
  • Angular uses typescript which is helpful to see errors while you are coding. It also guides you through writing code.
  • Angular has two-way data binding. 
  • Angular has huge community.
  • Angular has long learning curve. It could be cumbersome for new programmers.
  • Angular has builtin Material Design toolset.
  • Angular has dependency injection feature.
  • Angular uses Real DOM with change detection.

React

  • React is library realesed by Facebook.
  • It handles anly ui developent for Routing and HTTP operations you need to use another libraries. Which does not mean it is bad.
  • React has several approach for flow but you are free to use what you want.
  • React uses Javascript by default but it has typescript support.
  • React uses flux pattern when it comes data binding. It’s one one data binding.
  • React also has huge community support.
  • React has really short learning curve. It is easy to learn and start.
  • For design toolset you need to use 3rd party libraries such as Bootstart, Bulma, Tailwind etc.
  • React does not have dependency injection.
  • React uses Virtual DOM.

Tags