2017 has been a turbulent year in the Java world. The long-awaited release of Java 9 brought a lot of changes and interesting new features, and Oracle declared a new release schedule for the JDK. And that was just the beginning. Previously, developers often complained that Java wasn’t developing fast enough. I don’t think you will hear these complaints in the near future. It might be quite the opposite.
In a perfect world, full-stack developers are developers that can—in theory—create a usable end product with minimal input or support. It seems simple enough, not everyone agrees on what makes a “full-stack developer.” Some don’t think the term should be used. Some adamantly defend the need for it. Some don’t even believe full-stack developers exist!
If you’ve been programming with AngularJS (first generation of the framework) you probably got used to produce HTML strings on the fly, running them through compile service and linking to a data model (scope) to get two-way data binding. In AngularJS a directive can modify DOM in any way possible and the framework has no clue what the modifications will be.