from web app model design to production with wakanda
DESCRIPTION
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.TRANSCRIPT
![Page 1: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/1.jpg)
From Web App Model Design
to production with Wakanda
Alexandre Morgaut - 4D @amorgaut@wakandasoft
![Page 2: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/2.jpg)
PresentationW3C AC member
Web Architect
JS Expert
REST Lover
NoSQL Fanboy
@amorgaut
http://about.me/amorgaut
![Page 3: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/3.jpg)
Agenda
Wakanda Architecture
How a Project start!
Model vs Mockup
Test-Driven Development
Team Work & Source Control
Debugging
Deployment & Administration
Evolutions & Refactoring
![Page 4: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/4.jpg)
wakanda
![Page 5: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/5.jpg)
Open Source Cross-platform development and deployment system
for model-driven web-based applications
![Page 6: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/6.jpg)
wakanda.org
@wakandasoft
JSeverywhere.org
@JSeverywhere
![Page 7: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/7.jpg)
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
![Page 8: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/8.jpg)
WakandaDB
Wakanda Server(aka WakandaDB)
Your Development ToolsVisual Studio, XCode, NetBeans, Eclipse,
Maqueta, Codio, Cloud9, Orion, Sencha Architect+
Chrome Web Inspector
Your Server FrameworkJava, .NET, node.js PHP, Python, Ruby...
REST/JSON
Webkit debugger protocol 1.0& Firebug Crossfire protocol
Your Web app Client FrameworkExtJS, Sencha Touch, Kendo UI, Backbone.js...
Your native app Client FrameworkiOS, Androïd, .NET...
REST/JSON, Git
![Page 9: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/9.jpg)
Standard BasedW3C
- XMLHttpRequest, WindowTimer,
- Web Storage, Web Worker, File, FileSystem, Blob, ...
CommonJS
- Modules, Package, Unit Test
Other
- Console, JSON, JSON-RPC, REST
(+ some node.js support)
![Page 10: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/10.jpg)
Webkit JavaScriptCore
Open Source, multi-threaded, preemptive, thread-safe, 64bits
Fast (2 JIT), strict mode (ES5), well structured & documented
aka SquirrelFish Extreme & Nitro Extremehttp://trac.webkit.org/wiki/JavaScriptCore
![Page 11: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/11.jpg)
Wakanda Circle of Friends
![Page 12: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/12.jpg)
How a project starts
![Page 13: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/13.jpg)
“Expression of a requirement”
“Birth of an innovative idea”
“First usage of an innovative technology”
![Page 14: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/14.jpg)
Model vs Mockup
![Page 15: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/15.jpg)
![Page 16: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/16.jpg)
Mockup
Fast representation of a “vision”
Human friendly shared idea
![Page 17: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/17.jpg)
Model-driven
GUI is too platform specific
Removes distraction from GUI
Focus on requirements
![Page 18: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/18.jpg)
Test-Driven Development
![Page 19: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/19.jpg)
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
![Page 20: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/20.jpg)
CommonJS Unit Testvar! 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
![Page 21: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/21.jpg)
Team Work& Source Control
![Page 22: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/22.jpg)
![Page 23: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/23.jpg)
Team WorkServer
- Model split in SSJS modules
- Service & RPC modules, Shared Workers
Client
- Web pages & Web Components
- Custom Widgets
- Themes, application.css
Tool
- Studio Extensions
![Page 24: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/24.jpg)
Source Control
Commit
Log / History
Pull / Push on Github
Pull / Push on Server
![Page 25: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/25.jpg)
Debugging
![Page 26: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/26.jpg)
Wakanda Internal Debugger
![Page 27: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/27.jpg)
Web Inspector
![Page 28: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/28.jpg)
Deployment & Administration
![Page 29: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/29.jpg)
Server Administration
![Page 30: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/30.jpg)
Data Browser
![Page 31: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/31.jpg)
Experimental Tool
Deployment
Gandi VPS
![Page 32: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/32.jpg)
Evolutions& Refactoring
![Page 33: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/33.jpg)
Application Evolutions
Sandboxed Modules (libs, RPC, Services)
Sandboxed Web Components
Updatable DataModel
- auto type conversion
- Extended Models
- openRemoteCatalog()
![Page 34: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/34.jpg)
Wakanda Evolutions
Short releases cycle
More and more Standard support
Open Source & Enterprise Editions
![Page 35: From Web App Model Design to Production with Wakanda](https://reader034.vdocuments.site/reader034/viewer/2022051413/55512b25b4c905f1528b4c3d/html5/thumbnails/35.jpg)
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/