There is many interesting platforms out there to develop Web applications, like .NET, Spring, ruby on rails, Django, LAMP, Meteor, and so on.
In this presentation, you will discover Wakanda a Model driven NoSQL / SSJS platform built on Web standards.
You will see how a project starts, can be designed, tested, developed by a team, debugged, administrated, maintained, and then how to update it in the future.
We will compare to some existing platforms and why Wakanda could make you more efficient.
3. Agenda
Wakanda Architecture
How a Project start!
Model vs Mockup
Test-Driven Development
Team Work & Source Control
Debugging
Deployment & Administration
Evolutions & Refactoring
7. Wakanda
Wakanda Server
(aka WakandaDB)
Wakanda Application Framework
Wakanda Studio
DataStore Model Editor
Code Editor
GUI Designer
Debugger
Users & Groups
AdministrationExtensions
REST/JSON
JSON-RPC
8. WakandaDB
Wakanda Server
(aka WakandaDB)
Your Development Tools
Visual Studio, XCode, NetBeans, Eclipse,
Maqueta, Codio, Cloud9, Orion, Sencha Architect
+
Chrome Web Inspector
Your Server Framework
Java, .NET, node.js PHP, Python, Ruby...
REST/JSON
Webkit debugger protocol 1.0
& Firebug Crossfire protocol
Your Web app Client Framework
ExtJS, Sencha Touch, Kendo UI, Backbone.js...
Your native app Client Framework
iOS, Androïd, .NET...
REST/JSON, Git
9. Standard Based
W3C
- XMLHttpRequest, WindowTimer,
- Web Storage, Web Worker, File, FileSystem, Blob, ...
CommonJS
- Modules, Package, Unit Test
Other
- Console, JSON, JSON-RPC, REST
(+ some node.js support)
10. Webkit JavaScriptCore
Open Source, multi-threaded, preemptive, thread-safe, 64bits
Fast (2 JIT), strict mode (ES5), well structured & documented
aka SquirrelFish Extreme & Nitro Extreme
http://trac.webkit.org/wiki/JavaScriptCore
19. Test Service
var testCase = {
name: "testCaseName",
testFails: function() {
Y.Assert.isFalse(true);
},
testPasses: function() {
Y.Assert.isFalse(false);
}
};
http://doc.wakanda.org/Technical-Notes/Advanced/Writing-Unit-Tests-in-Wakanda.300-959974.en.html
YUI Test
Client or Server JS tests
20. CommonJS Unit Test
var
! assert,
! accountSvc;
assert = require('assert');
TwilioScript = require('wakanda-twilio/core/twiml').TwilioScript;
exports['test response'] = function Twilio_Test_Twiml_response() {
var script = new TwilioScript();
var twiml = '<?xml version="1.0" encoding="UTF-8"?>n';
twiml += '<Response>n';
twiml += '</Response>'
assert.strictEqual(script.toString(), twiml, 'simple response ok');
};};
exports['test hangup()'] = function Twilio_Test_Twiml_hangup() {
var script = new TwilioScript();
script.hangup();
var twiml = '<?xml version="1.0" encoding="UTF-8"?>n';
twiml += '<Response>n';
twiml += '<Hangup />n';
twiml += '</Response>'
assert.strictEqual(script.toString(), twiml, 'hangup response ok');
};
http://wiki.commonjs.org/wiki/Unit_Testing/1.0
23. Team Work
Server
- Model split in SSJS modules
- Service & RPC modules, Shared Workers
Client
- Web pages & Web Components
- Custom Widgets
- Themes, application.css
Tool
- Studio Extensions
35. Q & A
San Francisco, CA - Oct. 25th
http://jseverywhere.org
Wakanda
http://wakanda.org
@jseverywhere
@wakandasoft
Client and Server JavaScript APIs Community Group
http://www.w3.org/community/jseverywhere/