|
Open Source Web Frameworks in Java
The core of the Struts framework is a flexible control layer based on standard technologies like Java Servlets, JavaBeans, ResourceBundles, and XML, as well as various Jakarta Commons packages. Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm. |
Go To Struts
Turbine is a servlet based framework that allows experienced Java developers to quickly build secure web applications. Turbine is an excellent choice for developing applications that make use of a services-oriented architecture. Some of the functionality provided with Turbine includes a security management system, a scheduling service, XML-defined form validation server, and an XML-RPC service for web services. It is a simple task to create new services particular to your application. |
Go To Turbine
Tapestry is a powerful, open-source, all-Java framework for creating leading edge web applications in Java.
Tapestry reconceptualizes web application development in terms of objects, methods and properties instead of URLs and query parameters.
Tapestry is an alternative to scripting environments such as JavaServer Pages or Velocity. Tapestry goes far further, providing a complete framework for creating extremely dynamic applications with minimal amounts of coding. |
Go To Tapestry
WebWork is a web application framework for J2EE. It is based on a concept called \"Pull HMVC\" (Pull Hierarchical Model View Controller). |
Go To WebWork
Apache Cocoon is a web development framework built around the concepts of separation of concerns and component-based web development.
Cocoon implements these concepts around the notion of 'component pipelines', each component on the pipeline specializing on a particular operation. This makes it possible to use a Lego(tm)-like approach in building web solutions, hooking together components into pipelines without any required programming. |
Go To Cocoon
Spring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development |
Go To Spring
Maverick is a Model-View-Controller (aka \"Model 2\") framework for web publishing using Java and J2EE. It is a minimalist framework which focuses solely on MVC logic, allowing you to generate presentation using a variety of templating and transformation technologies. |
Go To Maverick
Echo is a framework for developing object-oriented, event-driven Web applications. Echo removes the developer from having to think in terms of \"page-based\" applications and enables him/her to develop applications using the conventional object-oriented and event-driven paradigm for user interface development. |
Go To Echo
SOFIA is the Salmon Open Framework for Internet Applications.
Conceptually, SOFIA is similar to other J2EE MVC open source frameworks, like Apache Struts. But SOFIA sets a new standard for Java development by delivering so much more in a framework matching best-of-breed tools integration with robust JSP class and tag libraries. SOFIA shortens application development time on the strength of its visual development capabilities and pre-built Java components that dramatically simplify coding. |
Go To SOFIA
The Verge Framework is an open source J2EE application framework written entirely in Java using only the standard J2EE APIs. This project aims to develop and promote a highly flexible and extensible framework for building enterprise applications. |
Go To Verge
Anvil is a Java based server environment and object oriented programming language with templating support, being especially well-suited to for web applications. |
Go To Anvil
Jaffa (Java Application Framework For All) is an enterprise-focused Java framework for rapid application development. It provides a complete Java Web application development stack, extending exsiting projects like Tomcat and Struts at the frontend with MVC-based web widgets, all the way through to a high-performance lightweight O/R persistence engine, with plenty of rich features in between including rules engines, declarative application, and data security. |
Go To Jaffa
Japple is a rapid application development environment for building web applications and services. Built on the JavaTM2 Platform and open-standards, Japple allows you to develop and deploy web applications faster, easier and more efficiently than traditional methods. |
Go To Japple
JPublish is a powerful web publishing system designed to ensure a clean separation of developer roles. JPublish includes support for multiple templating engines, including Jakarta Apache's Velocity, FreeMarker and WebMacro. JPublish supports numerous scripting languages including Python, BeanShell, and JavaScript. JPublish is modular and provides for easy extensibility. |
Go To JPublish
Jucas is a web-framework which brings together the pull MVC concept with component orientated design GUI programming. |
Go To Jucas
MyFaces is an implementation of JavaServer(tm) Faces (JSR 127), a new and upcoming web application framework that accomplishes the MVC paradigm. It is comparable to the well-known Struts Framework but has features and concepts that are beyond those of Struts. |
Go To MyFaces
WebOnSwing is a revolutionary multiple environment application framework that allows you to create web applications in the same way you develope a desktop one. You dont need to use JSP files, special tags, XML files, requests, posts, etc. Everything is Java and pure HTML files that comes directly from the graphic designer.
This framework constructs and handles html pages with Swing components, allowing to use MVC architecture and all the facilities provided by Swing in the web. |
Go To WebOnSwing
Chrysalis is a Java web development framework. It has a different focus from most Model-View-Controller (MVC) web frameworks. Chrysalis controllers resemble normal Java classes with multiple methods. Client request URLs are mapped to each controller method. |
Go To Chrysalis
VRaptor is a MVC web framework. It is highly based on the Inversion of Control principles, using constructor injection to decouple your components from your business logic classes. |
Go To VRaptor
Program your JPS & Servlets like you program your Swing components. Swinglets is a server side component library that uses an identical design to Swing. Swinglets has look and feels for HTML, Java Script and WML.
The Components, Models, Renderers, and LookAndFeels are very similar. It has Swing event handling too. In fact Swinglets actually uses the Swing models (e.g. TableModel). This means you can take your existing models and start working with Servlets straight away. It's just about as close to a standard as you can get without it actually coming from Sun themselves. |
Go To Swinglets
a nice alternative to struts like framework
you do not need to xrite a signle html line |
Go To Millstone
Wicket is a Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Wicket pages can be mocked up, previewed and later revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is all handled in Java code using a Swing-like component model backed by POJO data beans that can easily be persisted with Hibernate. |
Go To Wicket
Swingweb is an implementation of AWT toolkit that enables AWT/Swing application to be operating inside a web container and presented as a web application to the web browser, purely in HTML/CSS/javascript. There's no code conversion required for the swing application to run in the SwingWeb environment. Some of the features of SwingWeb include the following:
* Support web-environment with multiple concurrent application sessions
* Component-oriented architecture that allows developer to enable existing swing component to web environment easily
* Support common AWT/Swing components in java.awt.* and javax.swing.*
* Support all component layouts in jdk
* Highly configurable use of jxp template for component presentation |
Go To SwingWeb
Macaw is an object-publishing framework designed for local web applications. Freemarker is used for presentation, Jetty is used as the default web container, and there is a basic integration with Hibernate (but other persistence mechanisms can be used). The framework requires two layers over the top of \"business logic\" classes: a Java web layer where certain simple method and class naming conventions are used to facilitate easy mapping of data to and from HTML, and Freemarker page templates. A small number of Freemarker tags are defined to enable references to Macaw-based objects within the page templates. |
Go To Macaw
Barracuda is an open-source Presentation Framework designed to make it easier to build servlet based webapps by applying proven client-server patterns to the web development paradigm. It features a DOM based templating mechanism for better separation of code from content (default XMLC), a UI component model that provides a series of server side widgets (table, list, template, etc) that make it easy to manipulate DOM structures, and a strongly typed MVC interfaces just like in Swing. With support for multiple markup languages (HTML, WML, XML, etc). It has an event model that provides Model 2 style flow control and allows for true event driven programming on the server. You can add listeners to components and your server-side event handler code will automatically get notified when an action occurs on the client. |
Go To Barracuda
RIFE offers an alternative approach to web application development and design. It builds upon the Java platform, but offers all required tools and APIs to implement and perform all common website related tasks in a fast, intuitive and consistent manner.
RIFE has been designed for perfect separation of tasks during a development cycle. Every developer, dba and designer only has to focus on his own tasks. At any moment the work can be effortlessly integrated with the work of the rest of the team.
This results in a loosely coupled and very robust system. One can make incremental improvements with little or no risk of unwanted side-effects elsewhere in the system.
RIFE is composed out of a large collection of modular parts, which include:
* web application engine,
* integrated web continuations,
* customizable multi-format template engine (html, xml, sql, java, txt, ...)
* support for template content transforming through for example XSLT,
* authentication framework,
* database query builders,
* simple persistance layer,
* fault-tolerant JDBC wrappers and connection pooling,
* web-oriented database utilities,
* central data repository,
* cron-like scheduler,
* configuration framework.
The central part is the engine which formalizes all aspects of dynamic web development. It graciously solves all doubt, confusion and maintenance problems of HTTP's statelessness and liberal CGI interface. |
Go To RIFE
DWR is AJAX and XMLHttpRequest made easy. It makes it simple to call Java on the server directly from Javascript in the browser marshalling all the parameters and return values.
It gets rid of almost all the boiler plate code between the web browser and your Java code.
interaction diagram
DWR helps you in producing highly interactive web-sites by providing some Javascript libraries to help with DHTML and by giving you a set of examples to copy from. |
Go To DWR
JSPWidget is a JSP Framework that provides event-driven,view state retained,server-side GUI controls to make JSP development as intuitive as in traditional client forms or in client-based Web applications. |
Go To JSPWidget
JOSSO, or Java Open Single Sign-On, is an open source J2EE-based SSO infrastructure aimed to provide a solution for centralized platform neutral user authentication. |
Go To JOSSO
JAT is a flexible Java base-framework which can be easily extended to improve projects start-up time.
JAT allows to build Web applications (J2EE) or standalone application (server, batch, etc.).
JAT supplies the main basic functionalities of any Java application, such as:
* High Business Object abstraction
* Integration facilities (provided for DBMS, LDAP and open to any software product)
* Authentication and user privileges management
* MVC pattern implementation (with privileges management and page flow control)
* HTML layout structure management (header, footer, menu, etc.)
* HTML dynamic contents and facilities (form, report, paging)
* Logging feautures
* Help on-line utility
* High configuration of all described functionalities
* Administration and configuration GUI |
Go To JAT
XML / Java Framework to develop J2EE business applications rapidly and easily. It is based in business components defined with XML. Feature rich and flexible since is used for years to create real business applications. |
Go To OpenXava
Stripes is a Java web framework that makes web development as easy as it should be. It requires zero external configuration beyond the registration of one servlet and one filter. Stripes includes simple yet powerful solutions to common problems such as indexed properties, multi-event forms, localization and use of domain objects in the web tier. All of this in a compact framework with hardly any dependencies! |
Go To Stripes
Click is a J2EE web application framework created for commercial Java developers.
Click Highlights
* Very easy to learn
* Component and Page Oriented design
* Event base programming model
* Automatic form validation
* Page templating
* Velocity page rendering
* Superb error reporting
* High performance
The design philosophy behind Click is best summarized in the Swedish word lagom which translates to not too little or too much, but optimal. |
Go To Click
ZK is an AJAX-based, event-driven, XUL-compliant, all Java framework for enabling Web applications to have the rich user experiences. With intuitive event-driven model, you represent your application in feature-rich XUL components, and manipulate these components by listening to events triggered by users, as simple as you did for years in desktop applications. No JavaScript. No replication of business logic at the clients. No proprietary components. No compilation. ZK works with existent frameworks and technologies, such as JSF and Portals, so the pace of adapting it is all under your control. |
Go To ZK
The caramba framework is built from bottom to top with one main goal: creating Responsive, Rich Internet Applications.
With the AJAX technology we could already achieve this, but it was hard to debug, error prone and time intensive to make it work.
We are sure that simplicity can be achieved by following the event driven architecture: Caramba is 100% event driven, so very, very easy to use.
Using Caramba makes it possible to make fancy, responsive web-applications without having to write a single line of JavaScript.
You don't need to learn another language. Just the good old java syntax and JSP, that's all you need to know to get started. |
Go To Caramba
wingS is a component based web framework resembling the Java Swing API with its MVC paradigm and event oriented design principles. It utilizes the models, events, and event listeners of Swing and organizes the components as a hierarchy of containers with layout managers.
Version 2.0 comes with a completly rewritten rendering subsystem focusing on optimal stylability via CSS and new features like Drag & Drop support, context menus and Server-side code execution (AJAX).
Selected features of wingS 2.0 are:
* Comprehensive set of widgets including trees, tables, tabbed panes menus and more.
* Highly flexible dynamic layout managers
* Drag & Drop support
* Component context menus and tooltips
* Handling of browser back navigation
* Improved styleability via CSS
The distribution contains an extensive user documentation and various demo applications also available >>online. wingS is released under the LGPL licence. PermaLink |
Go To wingS
Helma is an open source web application framework for fast and efficient scripting and serving of your websites and Internet applications. |
Go To Helma
Restlet is a framework that brings the simplicity and efficiency of the REST architectural style to Java developers. It is composed of two parts, a neutral API and a reference implementation (Noelios Restlet Engine). It supports all REST concepts (resource, representation, data, connector, components, etc.) and is suitable for both client and server REST applications. The server connectors provided are HTTP (via Mortbay's Jetty or an adapter Servlet) and the client connectors are HTTP, JDBC, and SMTP (via JavaMail). |
Go To Restlet
The Brill Framework is an open source framework for developing transactional web sites using Java and XHTML. The Brill Framework was developed by Chris Bulcock, as a result of becoming frustrated with frameworks such as Apache Struts, which depends on Java Server Pages. The objective was to develop a framework that is simple, that supports WYSIWYG page editing and does not require Java code or special tags within the Server Pages. |
Go To Brill
ztemplates is a framework for creating web-applications based on Java 1.5.
Features:
* new and unique action processing module
* clean, technology agnostic urls
* fully JSP, Velocity and AJAX compatible
* state-free
* invisible to the web-client
* convention over configuration
* extensible
* small and modular
|
Go To ztemplates
Aranea is an Open Source (APL 2.0) Java Hierarchical Model-View-Controller Web Framework that provides a common simple approach to building the web application components, reusing custom or general GUI logic and extending the framework. The framework enforces programming using Object-Oriented techniques with POJOs and provides a JSP tag library that facilitates programming web GUIs without writing HTML. |
Go To Aranea Web Framework
RSF is an open source web programming framework, with roughly the scope of Sun's JSF. RSF is written in Java, and is built on the Spring framework.
RSF features a pure-HTML templating engine named IKAT, which achieves the cleanest separation between presentation and logic yet made - build \"components\" using pure HTML and libraries of code rather than heavy framework base classes.
RSF also features a lightweight request-scope Spring clone, RSAC, which brings the magic benefits of inversion of control into the request scope.
RSF currently has integrations for Hibernate, JSR-168, Cocoon and Sakai. |
Go To RSF
Strecks is a set of extensions to the Struts web development framework aimed at Java 5 users. The aim of Strecks is to enhance the capability of Struts in terms of productivity and maintainability. Strecks makes use of Java 5 language features, in particular JSR-175 annotations, to simplify the programming model for Struts applications. |
Go To Strecks
Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile. |
Go To Google Web Toolkit
Aurora is an open-source MVC framework that is aimed at writing configurable, fully object-oriented form controllers using the Spring Framework. The code-base grew out of my experience using Spring's MVC module and slowly developed over several versions into a full-fledged framework that attempts at tackling the most common problems that I had when using Spring MVC and other J2EE web-related issues in general. |
Go To Aurora
ThinWire is a development framework that allows you to easily build applications for the web that look and feel like the desktop applications you're familiar with. Responsive, expressive & interactive user interfaces in your web browser without the complexity of the alternatives. |
Go To ThinWire
Roma Meta Framework is a Open Source initiative to make Java application development easy. The approach is totally DDD, let's think to the domain of your application and Roma will makes the rest: persistence (database), presentation (HTML + Ajax), logging, user management, sessions, etc. |
Go To Roma Meta Framework
Pustefix is a framework that helps you to develop web based applications.
The framework consists of two more or less independent parts:
A machinery to apply recursive XSLT transformations that produces the UI of the web application.
A Java framework that takes input from the UI to change the application data and supplies changes of the application data back to the UI.
Together, the framework acts similar to the Model-View-Controller pattern (as far as this is possible in the context of a web application). |
Go To Pustefix
jWic is a java-based development framework for developing dynamic web applications with the convenience and familiarity of 'rich client' style programming. The component-based, event-driven programming model makes it easy for developers to quickly create flexible and robust web applications.
The collection of standard jWic controls has built-in Ajax functionality to enhance the end-user experience. Developers can also implement their own jWic controls and combine and incorporate them into their web applications. |
Go To jWic
The Calyxo framework encourages in MVC model 2 based web application development. It offers support for true modular applications, i18n, a flexible view manager, a powerful validation engine, and more. |
Go To Calyxo
The Mentawai goal is to be a simple, flexible, joyful and productive Java web framework.
* Simple: Mentawai is very simple to install, configure and understand.
* Flexible: The Mentawai architecture is very flexible and well organized, enabling any mortal to create new functionalities to the framework by implementing its core classes. The core of the framework is all based on interfaces.
* Complete: Mentawai offers transparent solutions for the repetitive tasks of every web project.
* Joyful: Mentawai offers programatic configuration with 100% pure Java code.
* Productive: Mentawai offers simple and practical solutions to most of the web development problems, reducing the developing time. |
Go To Mentawai
TrimPath provides open-source (GPL & APL) web technologies, focused around JavaScript, synchronization, MVC, occasionally connected computing, and Google Gears.
The open source Junction framework is a conventions-over-configuration, synchronizing web MVC framework for JavaScript.
Features of Junction:
* Junction is a riff of the Ruby on Rails framework into the world of JavaScript.
* Junction makes your web application perform great.
* Junction is a synchronizing MVC framework for building applications on top of Google Gears, but also does not require Google Gears if you don't want it.
* Junction automatically synchronizes your client-side and server-side code and RDBMS's.
* Junction still works even if the network is occasionally-connected or offline.
* Junction can run your application in the web-browser or on a Rhino-based server, or both. It's your choice. And, you write your application code just once to support these different runtime options. No duplicate logic. |
Go To Trimpath Junction
Makumba is a query-centric MVC web framework designed to build database-driven without advanced knowledge of database systems or Java. It is simple to configure and eliminates all the overhead usually needed to get data from the database to the view.
Its intuitive tag-library helps building complex sites in much less time than other frameworks.
Its main features are:
* Makumba List engine (using OQL/HQL as query language), to \"loop\" over records in the database and display them correctly according to their data type.
* Makumba Forms, supporting nested forms and making it possible to build complex forms without having to worry about how the data will get stored.
* Makumba Data Definitions (MDDs), an abstraction of the data model, making the model design very easy.
|
Go To Makumba
AribaWeb is the Open Source component-based web application development framework for creating rich, AJAX-enabled applications with the
absolute minimum of code (and no hand-coded Javascript).
Discover the difference that sets AribaWeb apart: Auto AJAX, Instant App, Live Edit & X-Ray,Proven Full Stack |
Go To AribaWeb
[fleXive] is a Java EE 5 open-source framework for the development of complex and evolving (web-)applications. It speeds up development by easing many tedious and repetitive programming tasks and helping to keep your application(s) flexible during the development-cycle and in production.
[fleXive] concentrates on enterprise-scale content modeling, storage and retrieval, and includes comprehensive JSF support for displaying and manipulating these contents in (web) applications. The runtime environment can be included in existing Java EE applications, but you can also build new applications and package them into stand-alone Java EE applications.
[fleXive] provides essential features for data-centric applications:
* Secure EJB-based persistence engine
* Web development JSF toolkit
* Powerful administration interfaces
* Based on the latest industry-standards like Java 6, EJB 3, JSF, etc. |
Go To fleXive
A minimalistic framework that helps you in converting your Spring beans into HTTP-accessible controllers using one servlet and a few additional lines in your XML application context.
This framework uses Extensible XML authoring feature available in Spring and allows you to expose the bean using just one additional XML attribute on your bean. |
Go To Flower framework
Hamlets (previously known as IBM Servlet-based Content Creation Framework) is an open source system for generating dynamic web-pages originally developed by René Pawlitzek at IBM. A Hamlet is a servlet extension that reads XHTML template files containing presentation using SAX (the Simple API for XML) and dynamically adds content on the fly to those places in the template which are marked with special tags and IDs using a small set of callback functions. A template compiler can be used to accerate Hamlets.
Hamlets provide an easy-to-use, easy-to-understand, lightweight, small-footprint, servlet-based content creation framework that facilitates the development of Web-based applications. The Hamlets framework not only supports but also enforces the complete separation of content and presentation. |
Go To Hamlets
Induction is a powerful, high performance, Java MVC web application framework. Induction supports dynamic application reloading, type-based dependency injection and dependency analysis between models, views and controllers. The goal of Induction is to simplify the task of building complex, high performance, maintainable web applications using Java technology. |
Go To Induction
The JVx Framework (or JVx - Enterprise Application Framework) is a Full-Stack Application Framework for the Java platform. JVx facilitates the development of professional and efficient Database applications, in a short time and using little source code.
The framework's architecture is based on the Multi-tier architecture model for the development of software systems. Building on a three-tier architecture and following the Dependency inversion principle JVx allows for easy development of efficiently maintained applications. The framework provides full support for all tiers.
Because of the Single Sourcing principle, the application is coded once and used with different technologies (RIA, HTML/Ajax, Desktop). |
Go To JVx
jZeno is an open source java development framework that offers the ability to develop rich web applications. The main architectural goal of jZeno is to allow people to create web applications using pure java development as much as possible. Largely reducing the need to know technologies like javascript, HTML, CSS, database specific SQL, JSP, JSF, etc.. |
Go To jZeno
Pandora is an easy to use, fast and lightweight framework for creating web applications with Java. Pandora uses Velocity for templating and provides support for Hibernate as persistence layer. It has great support for handling formular input with validators etc. and for lists, tables and trees (filtering, sorting, searching for free). |
Go To Pandora
The Play framework makes it easier to build Web applications with Java:
Quick overview
* Fix the bug and hit reload! Edit your Java files, save, refresh your browser and see the results immediately! No need to compile, deploy or restart the server.
* Stateless model Play is a real \"Share nothing\" system. Ready for REST, it is easily scaled by running multiple instances of the same application on several servers.
* Efficient template system A clean template system based on Groovy as an expression language. It provides template inheritence, includes and tags.
* Resolve errors quickly When an error occurs, play shows you the source code and the exact line containing the problem. Even in templates.
* All you need to create a cool web application Provides integration with Hibernate, OpenID, Memcached... And a plugin system.
* Pure Java Code with Java, use any Java library and develop with your preferred IDE. Integrates nicely with eclipse or netbeans.
* Really fast Starts fast and runs fast! |
Go To Playframework
SerfJ is the easiest way of developing Java REST web applications. It helps you to develop your application over an elegant MVC arquitecture, giving more importance to convention than configuration, so for example, you will not have to have configuration files or annotations in order to specify which view serves a controller's method. However, SerfJ is very flexible, so if you want to jump over those conventions, you can configure the behaviour of your applications as you like. |
Go To SerfJ
An AJAX framework to write database web applications with the target to edit and show the stored informations in different form windows. For this a simulated MDI-GUI gives the user the possibility to jumb between the form windows opened by himself. Tables has horizontal und vertical scrollbars. Between the server and the browser of the user the traffic is very small also in the case of very large tables because only the visible rows are transfered with AJAX.
The tutorial is currently in german language but the API documentation is in english. |
Go To Sombrero
Vaadin is a web application framework for Rich Internet Applications (RIA). In contrast to Javascript libraries and browser-plugin based solutions, it features a server-side architecture, which means that the largest part of the logic runs on the server. Ajax technology is used on the browser side to ensure a rich and interactive user experience. Developers compose the application user interface from components such as the Button, Table and Tree. The components use events, listeners and data binding to communicate with each other and with business logic. The component-based architecture together with the data binding features help building applications that are easily modularized and refactored as needed. |
Go To Vaadin
Vroom is a framework for HTML/JSP and Java code binding. It's extremely simple to use and very powerful. It can control your HTML widgets on the fly. It can be applied independently as JSP/Servlet Model or can be integrated with Struts, JSF, YUI etc. No custom tags, no complex configurations, just simple binding configuration file and backing beans. |
Go To Vroom
Free and Open Source Java project which brings together almost all the modern web tools: JsHint, CssLint, JsMin, Google Closure compressor, YUI Compressor, UglifyJs, Dojo Shrinksafe, Css Variables Support, JSON Compression, Less, Sass, CoffeeScript and much more. In the same time, the aim is to keep it as simple as possible and as extensible as possible in order to be easily adapted to application specific needs. |
Go To wro4j
|
|