1. Fast flexible development
2. Established libraries
3. The shift to the Front end.
4. The single page app
There has also been a trend to have native app like experiences on the web, which means that you have a view that doesn’t change except through asynchronous calls to the services side. Views update in real-time and don’t require page refreshes like it did in the past.
6. Github, NPM Grunt and other share / automation tools