Microservices are becoming more and more popular and many are choosing to transition away from monolithic architecture. However, this approach was mostly limited to back-end services. While it made a lot of sense to split them into smaller independent pieces that can be accessed only through their APIs, same did not apply to front-end. Why is that? I think that the answer lies in technologies we're using. The way we are developing front-end is not designed to be split into smaller pieces.
There's a lot of discussion related to server vs client side application rendering. While there is no "one choice fits all" solution, I'll try to argue in favor of client side (specifically AngularJS) from different points of view. First of them is architecture.
In the previous article we developed the back-end solution for our books application. This article will continue where we stopped.
We'll develop a front-end solution that can be used with any back-end (Web, mobiles...). You can build on top of the back-end from the previous article (Java, Jersey, Grizzly...) or on top of any other as long as supported services are the same.
The goal of the application is to be able to administer books. In particular, we'll develop the front-end solution for that application that should be able to: