The Rise of Front-End Technology

There is no doubt that the development of client-side technologies has been very active in recent years. It covers various aspects including web specifications like Web Components; CSS frameworks like Bootstrap; Javascript frameworks like AngularJS; and even development tools like Grunt. There are countless examples. In essence, these technologies raise the visual expectations of end-users and bring forward the richness of web applications in both function and design.

 

The Challenge

Due to this phenomenon, user expectations have significantly grown. We no longer evaluate a web application based on its practicality alone, but we also consider its appearance, responsiveness, animations, and overall experience. As a result, web developers are now starting to rely on front-end technologies more than ever before.

On the other hand, we cannot overlook the crucial role played by the back-end. For example, while there are many impressive Javascript libraries, Javascript code is hard to maintain once it becomes a large application. Moreover, for Enterprise applications, most of the resources are on the server-side, which means the front-end still needs a way to communicate with the server-side. As for security concerns, business logic should be protected at the back-end, as it is considerably more secure than loading sensitive data to the client for processing.

Unfortunately, most technologies fulfill only half of the requirement, meaning they are designed specifically for one side; either the client-side like AngularJS or Bootstrap for delivering a fancy look & feel, or the server-side like the JSF, which focuses primarily on data integration. Either way, you would have to deal with one side completely on your own, as well as the communication between the two sides by yourself. Consequently, in the attempt to minimize losses, developers face a difficult decision in choosing which side.

 

Combine Existing Rich Front-End Technology with Server-Side

ZK 8 is created to present developers with an ideal solution: combine the strengths of both sides. It aims to leverage the advancing client-side power with client-side command binding and template injection while still allowing  you to enjoy the  equally important server-side integration and security. In short, with ZK 8 you can stay true to your Java roots, but also effortlessly keep up with the ever-evolving world of front-end technologies.

Template injection is done by the introduction of shadow components - a pure server-side reusing mechanism. The shadow components can easily turn HTML pages created by a web designer into a dynamic web page with data binding. Using shadow components is similar to using standard ZK UI components through MVVM approach. By manipulating the shadow components, developers can inject different HTML templates based on the given condition.

Furthermore, with client-side command binding, a Javascript widget can seamlessly communicate with your server-side Java code, as well as extract data from the server. This feature makes it extremely easy to integrate any existing Javascript widgets or libraries in the most beloved Java way.

 

ZK 8 allows you to reuse the HTML design created by a web designer and any of the hottest Javascript libraries, and control them in pure Java; saving you time, boosting your productivity and WOWing your customers. You no longer need to choose between server-side and client-side; you deserve to enjoy both.

 

Examples