The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

a11158 (10) [Avatar] Offline
Hello Neal,
hello community,

there is a Java web framework, it´s worth to look closer.
It´s name is wingS ( )

In a nutshell, wingS is a web application framework based on Java Servlets,
resembling the Swing API with its MVC paradigm and event oriented design principles.

It utilizes the models, events, and event listeners of Swing. Like in Swing,
components are arranged in a hierarchy of containers, whose
root container is hooked to a frame.

Though MVC and Swing are well established and well known, most web application frameworks on the market are still stuck in the paradigm of page-flow oriented design principles and require a heavy mixture of different technologies like XML, Java, JSP, Tag libraries, etc.
This has heavy implications on the development process as it disables full reuse but requires to generate, write and maintain many different artifacts during the whole process. Think of JSP template files, XML based page flow descriptions, required form beans, and so on: All of these must be written, maintained and kept in sync for every dialog of your project.

In contrast wingS offers a very efficient and sophisticated way to implement and design complex real-world applications in pure Java, enabling to fully leverage modern software design principles like inheritance, component-oriented design, refactoring and all the others without making a stop on the web tier.

Therefore wingS provides an API for designing web applications which is nearly identical with the well proven Java Swing API for classical desktop-based applications.

This similarity to the well known Java Swing API as well as the modern event- and component-oriented design principles of the wingS framework enable you to quickly focus fully on the implementation of your business-critical logic by simply (re)using well known (customized) components instead of being bothered with web tier details throughout the whole development process and during the maintenance lifecycle.

I don´t know, if the framework is able to solve every problem you are faced to in your web projects,
but it has a very high potential to solve many problems.

Test it and post here what are you thinking about it or what´s your opinion?
nford (36) [Avatar] Offline
Re: wingS - A new JavaWebFramework for Desktop-Application Developers
This framework looks interesting. It's a good idea to take Swing concepts and expand them to the web. However, I suspect that Tapestry has done a better job of this because it has built a hybrid component approach.

My 2 biggest complaints against wingS:
1) Swing on the desktop is pretty laborious -- do we really need to replicate this experience on the web? Don't get me wrong -- Swing is very elegantly designed. However, some things are very difficult in Swing.

2) wingS could use some serious AJAX support. The progress bar posts back to increment the counter? The alert messages generate entirely new pages (no JS alerts?)

Interesting thought experiment, but I can't imagine using this in lieu of Tapestry or WebWork.
a11158 (10) [Avatar] Offline
Re: wingS - A new JavaWebFramework for Desktop-Application Developers
In the last two Years there were many effords bringing the desktop programming feeling to the web.
On the other hand, Sun released JavaServerFaces (JSF) as a standard web framework.
The following frameworks give you a API for Java to program web applications as you would do desktop applications. You do only need Java knowledge.
With JSF you need knowledge in Java, XML, TagLibs, Tomcat, Deployment-Deskriptors, Servlets, JSPs, CSS and JavaScript.

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

License GNU Library or Lesser General Public License (LGPL)

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.

License GNU Library or Lesser General Public License (LGPL)

Program your JSPs & 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.

License GNU General Public License (GPL)

Millstone is a nice alternative to struts like framework you do not need to write a single html line.
License GNU Library or Lesser General Public License (LGPL)

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.

License Apache Software License

Google Web Toolkit (GWT)
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.

License Apache Software License

Echo2 is the next-generation of the Echo Web Framework, a platform for developing web-based applications that approach the capabilities of rich clients. The 2.0 version holds true to the core concepts of Echo while providing dramatic performance, capability, and user-experience enhancements made possible by its new Ajax-based rendering engine.

a11158 (10) [Avatar] Offline
Re: wingS - A new JavaWebFramework for Desktop-Application Developers
There is a new star on the Java Web Development sky called Wicket.
This is another very powerful tool, that is much more easier to programm than JSF
and it is as powerful as JSF.