Quick Start Wakanda – Javascript for the entire stack

Alastair Aitken 24 June 2011 3
Quick Start Wakanda – Javascript for the entire stack


Wakanda is an open-source platform that provides a full Javascript stack, comprising of Wakanda Server, Wakanda Studio and the Wakanda Client Framework. Currently in a developer preview release – essentially an alpha version – the full Wakanda release is slated for early 2012. Wakanda Studio runs on Windows or Mac whilst Wakanda Server runs on Windows, Mac or Linux. Although billed as open source, the source for Wakanda will only be available upon production release. The company behind Wakanda, 4D, produces an eponymous integrated development platform and has been operational for over 25 years.

Wakanda Server

Wakanda Server is a combination of an HTTP server, a proprietary datastore and datastore engine. The server contains a Javascript interpreter based upon Webkit SquirrelFish-Extreme just-in-time compiler.

Wakanda Studio

Wakanda Studio comprises of:

  • Solution Manager
  • Datastore Model Designer
  • GUI Designer
  • Code Editor

The Solution Manager displays a hierarchical view of all projects.

The Datastore Model Designer is a visual data modeller where classes and their relationships are drawn, showing a visual representation of the business logic of a project. It attempts to insulate the developer from the datastore by providing access via classes rather than relying upon an Object-Relational Mapper.

The GUI Designer is a drag-and-drop WYSIWYG screen designer and the Code Editor is a syntax-aware editor with auto-completion.

Wakanda Studio generates a combination of Javascript (including jQuery 1.4.3), HTML5 and CSS3 that can be deployed on mobile devices.

Wakanda Client Framework

The Wakanda Client Framework contains:

  • a data provider communicating with Wakanda Server
  • browser-based front end widgets
  • a datasource layer communicating between the data provider and the interface widgets

Using Wakanda

Getting started with Wakanda is very straightforward. There are two packages: Wakanda Server and Wakanda Studio, if these are placed in the same directory then Studio can start the Server on demand.

The 56-page Quick Start documentation is generally excellent and walks through a simple example demonstrating the salient features of Wakanda. Creating classes and relationships between those classes is very straightforward: create a new attribute and select the related class, Wakanda Studio then displays a line between the classes to indicate the link and creates new attribute on the related classes.

Wakanda Studio is almost UML-like in look and feel, and by handling most of the plumbing Wakanda allows the developer to concentrate on business logic, giving a almost model-driven development feel to the product. There was a slight glitch with the an example not displaying its grid content correctly but clicking the ‘Reload Model’ button immediately cured this.

Whilst there is no support for authentication at the moment, this is documented in the roadmap. Unit testing is similarly outlined on the roadmap.

External interoperability is an issue, at the time of writing external processes can only be accessed via Wakanda’s SystemWorker API or XMLHttpRequest although Wakanda appears committed to revealing their network APIs at some point in the future. Load balancing and replication are also promised.

There is comprehensive documentation with plenty of examples and an an active forum where the developers respond promptly to queries.

Summary

Wakanda is not deemed to be production-ready yet, but then Node.js isn’t yet at a full release version and is being used in production.

Being able to use Javascript throughout the entire stack is a very appealing concept and with the growing popularity of Node.js it’s very much flavour-of-the-month. Whether the closed nature of the backend will work against the product remains to be seen.


Alastair Aitken (120 Posts)

As a contract developer and manager I’ve worked in a wide range of enterprises in a variety of countries where I’ve encountered everything from great work, awful work, bizarre work, all the way down to quasi-legal work. If you think that you recognise your own organisation within my articles then you’re undoubtedly wrong, where you work isn’t that unique.


3 Comments »

  1. Martin Blackwell 14 August 2011 at 12:32 pm - Reply

    Development only on Win7 (no xp, vista) & Mac. How can you call yourself open source with no Linux development platform?

  2. John 4 September 2012 at 3:54 am - Reply

    The person who susetgged logmein (or whatever that remote control service is) needs to read the question again that’s a fine solution for ONE USER at a time. This person needs SEVEN users.Server 2003 is a little cheaper but you have to think about what you are doing with it and if there will be any growth. A terminal server should have LOTS of RAM I like as an absolute MINIMUM 512 MB per user prefer 1 GB per user. BUT 32 bit versions of Windows Server Standard only support 4 GB of RAM TOTAL. You could go with Enterprise but that’s $3000+. So you’re left with 64bit Versions of Windows which you need to check your software on MOST 32bit software will work fine under x64, but NOT ALL. (64 bit versions of Windows go at least to 32 GB of RAM Enterprise 64bit, I believe, goes to 2TB).As for parallels or another virtual platform, you still need windows licenses AND licenses for parallels In the end, for 7 users, the total cost may be SLIGHTLY more expensive for a Windows solution instead of parallels, but if you ever need to add more stations, it will rapidly become cheaper with Windows. The exception to this is if you end up with software that is not compatible with Windows Server 64bit versions. Then parallels will likely be worth the cost.By the way 2003 and 2008 have the same 4 GB limit for 32 bit versions of Server standard. I’d go wtih 2008, as it will last you longer and offers some advanced RDP (Terminal Services) features, like Terminal Services Gateway.

Leave A Response »