0
I Use This!
Activity Not Available

Project Summary

Wojo is a templating language designed specifically for use with dynamic web pages. Wojo is:

Server agnostic. Wojo templates are executed on the client; the only thing the server does is retrieve the data that will be used to render the template, serialize it to JSON, and embed it via simple string substitution in the HTML file generated by the Wojo compiler (and even that substitution can be skipped if you'd rather retrieve the data via XHR when the page loads). As such, it can be used easily with any server techologies that support JSON serialization, along with less traditional frameworks like Google App Engine and Adobe AIR. (Note that template compilation happens statically once, possibly before the web server is even started). Fast. Wojo makes your applications speedier in several ways. The use of Ajax in any web app makes it faster by letting users see new data without a full page reload, and by putting all template execution in the client, along with explicit XHR support in templates, Wojo makes this easier than ever. But it goes a step farther; Wojo lets you embed the templates, scripts, and CSS for LOTS of webpages in a single HTML file, and switch between them easily without any full page reloads. This isn't just a side-effect of client-side templating; its a fundamental part of Wojo's design. Other performance boosting features include automatic CSS and Javascript minification and external libraries that pack templates, scripts, CSS, widget definitions and more into a single downloaded file. Familiar. While other higher level languages for writing web apps, such as GWT, SproutCore, Flex and OpenLaszlo require you to work in a new programming environment, making poor use of your prior web development knowledge, Wojo builds upon the technologies that have already conquered the internet (reducing the impedance mismatch as well). The templating language is strongly inspired by Genshi, the latest in a popular line of attribute-based templating languages from the Python world. Powerful. Because all templating in Wojo is done on the client, adding Ajax updates to all or part of any page becomes very easy (Wojo templates include explicit support for being rerendered using data from XHR). Wojo also adds cross-browser support for much of the syntactic sugar that Mozilla has added in their Javascript engine, plus some of its own. That's right- through the magic of compilation, you can now use the "for each" loop, array comprehensions, destr>foucturing assignment, the "let" keyword, iterators and more in any browser (all of these other than iterators are, to our knowledge, fully compatible with Mozilla's Javascript 1.7 implementation). All of that's optional, of course; the Javascript processor has been designed so that if you don't use any of these non-standard features, your logic won't be modified at all. It also lets XSLT transforms (and version 2.0 at that) to be applied to your template markup be mixed inline in your documents, allowing you to easily create domain-specific XML languages for the templating needs of your app. Integrated with one of the richest, most powerful Javascript toolkits and widget libraries around, the Dojo Toolkit. Although you don't have to be aware that Dojo exists to use Wojo, Wojo makes writing your own Dojo widgets super easy via syntactic support (and you get to use the same templating language for your widgets that you do for the rest of your page) and provides syntactic support for writing complex animations using the dojo.fx package, and various other Dojo conventions. Of course, if you don't like Dojo, you're free to use whatever other Javascript frameworks you prefer. Open. Wojo is open source, under the MPL. It's built on top of popular, mature open-source libraries like Saxon and Rhino.

Tags

dojo javascript templating web

In a Nutshell, wojo...

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

Mozilla Public License 1.1
Permitted

Commercial Use

Modify

Distribute

Place Warranty

Use Patent Claims

Forbidden

Sub-License

Hold Liable

Required

Include Copyright

Include License

Distribute Original

Disclose Source

State Changes

Include Install Instructions

These details are provided for information only. No information here is legal advice and should not be used as such.

All Licenses

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    Black Duck offers a free trial so you can discover if there are open source vulnerabilities in your code
  • ...
    search using multiple tags to find exactly what you need
  • ...
    nearly 1 in 3 companies have no process for identifying, tracking, or remediating known open source vulnerabilities
  • ...
    compare projects before you chose one to use

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

Community Rating

Be the first to rate this project
Click to add your rating
   Spinner
Review this Project!
Sample ohloh analysis