A closer Look at Angular

565-angular.jpg

 

Angular.JS is an open-source web application framework introduced by Google that helps build one-page applications. This is a new framework introduced in 2009 but since that time Angular went through several updates and attracted attention of the IT society.

Today, we would like to take a closer look at Angular and discuss this technology with Ruben Movsesyan  our own Senior PHP & WordPress Developer, who successfully uses Angular JS and teaches a course for Svitla’s and freelance developers.

Greetings, Ruben!

So what is so cool about Angular.JS? What code difficulties can it help resolve?

Angular is a framework built by Google to build extendable and stable Single page applications. It introduces a set of innovative features, like 2way binding and html templating, and it teaches us to think in a component-based manner while developing our applications. Its modular nature allows us to abstract logic and build complicated structures as well as manage dev process.

What is the threshold to start working with Angular?

I would say you need to know JavaScript at least 3 from 5; you need to understand the oop in JS. A good bonus would be a lack of knowledge in jQuery. That’s right - a lack of! The point is that jQuery works in a different way with the dom, which makes it harder to understand Angular.

What type of web applications can be built with it?

Currently, we can build full-stack web applications and with the help of additional tools, we can build mobile applications as well.

What major advantages do you see in Angular compared to other JavaScript frameworks?

First for all, it is maintained and developed by Google, which is a big pro for the framework. I know that it won't be abandoned, and I know that its quality is under the hood of real pros. The next thing is again its modular nature, which allows us to build independent modules and use them in different applications. Now having said that, you need to know that Angular’s community has the biggest amount of modules and libraries compared to any other framework. That means that you will be mostly adding just modules instead of writing something on you own, which, of course, is a big plus.

Web Solutions

When can we expect the major drift into coding in version 2?

Well, the drift is already possible in Angular 1.5, you already can code in a 2.0 manner. But when you should start to work with Angular 2.0 I can’t say, as it is up to you. One thing you should keep in mind is that 2.0 is written in TypeScript, and it’s good for big enterprise projects, so that’s what you might want to use it for.

Let’s talk about Automatisation, gulp, bower, npm - are they somehow used in Angular?

Sure! Those are some of the best tools I personally use when developing Angular apps. All of them are great tools and are widely used in Angular, for example, for installing some vendor angular modules or compiling preprocessors like sass or even typed supersets of JS like TypeScript or coffee script. You even can use gulp, for example, to inject your controllers automatically and don’t worry about the inclusion of them in index file. I also love yeoman, a cool tool which speeds up setup, here the link http://yeoman.io/

What would you say about Angular productivity? Does it suitable only for small applications?

It can be used for huge enterprise solutions due to its modular nature and abstraction.

Does Angular support test-writing?

Yes, they even have in their doc test examples for each directive or service or whatever they are documenting.

We know that you are teaching an AngularJS course; can you tell a bit about it?

That’s true, I started an open source course for AngularJS beginners, that means that it’s a free course and its materials are available to everyone https://github.com/rubenCodeforges/AngularCourse although it’s still in development.

Can you please tell us about some of your recent projects built in Angular? What tasks did you have to complete, and were there any difficulties to overcome?

The latest project was a LinkedIn clone with the whole front-end built on top of Angular in Coffee script. We had a lot of different tasks and challenges that needed to be addressed - the UI was very dynamic and complex, we had some performance issues due to hacks in Angular made by previous developers, the code was a spaghetti, so the first thing we did was refactoring. After that, the performance increased 300%, which is a huge increase, and the client was very satisfied with that.

Can you recommend a “Must read” list for an Angular developer?

Well, I usually use the MDN website as a cheat sheet as you obviously can’t remember everything. And, of course, the official documentation of Angular. Also, you can read about web components a bit, so that you understand the concept https://www.webcomponents.org/

Thank you very much for this informative conversation and good luck with your teaching course!