In the past decade, plenty of Java based web application frameworks are generated. Especially the MVC architecture and JSP tag libs (or other traditional template technologies) that has greatly released our productivity. But unfortunately, we are still suffering from the following situations:
The designers or front-end engineers are keeping complaining the mixed-in dynamic code, as they disturb their efforts of redesigning the page style or structure. And in the mean time, the back-end developers are also complaining that the front-end guys break the working page frequently, because redesign or the new design is hard to merge due to the huge cost of source refactorying.
The developers are complaining about the poor functionalities of template language which they are using and tired from the various magic skills for complex rendering logic.
The developers are discontented with the counterproductivity of traditional MVC architecture and desire a more efficient approach.
Asta4D is our solution to combat those issues. Thanks to lift, from where we learn a lot. We designed Asta4D complying with the following points:
Separate template and rendering logic
Asta4D affords front-end engineers a friendly environment by separating rendering logic from template files which are pure html files. At the mean time, back-end engineers can use the powerful Java language to implement the rendering logic without being suffering from the "poor and sometimes magic" template languages.
Testable rendering logic
All of the rendering logic in Asta4D is testable and developers can simply test them by writing simple junit cases, which could replace over than half of selenium tests
High security of being immune from cross-site(XSS/CSRF)
Asta4D is, by nature, immune from cross-site(XSS/CSRF) problems. You do not need to take care of cross-site any more. All the rendered value would be escaped by default and your clients have no chance to put malicious contents to your server.
View first
Asta4D also affords higher productivity than traditional MVC architecture by View First mechanism. And it is also easier to change than traditional MVC architecture.
Isolate side effect with request handler
Asta4D imports the conception of "side-effect" from functional programming languages and separating the "side-effect" by request handlers, which afford more flexibility on page rendering because the view layer is side-effect free now. Therefore Asta4D allows parallel page rendering in multiple threads as a built-in feature.
Advanced MVC
Asta4D affords developers a evolved MVC architecture which is more clarified for the duty of each application layer than the traditional MVC architecture.
The name of Asta4D is from our company's name: astamuse. We explain the "4D" as following ways:
For Designer
Asta4D consider the design friendliness as the most important factor of itself. We hope web designers can fulfil their maximum potential of creativity without squandering their time on the back-end technologies which they could never be adept at.
For developer
We hope Asta4D can help developers to achieve their work more easily. Developers would never be afflicted with complex rendering logic because they can use powerful Java language to do whatever they want since the rendering has been split from template files. View first also releases developers from the cumbersome MVC architecture, now they have more time to have a cup of coffee.
4 Dimension
We believe that Asta4D can act as a wormhole that connects the front-end and the back-end. We can move quicker by Asta4D just like we are going through the 4 dimensional space.