“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 is 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).
3) When will A2 be released? Is it worth waiting for?
Currently, A2 is in its 35th build of Alpha. There are 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 into 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 from 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 until January.
Our book “Angular 2 Development with TypeScript” 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.
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. At the time of this writing, our recommended set of languages/frameworks is TypeScript, Polymer, and Angular 2.
2 thoughts on “From Flex to Angular and Polymer”
Yakov, I would like to know what are your thoughts about the future of C++. Some say that frameworks like Java and .NET make it obsolete, but others say that its unparalleled efficiency make a great choice for data centers and mobile devices.
C++ remains a #3 language: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Java is more productive in development and offer more than adequate performance in 99% of the apps.
C++ has a smaller market, but it’s not going away any time soon. It’s one of many tools in the toolbox of a modern software developer. The question is if you want to use a mainstream software or one that elite programmers use.