Twitter It!

Pyro is a rich internet application (RIA) environment that is in development. It’s a superset of frameworks on top of javascript, DOM, PHP, and XML. The fundamental design concepts come from the Openstep specifications, and more specifically Mac OS X’s Cocoa environment. The language structure and syntax is javascript based, but the way things flow underneath are very similar to an Openstep desktop environment. Rather than building a procedural based web application, or even an object based system, Pyro is a pure object oriented environment. There are no global functions, only objects which communicate with each other through a network of messages. This allows a greater flexibility, especially with AJAX based programs.

Today, most web apps that use AJAX only use it to gather assets, like email data, or images. With Pyro, AJAX is used for primarily all loaded data. All Frameworks are loaded with AJAX, all sub-processes and applications load with AJAX. This allows the ability of loading data without refreshing the entire page, or loading unneeded data and information that is not being used yet or will not be used at all. Most systems load up scripts using SJAX or other dynamic techniques because they can’t use AJAX to do it for one reason or any other. Pyro however uses AJAX to load the scripts because the system allows it.

How is that possible? The objects in Pyro can talk to each other through a communication system, one that was picked up from Mac OS X. For instance, when a Framework is loading, and Fuel has been told to load an application, that application will see that a framework is loading wait to launch until it is told that the Framework is fully loading. This allows the flexibility of not “freezing” the system while something loads, which is what SJAX does. This means that you can load a needed script file, and at the same time interact with the application without having the entire page freeze up and have you wait for the script to completely load.

Now I know that Pyro isn’t the only RIA system out there, especially ones with a desktop look and feel. However, other systems need assets like Java, Rails, or Ruby to run. Pyro is based entirely off of Javascript and DOM, with just a sprinkling of PHP for server side information.