From Web App Model Design to Production with Wakanda

2,220 views

Published on

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.

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,220
On SlideShare
0
From Embeds
0
Number of Embeds
63
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

From Web App Model Design to Production with Wakanda

  1. 1. From Web App Model Designto production with WakandaAlexandre Morgaut - 4D @amorgaut@wakandasoft
  2. 2. PresentationW3C AC memberWeb ArchitectJS ExpertREST LoverNoSQL Fanboy@amorgauthttp://about.me/amorgaut
  3. 3. AgendaWakanda ArchitectureHow a Project start!Model vs MockupTest-Driven DevelopmentTeam Work & Source ControlDebuggingDeployment & AdministrationEvolutions & Refactoring
  4. 4. wakanda
  5. 5. Open Source Cross-platformdevelopment and deployment systemfor model-driven web-based applications
  6. 6. wakanda.org@wakandasoftJSeverywhere.org@JSeverywhere
  7. 7. WakandaWakanda Server(aka WakandaDB)Wakanda Application FrameworkWakanda StudioDataStore Model EditorCode EditorGUI DesignerDebuggerUsers & GroupsAdministrationExtensionsREST/JSONJSON-RPC
  8. 8. WakandaDBWakanda Server(aka WakandaDB)Your Development ToolsVisual Studio, XCode, NetBeans, Eclipse,Maqueta, Codio, Cloud9, Orion, Sencha Architect+Chrome Web InspectorYour Server FrameworkJava, .NET, node.js PHP, Python, Ruby...REST/JSONWebkit debugger protocol 1.0& Firebug Crossfire protocolYour Web app Client FrameworkExtJS, Sencha Touch, Kendo UI, Backbone.js...Your native app Client FrameworkiOS, Androïd, .NET...REST/JSON, Git
  9. 9. Standard BasedW3C- XMLHttpRequest, WindowTimer,- Web Storage, Web Worker, File, FileSystem, Blob, ...CommonJS- Modules, Package, Unit TestOther- Console, JSON, JSON-RPC, REST(+ some node.js support)
  10. 10. Webkit JavaScriptCoreOpen Source, multi-threaded, preemptive, thread-safe, 64bitsFast (2 JIT), strict mode (ES5), well structured & documentedaka SquirrelFish Extreme & Nitro Extremehttp://trac.webkit.org/wiki/JavaScriptCore
  11. 11. Wakanda Circle of Friends
  12. 12. How a project starts
  13. 13. “Expression of a requirement”“Birth of an innovative idea”“First usage of an innovative technology”
  14. 14. Model vs Mockup
  15. 15. MockupFast representation of a “vision”Human friendly shared idea
  16. 16. Model-drivenGUI is too platform specificRemoves distraction from GUIFocus on requirements
  17. 17. Test-DrivenDevelopment
  18. 18. Test Servicevar 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.htmlYUI TestClient or Server JS tests
  19. 19. 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
  20. 20. Team Work& Source Control
  21. 21. Team WorkServer- Model split in SSJS modules- Service & RPC modules, Shared WorkersClient- Web pages & Web Components- Custom Widgets- Themes, application.cssTool- Studio Extensions
  22. 22. Source ControlCommitLog / HistoryPull / Push on GithubPull / Push on Server
  23. 23. Debugging
  24. 24. Wakanda Internal Debugger
  25. 25. Web Inspector
  26. 26. Deployment& Administration
  27. 27. Server Administration
  28. 28. Data Browser
  29. 29. Experimental ToolDeploymentGandi VPS
  30. 30. Evolutions& Refactoring
  31. 31. ApplicationEvolutionsSandboxed Modules (libs, RPC, Services)Sandboxed Web ComponentsUpdatable DataModel- auto type conversion- Extended Models- openRemoteCatalog()
  32. 32. Wakanda EvolutionsShort releases cycleMore and more Standard supportOpen Source & Enterprise Editions
  33. 33. Q & ASan Francisco, CA - Oct. 25thhttp://jseverywhere.orgWakandahttp://wakanda.org@jseverywhere@wakandasoftClient and Server JavaScript APIs Community Grouphttp://www.w3.org/community/jseverywhere/

×