Helma Logo
main list history

Version 12 by hannes on 12. November 2009, 14:48

7 * RegExp/module based request dispatching[request dispatching].

Version 11 by hannes on 12. November 2009, 14:12

1The Helma NG Web Framework is a fully full featured web stack based on the [JSGI web server interface][JSGI]stack. Some the features Helma NG adds It is built on top of JSGI are:a [JSGI] compliant interface including a rich set of practical [middleware]. On top of that it adds features such as:
3 * Convenience wrappers for accessing the request object and generating various response objects.
4 * Smart HTTP parameter parsing.
5 * HTTP parameter parsing including grouping of parameters into JavaScript objects or arrays.
6
5
7
9

Version 10 by hannes on 12. November 2009, 12:45

11 * Regular expression RegExp/module based request dispatching taking advantage of CommonJS modulesdispatching.

Version 9 by hannes on 16. October 2009, 15:50

1The Helma Web Framework is a fully featured web stack based on the [JSGI web server interface][JSGI]. Some the features Helma NG adds on top of JSGI are:
3To run * Convenience wrappers for accessing the demo application that is part of Helma NG run the following command:request object and generating various response objects.
5 * HTTP parameter parsing including grouping of parameters into JavaScript objects or arrays.
6
7 * HTTP file upload support.
8
9 * HTTP session support.
10
11 * Regular expression based request dispatching taking advantage of CommonJS modules.
12
13 * Flexible and powerful templating support.
14
15The [Helma NG demo app](http://helma-ng.appspot.com/) showcases a number of these features. To run the demo application on your computer run the following command:
16
11
12The demo app showcases a number of tools and libraries to build web apps. As Helma NG is still pretty young, many features found in Helma 1.6 are still missing, most notably a persistence layer. These features are currently being implemented.

Version 8 by hannes on 16. October 2009, 15:34

1The Helma Web Framework is a fully featured web application framework written mostly in JavaScript built stack based on top of the Helma Runtime[JSGI web server interface][JSGI]. 

Version 7 by hannes on 28. September 2009, 17:14

1Since in The Helma NG the *JavaScript runtime* Web Framework is separated from libraries and application frameworks, it provides a much more flexible basis for implementing JavaScript web frameworks than *Helma 1*. The current design is inspired by application framework written mostly in JavaScript built on top of the Helma 1 web framework, but there are tendencies to look towards Python and Ruby for inspirationRuntime.
3=== DiscussionTo run the demo application that is part of Helma NG run the following command:
5Some threads discussing web frameworks on the Helma NG *mailing list*:    helma apps/demo/main.js
7* *ticket #18 - how django did it|http://groups.google.com/group/helma-ng/browse_frm/thread/a74688aee46d71a9/89cdbd2470b5f42f?lnk=gst*This starts and serves the demo web app on port 8080:
8* *Django middleware vs. Servlet filters|http://groups.google.com/group/helma-ng/browse_frm/thread/4db34fff5bab4e48*
9Related trac issue:  <http://localhost:8080/>
11* *Decouple The demo app showcases a number of tools and libraries to build web framework from servlet API|https://devapps.helma As Helma NG is still pretty young, many features found in Helma 1.org/trac/helma/ticket/24*6 are still missing, most notably a persistence layer. These features are currently being implemented.
13=== Web Connectors
14
15Connectors are the low level part of web frameworks. They define how webservers talk to the framework, and how the framework can access and manipulate the HTTP requests and responses.
16
17* *Servlet API|http://java.sun.com/products/servlet/* - the standard web server API in the Java world.
18* *WSGI|http://www.wsgi.org/wsgi/* - the standard web server connector in the Python world.
19* *Jack|http://jackjs.org/* - a relatively new project to do for JavaScript what WSGI/Rack do for Python/Ruby.
20
21Along with the web connector functionality, all three framework provide a standard interface to plug in additional code between the web server and the web application. In WSGI, this is called *Middleware* and uses the concept of functional composition, meaning that the middleware wraps the web app, exposing the same WSGI interface to the web server. The Servlet API, uses a similar approach with Filters.

Version 6 by hannes on 20. February 2009, 20:26

10Related trac issue:
11
12* *Decouple web framework from servlet API|https://dev.helma.org/trac/helma/ticket/24*
13

Version 5 by hannes on 20. February 2009, 20:08

Version 4 by hannes on 20. February 2009, 20:08

18Along with the web connector functionality, all three framework provide a standard interface to plug in additional code between the web server and the web application. In WSGI, this is called Middleware *Middleware* and uses the concept of functional composition, meaning that the middleware wraps the web app, exposing the same WSGI interface to the web server. The Servlet API, uses a similar approach with Filters.

Version 3 by hannes on 20. February 2009, 20:03

14* *Servlet API|http://java.sun.com/products/servlet/*com/products/servlet/* - the standard web server API in the Java world.
15* *WSGI|http://www.wsgi.org/wsgi/*org/wsgi/* - the standard web server connector in the Python world.
16* *Jack|http://jackjs.org/*org/* - a relatively new project to do for JavaScript what WSGI/Rack do for Python/Ruby.

Version 2 by hannes on 20. February 2009, 20:01

9
10=== Web Connectors
11
12Connectors are the low level part of web frameworks. They define how webservers talk to the framework, and how the framework can access and manipulate the HTTP requests and responses.
13
14* *Servlet API|http://java.sun.com/products/servlet/*
15* *WSGI|http://www.wsgi.org/wsgi/*
16* *Jack|http://jackjs.org/*
17
18Along with the web connector functionality, all three framework provide a standard interface to plug in additional code between the web server and the web application. In WSGI, this is called Middleware and uses the concept of functional composition, meaning that the middleware wraps the web app, exposing the same WSGI interface to the web server. The Servlet API, uses a similar approach with Filters.

Version 1 by hannes on 17. February 2009, 10:18

1Since in Helma NG the *JavaScript runtime* is separated from libraries and application frameworks, it provides a much more flexible basis for implementing JavaScript web frameworks than *Helma 1*. The current design is inspired by the Helma 1 web framework, but there are tendencies to look towards Python and Ruby for inspiration.
3=== Discussion
4
5Some threads discussing web frameworks on the Helma NG *mailing list*:
6
7* *ticket #18 - how django did it|http://groups.google.com/group/helma-ng/browse_frm/thread/a74688aee46d71a9/89cdbd2470b5f42f?lnk=gst*
8* *Django middleware vs. Servlet filters|http://groups.google.com/group/helma-ng/browse_frm/thread/4db34fff5bab4e48*