WFF

wffweb - Java framework to develop web applications

View sample projects on GitHub

Web Firm Framework is an open source java framework powered by Apache. It may be used to build complicated web applications. The advantage of using this framework is its ability to generate html and css dynamically. In version-1.x.x, it provides features to generate html & css dynamically and some other sophisticated features for ui development. It also provides some inbuilt support for optimized html/css output. It supports html5 and css3 for the ui generation. We don’t have to keep any separate html/css files, instead we are keeping java files for ui (for html/css generation). A simple rest api or even servlet support is enough to create web applications with this framework. The performance rate will be very high with applications developed by this framework.

Since wffweb-2.x.x, it provides inbuilt support for client server bi-directional communication and many more. Check out Developers Guide for more info.

Whom is this framework for?

Developers who want to be a designer to develop very complex ui. Say for example, an online spreadsheet where each cell has many functionalities and each of the functionalities needs to be handled by independent/group of developers.

What are the advantages of this framework over other ui frameworks?

In other ui development frameworks, the developer may face some helpless situations to satisfy some ui features because of their limited control to the developer, in this framework the developer has full control over html & css generation. In other frameworks, the html to java data structure will be different so the developer has to keep different logic in the code, but here it is same so the developer is able to make a one to one mapping with html to java with less modifications. An html to java conversion tool is also provided in the webfirmframework website. In some complex ui development cases, we may have to keep a dedicated designer to develop the design html/css and the designer may be unaware of Java, in such cases we can convert these designed html/css to the corresponding wff java code. The designer will be able to understand the output html/css even if he/she doesn’t know the java because of the webfirm java code structure. It supports css3 and html5 and also a way to use custom css/html tags so that you will not have to wait for a new release to use new html tag or css.

The memory consumed by this framework is very low so you can build complete web application alone with this framework which can be run on any low cost low memory servers. If you are using client-server communication feature of wffweb-2.x.x, then you have to use server which supports websocket.

How reliable it is

We ourselves use wffweb-2.x.x for all of our internal projects that makes us to bring new ideas or improvements it requires. As per our analytics, wffweb is used by around 300 new projects every month.

Sample code :-
Html html = new Html(null) {{
	new Head(this);
	new Body(this) {{
		new NoTag(this, "Hello World");
	}};
}};

// prepends the doc type <!DOCTYPE html>
html.setPrependDocType(true);
System.out.println(html.toHtmlString()); 
alternatively
Html html = new Html(null);
new Head(html);
Body body = new Body(html);
new NoTag(body, "Hello World");

// prepends the doc type <!DOCTYPE html>
html.setPrependDocType(true);
System.out.println(html.toHtmlString()); 

prints the following output

<!DOCTYPE html>
<html>
<head>
</head>
<body>
Hello World
</body>
</html>
How to resolve dependency in different build tools

Check out how

Refer Developers Guide for more details

A demo app is deployed at https://wffweb.herokuapp.com