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. jWic integrates open-source standard tools like Velocity and Spring Framework so there are no proprietary scripts or languages to learn. With low configuration overhead and a separation of layout and code, developers can concentrate on implementing functionality while designers can take care of the look and feel.

Simple, Plain Java Objects jWic controls are simple java classes that conform to the JavaBean* pattern. They are created and accessed like standard java objects. No Configuration Overkill jWic limits the number of configuration files required to a minimum. Developers do not need to create hundreds of XML files as we believe that excessive use of configuration files can mess up your project. Seperates the Layout from the Code Each control is rendered by a renderer implementation. jWic's default renderer is using Velocity, which is a powerful template engine. We believe that using templates is a much better way then generating HTML code within the controls. It is easier to maintain and it can be done by a seperate person like a designer. Dynamic Page Updates with AJAX jWic uses AJAX to render and update only those controls on a page, that have been changed. This reduces the response time and it gives the end-user a much 'smoother' experience with the application. If the users browser does not support AJAX, jWic automatically uses the classic way. Benefits from Modern IDEs As jWic controls are simple java classes, you can examine them using IDE features like syntax completion, hierachy overview, reference search and more. The Compiler Helps You! When a developer change the API of a component, the compiler will refuse to compile the application until the classes that use that component are fixed. Event-driven Architecture Traditional web applications were often designed with single pages (i.e. html or jsp) that contain static links to servlets or other pages. As an application like this grows, it becomes harder and harder to maintain those references. With jWic, a controller listens to events as it is specified in the JavaBean listener pattern. If the developer places a button on a page, all he needs to do is to create that button and add a SelectionListener to it. Everything else is done by the framework. Reusable Components jWic encourages the developer to seperate the UI elements into independent controls and build control hierachies with the help of containers. Those controls can be easily reused in other parts of the same or a new application. This reduces complexity, duplicate code and in the end it saves time and money. Powerful Session Management A jWic application is kept alive until it is destroyed (either by the end-user or because of a session time out). To reduce memory consumption, jWic can 'swap out' a session to the disk if it is serializable (which is encouraged).