Technology

From Web App Model Design to Production with Wakanda

Categories
Published
of 35
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
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
  • 1. From Web App Model Designto production with WakandaAlexandre Morgaut - 4D @amorgaut@wakandasoft
  • 2. PresentationW3C AC memberWeb ArchitectJS ExpertREST LoverNoSQL Fanboy@amorgauthttp://about.me/amorgaut
  • 3. AgendaWakanda ArchitectureHow a Project start!Model vs MockupTest-Driven DevelopmentTeam Work & Source ControlDebuggingDeployment & AdministrationEvolutions & Refactoring
  • 4. wakanda
  • 5. Open Source Cross-platformdevelopment and deployment systemfor model-driven web-based applications
  • 6. wakanda.org@wakandasoftJSeverywhere.org@JSeverywhere
  • 7. WakandaWakanda Server(aka WakandaDB)Wakanda Application FrameworkWakanda StudioDataStore Model EditorCode EditorGUI DesignerDebuggerUsers & GroupsAdministrationExtensionsREST/JSONJSON-RPC
  • 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. 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. 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. Wakanda Circle of Friends
  • 12. How a project starts
  • 13. “Expression of a requirement”“Birth of an innovative idea”“First usage of an innovative technology”
  • 14. Model vs Mockup
  • 15. MockupFast representation of a “vision”Human friendly shared idea
  • 16. Model-drivenGUI is too platform specificRemoves distraction from GUIFocus on requirements
  • 17. Test-DrivenDevelopment
  • 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. 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. Team Work& Source Control
  • 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. Source ControlCommitLog / HistoryPull / Push on GithubPull / Push on Server
  • 23. Debugging
  • 24. Wakanda Internal Debugger
  • 25. Web Inspector
  • 26. Deployment& Administration
  • 27. Server Administration
  • 28. Data Browser
  • 29. Experimental ToolDeploymentGandi VPS
  • 30. Evolutions& Refactoring
  • 31. ApplicationEvolutionsSandboxed Modules (libs, RPC, Services)Sandboxed Web ComponentsUpdatable DataModel- auto type conversion- Extended Models- openRemoteCatalog()
  • 32. Wakanda EvolutionsShort releases cycleMore and more Standard supportOpen Source & Enterprise Editions
  • 33. Q & ASan Francisco, CA - Oct. 25thhttp://jseverywhere.orgWakandahttp://wakanda.org@jseverywhere@wakandasoftClient and Server JavaScript APIs Community Grouphttp://www.w3.org/community/jseverywhere/
  • Search
    Similar documents
    View more...
    Related Search
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks