“We have a bunch of existing enterprise Flex web apps.
Below are his questions and my answers.
1) Do you see Flex -> Angular 1 transition as smart pragmatic move, or would recommend to wait till Angular 2 comes out?
Comparing Flex and Angular is not apples to apples. Besides being an architectural framework it included a number of rich and extendable UI components, which Angular doesn’t have. Angular will definitely help you in creating a Web application taking care of the navigation between the views, binding the data to the UI, and injecting services into your components. But this is pretty much it. It doesn’t have its own component that are often needed by the enterprise developers. This is one of the reasons why we started using Google’s Polymer for GUI components.
2) Does A2 has definite advantages over A1? Is it easier and has better tooling?
Yes, it’s easier to learn as Angular architecture is simplified greatly. A2 is component based. No need to worry about different scopes. Any service is a class. No need to create controllers in a special way: a class is a controller. Dependency Injection is easier to use – only constructor injection is allowed. The GUI for the component is specified in a class annotation and can be stored in a separate file. A2 rendering is separated from the rest of the framework code, so it’ll be possible to render not only HTML, but the native UI as well (this feature is experimental for now).
As to tooling, we’re pretty happy with a combination of TypeScript, JSPM, and SystemJS. The entire app can be easily modularized. SystemJS loads modules of different formats (ES6, CommonJS, AMD). JSPM is a package manager that works with SystemJS well.
3) When will A2 be released? Is it worth waiting for?
Currently A2 is in the 35th build of Alpha. There is no official release dates, but I believe that A2 will go in Beta in October-November of this year. You can (and should) start developing in A2 today as long as the app doesn’t have to go in production this year. The API of this framework is still being changed so you may run into bugs here and there. But I’d recommend starting new projects in Angular 2.
4) Do you expect to have an easy upgrade from A1 to A2?
It may not be easy, but shouldn’t be overly complicated either. If you have resources you can upgrade existing apps to A2, but it’s not a must. You may live with two version of the app for some time.
5) When will you give an A2 class? When will your A2 book come out?
We were planning to run the A2 class online starting form the end of September, but since both my colleague/instructor/co-author and I have a day job plus a book project in the evenings, we decided to postpone the training till January.
Our book “Learning Angular 2” will be available as a part of Manning MEAP program in September. You’ll be able to buy it and get access to the drafts as we write them. So far we’ve written about 130 pages.
Finally, there is a light at the end of the tunnel, namely Google’s Polymer. This library comes with a set of prefabricated UI components, but what’s more important, you can create your own Web components based on it.
Being very pragmatic and careful, we’ve decided to see how difficult would be to re-create a Flex component in Polymer. Eight years ago we’ve created a combobox in Flex that could take an external data collection as a model and render its data as a grid when the user clicks on it. We gave this combobox to one of our developers, and he re-created it in Polymer relatively easily. Another developer started to work on a pilot project with Polymer and we also see good results. What we don’t like in Polymer is the fact that it doesn’t support module loading. You have to use HTML imports. Anyway, our recommended set of languages/frameworks is TypeScript, Polymer, and Angular 2.