Tuesday, December 27, 2011

GyroGears plugins

About a year ago I've started thinking about a plug-in system for GyroGears. GyroGears is closed source (at least for now), and I was pondering a system for combining both open source and closed source plug-in into GyroGears.

Look at this:

As you can see, a Google map is displayed into this form, linked to the "Coordinates" and "Description" members.

The fun is in implementing this:

It's a member defined as a "plug-in". I've created two plug-ins, one for Google Maps and another one for the WebKit engine.

For Google Maps, you just enter your API key, and coordinates/title/description members and is done.

It should be very easy to write any plug-in for GyroGears, anything you could think at.

Thanks to the new GyroGears developers (that quadrupled in the last few months), I've optimized some things.

The first problem was the Concept Compiler (accel), that had an exponential growth in compile time when dealing with large applications. I've inserted some hashing tables in order to retrieve the data faster, and now it seems to work as expected.

Another reported problem was with the web-generated scripts. In some cases were slow due to a bug in Gyro-generated framework that caused all the data to be transferred from the server. Now it has decent times.

I've optimized the http:// interface, that looks a lot cooler now. However it still lacks in functionality when compared to the concept:// interface.

The Sablotron XSLT library was dropped (is still supported by the Concept Framework), and replaced by libxslt, that has a lot more features, and it seems to be a little faster and included in most Linux distributions (not necessarily needing manual compilation).

A few new templates were added to GyroGears (webpage and web catalog).

Below are some screenshots with the new http templates.