I know some java and some very basic Spring WebMVC.
I would like advises regarding which front-end technologies to learn.
I have found out that there are basically 2 basic types of front-end libraries/frameworks. A) Server-Side Rendering B) Client-Side Rendering.
Which ones should i choose from for each of the previously mentioned types. (Will they work together?, what should i consider?)
Better performance, debug-ability and tooling are preferred.
Mark Spencers wrote:It seems to me that in all server-side technologies html pages are created on server.
Yup. That's why they're called "server-side".
I think if you need complex front-end you have to use jsf primefaces or google gwt.
I'd disagree here. Server-side rendering is getting long in the tooth, and JSF (in my opinion) just adds complexity that's not really needed. GWT is hopelessly old-fashioned, and I wouldn't use it for any new projects.
If you really want to be on the cutting edge, create RESTful APIs on the server, and use client-side frameworks such as Angular or React.