Helma Logo
helma.org » Home > docs > guide > introductions
Home > docs > guide > introductions

Introductions

Quick hands-on introductions to individual aspects of the Helma Javascript Web Application Framework. These introductions assume that you have Helma installed on your local machine and refer to the "welcome" application that is included in the Helma 1.5 download.

Helma can serve multiple independent applications, each accessible through a different mountpoint, using Javascript environments running in their own global scope, and configurable to use separate code repositories.

The default mountpoint of a Helma application is always a code repository, which means that requests will be handled by the application's Javascript environment and will not reference specific server pages. Static files on the other hand are served from separate "static" mountpoints.

Every request a Helma application receives is handled by an "action" associated with the requested URL. For example, a request to http://localhost:8080/example will be handled by the "example" action.

Helma allows you to cleanly separate presentation from application logic through the use of skins. The skins are segments of HTML markup that can contain macro tags, which are replaced with dynamic content when the skin is rendered.

Macros are methods of application logic that can be called through custom macro tags contained in skins. Macros allow skins to pull data from application logic, while other macro tags only push pre-determined data to the skins.

HopObjects extend the standard Javascript object with Helma-specific properties and functions. They are the central building blocks that allow you to leverage the application framework Helma provides.

Helma's coding conventions revolve around the prototype based object inheritance of Javascript. While Helma does not force you to leverage these coding conventions, doing so will increase productivity and you will achieve better maintainability due to a clean and well organized code structure.

Helma allows you to map your HopObjects to relational database tables instead of persisting them in the application's embedded XML database.

Helma puts the whole wealth of Java libraries at your fingertips. The "Packages" object in Helma's Javascript environment serves as the doorway to leverage any Java packages in the CLASSPATH. You can add any Java packages to the CLASSPATH simply by putting the jar files in the ./lib/ext/ directory.


Next: Applications

... comment   ... browse