Hello Devs and Community!
The SUI team has been doing a lot of discussion both internally and externally regarding the Angular (v4) transition. For the SUI team, this will represent a significant re-write of things; and so we have questioned the continued use of Angular for the SUI. After some careful discussion and getting a lot of feedback, the consensus of the SUI team is to rework the SUI to use VueJS, instead of Angular (v4)…and adding Redux for state management.
There are a lot of reasons for this, but some of the bigger points are:
VueJS is a robust, yet simple framework. The learning curve is minimal (you just need to know HTML5 and ES5). Additionally, this makes debugging very easy, and onboarding new engineers (of any level) fast and thus get them more productive faster). As an added bonus, many built in Vue components have been modeled after Angular 1.x core components which makes it even easier for Angular developers to be able to develop in Vue
Flexibility. Without additional tooling, developers can use pre-processors such as Pug (formerly known as Jade) to author Vue templates, sass, or less in addition to the standard CSS. JSX or render functions for logical or presentational templates and many other easily configured . Vue has out of the box developer workflows utilizing webpack that makes blending these preprocessors and project build/deploying a very trivial task.
Time to market
Since VueJS is not as a heavily opinionated framework solution, we have the ability to tailor usage of only the best practices that meet our specific needs and don’t lock us into lots of unnecessary code overhead to accomplish simple tasks. This in turns makes it quicker to turn out higher quality, readable, and testable code. Some of our other popular alternative frameworks are monoliths that enforce opinions on app design as a one size fit all solution.
There are lots of other reason, and really they can be summed up here:
We would very much like any feedback from the community at large on this. Out team has looked extensively at this, and fully believes that this will increase productivity and code reusability long team.
[Update 7/18/2017]: Just to be clear this is very much still an open discussion. While the team believes that VueJS is the way to go, please consider this post a “this is what we are thinking” and NOT a “this is what we have decided”