What's GLUEscript?

GLUEscript (Glueing Libraries Using EcmaScript) is the successor of wxJavaScript. The new name covers the goal of this project: create a JavaScript engine which can be used as a general purpose language (like Perl for instance).

Read the history behind GLUEscript.

GLUEscript is developed by Franky Braem


GLUEscript uses SpiderMonkey, the JavaScript engine used in FireFox.


Portable Code

GLUEscript is written in portable C++ code. GLUEscript uses PoCo, a library for writing portable C++ code. And wxWidgets is used as GUI toolset. The GUI glue is optional.

Powered by POCO
Built with wxWidgets

GLUEscript uses Premake for generating makefiles for gcc, project files for Visual C++, CodeLite, Code::Blocks, ... Premake can be used on Windows, Linux and MacOS.

Server-side JavaScript will be as common as PHP?

On SitePoint Andrew Tetlaw wrote a article on his blog about Server-side JavaScript: Server-side JavaScript Will Be as Common as PHP


Kevin Dangoor created a new Google group for discussing server side JavaScript: http://groups.google.be/group/serverjs. The goal of the group is building up the server side JavaScript ecosystem. There's also a Wiki on Mozilla for collecting up ideas, links and any draft API suggestions for the serverjs group.

I will follow this group to see if some standards are defined. GLUEscript will try to follow these new standards.

Building POCO with MinGW and CodeLite

When you want to build POCO with MinGW you can use some Premake scripts I've build. You can find the zip archive in the SubVersion repository. With these scripts you can generate workspaces for CodeLite or Code::Blocks.

Compile your programs with at least 2 compilers

The last days I've learned that you should compile your sourcecode with at least 2 compilers. I used to compile and build the sourcecode of wxJavaScript and GLUEscript with Visual Studio Express. Until somebody asked in the group why wxJavaScript didn't compile on Linux. Visual Studio Express is a great compiler but it allows to write C/C++ code that doesn't comform to the standard. That's why GCC on Linux throws a lot of compile errors. One of them was: error: ISO C++ forbids taking the address of a bound member function to form a pointer to member function.. To solve this error I had to change all the source files. So lessons learned: Now I also use Code::Lite to compile GLUEscript with the MinGW compiler. MinGW ports the GCC compiler to Windows.

DocBook and E4X

After thinking about how I could integrate the old documentation into docbook, I decided to change the gendoc script. Instead of generating XHTML, I've changed it to generate docbook. This has also the advantage that I can still use my own XML structure, which is less verbose then docbook XML. So no docbook XML in the source code, the docbook XML is generated by my script.

I also removed the templates. Instead I use E4X. E4X makes it possible to use native XML in JavaScript. It's very powerful, and it can be used as templates for generating XML and XHTML. Look at the the code of gendoc.js to see GLUEscript and E4X in action.


All new glues (a glue is a module that ports a C/C++ library to JavaScript) will use DocBook as documentation tool. All DocBook tags will be integrated into the source code. These tags are put in C++ comment between /*! and */. You can view a sample in net.HTTPRequest. The tags are extracted and saved into an XML file using a JavaScript script: docbook.js.

With DocBook it is possible to generate pdf, html, htmlhelp, ... This makes it possible to publish the manual in different formats. The ultimate goal is to create a wiki-like website (like the PHP-website) where developers can add their comment to the reference pages. You can view a first sample of a pdf here.

New Google group launched

Today I've launched a new Google group for discussing about GLUEscript. Do you have questions, new ideas, ... Let it know in this group: http://groups.google.com/group/gluescript.

Logo Design

I'm looking for someone who has the talent to design a logo for this project. Do you have ideas? Send them to franky.braem@gmail.com

Syndicate content