Angular version 6: Favorite feature(s), first impression and more

Angular version 6 is finally here; it brings a lot of interesting features and it’s the first release of Angular that unifies the Framework, Material and CLI. But enough about that! We talked with Minko Gechev, co-founder & CTO at Rhyme.com about his favorite feature of Angular version 6, his first impression of the new release and more.

Pop the champagne, Angular version 6 is here! We were expecting it a bit earlier but it’s all water under the bridge now.

We’re even more excited since this is the first release that unifies the Framework, Material and CLI. If you want to read more about the highlights and the new CLI-powered update workflow for your projects, check out the v6 release announcement. Keep in mind that Angular v6 focuses more on the toolchain (and how to make it easier to move quickly with Angular) and less on the underlying framework.

We talked with Minko Gechev, co-founder & CTO at Rhyme.com about his favorite feature of Angular version 6, his first impression of the new release and more.

Angular version 6: First contact

JAXenter: Describe your favorite feature of Angular version 6.

Minko Gechev: My top feature of Angular version 6 is Angular Elements. It allows us to develop Web Components with Angular. This has two consequences:

Thanks to Angular we will have a less verbose API for development of Web Components.

We get simplified incremental migration to Angular or adoption of the framework.

Currently, the second point is a bit painful. The general practice is to either go full in with Angular or not use the framework at all. Hybrid strategies where an application uses Angular for only a few widgets on a page aren’t quite convenient. Angular Elements will open this door for us.

I also like Ivy (not released yet), a new renderer with a minimalistic and simplified instruction set. A few months ago, the Angular team demonstrated how using it the size of a standard Angular “Hello, world!” application decreased by about 90% compared to version 5. Ivy will most likely be the default renderer used in version 7! I expect significant decrease of the bundle size of our applications once it gets enabled by default.

JAXenter: What’s your first impression of Angular version 6?

Minko Gechev: Angular version 6 is a new major release of Angular. This means that it steps on top of Angular version 5 and makes additional improvements.

Because Angular version 6 is an incremental improvement over version 5, it introduces a lot of bug fixes and performance improvements in the framework.

Minko Gechev: Of course. The new version of Angular brings a lot of improvements and the migration process requires only an update of the dependencies of the project.

JAXenter: Which version are you currently using and why?

With its mature ecosystem, Java is often an inspiration in the Angular world.

Minko Gechev: Latest. Angular follows semantic versioning. This means that the version of the framework is formed from the triple X.Y.Z., where X is called “major version”, Y is called “minor version”, and Z is called “patch version”. Each patch version introduces bug fixes without API changes. The minor release may introduce API changes but only in a backward compatible manner (i.e. new features, let’s say). The major release may contain incompatible API changes.

Each new release of Angular steps on top of the previous release and incrementally improves the framework, usually, keeping the API backward compatible. On top of that, the release process is predictable. Every 6 months developers may expect a major release of Angular and, potentially, few incompatible API changes.

Because the Angular team wants to make the migration process as smooth as possible, they are working on functionality which automatically migrates our applications to the newest version of the framework.

JAXenter: Angular Elements allows users to publish Angular components as Web Components that can be used anywhere. Would you give it a try?

Minko Gechev: Absolutely! Angular Elements introduce a very convenient API for development of Web Components. On top of that, in the process, we can reuse all the amazing features that Angular provides.

Minko Gechev: With its mature ecosystem, Java is often an inspiration in the Angular world. Angular’s dependency injection, for instance, is inspired by Guice. Angular recommends the usage of TypeScript which makes Java engineers feel comfortable using a statically typed language with rich IDE support.

JAXenter: What do you think about the documentation? Are you satisfied with it or do you think it’s incomplete?

Minko Gechev: I did a lot of contributions to the Angular core and wrote the book Switching to Angular before the documentation was out there. Because of this, I haven’t had the need to use it very often.

On conferences, I often hear a lot of good things about the documentation’s structure and format. Currently, the website with the documentation is a Progressive Web Application developed with Angular. It is a very good showcase of how the framework can be used for the development of a real-life application.

JAXenter: What challenges should Angular address in 2018?

Minko Gechev: Developers are always looking for smaller, faster, and simpler technologies. Angular did a lot of work in this direction. I believe there will be a lot of upcoming work on this path in the next a couple of months.

JAXenter: Do you think Angular is losing ground to Vue.js?

Minko Gechev: I truly believe the competition between Angular, Vue, React, and other technologies out there is very healthy. It brings a lot of innovation and improvements in the entire JavaScript ecosystem.

Gabriela Motroc is editor of JAXenter.com and JAX Magazine. Before working at Software & Support Media Group, she studied International Communication Management at the Hague University of Applied Sciences.