mainHelios JavaScript framework and libraries - Summary

 
 
Show feedback again
Membership Info
Project Admin:
1 active member

Group identification
Id: #2902
System Name: helios
Name: Helios JavaScript framework and libraries
Group Type: Programs

Search in this Group

in
   

About Helios

Helios is an open-source JavaScript framework and set of libraries for creating rich applications fully in JavaScript, like this one:

http://home.gna.org/helios/helioscalc/

Helios consists of a framework kernel which manages modules thus providing a handy way to create a modular applications using plain JavaScript combined with simple include-like syntax; and a set of usefull libraries providing a powrefull API for creating GUI, interracting with the server and so on.

The demo calculator application available by the link above demonstrates Heliwidgets, a sophisticated widget toolkit library for Helios. You can also download the annotated codecast of that application here:

http://home.gna.org/helios/helioscalc.tar.gz

Currently the project is in its early stage of development, and looks for volunteers who wish to join. If you are interested in the project, email to heliosframework at gooogle mail.

The framework kernel

When helios kernel is loaded, it starts parsing main.js file where the application code is located. Thus a programmer starts creating his application in pure JavaScript with no need to ache his head with inventing a set of HTML templates.

Helios introduces pure modularity into browser-based JavaScript, i.e. a programmer just need to call
in the head of his module, and framework will take care of parsing and initializing the desired module and all other modules required by this module in order of dependence.

From the point of browser, there is an index.html file which contains nothing except an include of helios kernel, which, in turn includes main.js module and all its dependences and finally launchs the code.

All this code works fully on the client side (I have once seen a solution which implemented include using ajax and required running server to work, this is not the case). That also means that such application can be loaded into the browser from the remote http server as ordinary webpage.

The main idea of the project is to provide a way for creating rich web applications with client and server code being completely split (forget that painful javascript inside html inside php).

Helios also supports dynamic module loading and unloading. This may be usefull for creating applications which will extend their functionallity only when it is required and free the memory back unloading the modules which will not be used anymore.

Download helios: http://download.gna.org/helios/helios-0.1.tar.gz
Helios framework tutorial: http://download.gna.org/helios/helios_tutorial.pdf
Helios API guide: http://download.gna.org/helios/helios_api_guide.pdf

Libraries

Helios is shipped with a set of some usefull libraries without which it would be difficult to create an application. Core libraries provide such objects as Signal (observer pattern implementation) and Property (which stores a value, provides setter, getter and a signal sent whenever value is changed). There are some higher-level usefull libraries, such as math (which equips the Math object with some additional object), color (which provides methods for color manipulation), canvas (which for now provides some primitive figures drawing methods and later will also track the compatibility between different canvas implementations in the browsers), and of course, traditionally for JS frameworks ;) library called anime, which provides powerfull routines for creating different types of animations. There is also a powerfull widget toolkit library called Heliwidgets. In fact, all other libraries mentioned above are extended whenever I need something in Heliwidgets, so almost any functionallity they provide is used somwhere in heliwidgets. The widget toolkit provides a set of basic widgets, currently implemented are Frame, Button, Label, Glasscase, Table and Selector. Heliwidgets has a support of enignes, which contain widgets drawing routines. The only implemented engine for the heliwidgets uses canvas api to draw widgets on the screen.

Heliwidgets

Heliwidgets is a feature-rich widget toolkit library for creating UI controls for an application. It provides powerfull API for creating, manipulating and customizing created widgets to match any application design. The toolkit has a support of engines which allow to redefine the policy of representing widgets on the screen.

One interesting feature of rendering engine is style properties. Engine provides a graph of style properties, and programmer can redefine some of them for a particular widgets. When some property is redefined for some widget, all dependent properties are regenerated, and all child widgets inherit this customization. Changing the primaryColor property of the rootWidget to #112233 will make the whole application look like this (read the codecast for details):

http://home.gna.org/helios/helioscalc_dark

Registration Date: Fri 06 Feb 2009 02:09:45 PM UTC
License: GNU General Public License V3 or later
Development Status: 3 - Alpha

 

Latest News 
Helios celebrates its 0-year birthday
     posted by xpostman, Sat 14 Feb 2009 09:53:35 AM UTC - 0 replies

Zero years ago, in this day, first 0.1 beta release of helios framework was finally successfully uploaded to the project download area providing the programmers whole over the world a brand new way of developing powerfull web-based applications, marking a Day When the Internet Started Changing. Helios team represented by a single person congratulates all helios fans and users and celebrates the event drinking camomile, playing good music and studying physic! Happy birthday, Helios!!


[Submit News]
[1 news in archive]

Communication Tools
Mailing Lists Mailing Lists (1 public mailing-list)

Show feedback again

Back to the top


Powered by Savane 3.1-cleanup