Wakanda: Integrated Web Application Development with NoSQL and JavaScript


Published on

This is a slide presentation about Web Application development using Wakanda in pure JavaScript. This presentation happened at JSConf Argentina on May 19, 2012. For additional resources, please visit http://wakanda.org and http://jsconf.com.ar

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • We are going to talk about a integrated, full-stack JavaScript development approach for Web Applications.
  • In software projects, we have to deliver on time and on budget. Like in a Rugby match you want to “touch-down” to score we want to deliver a great product. We work in agile teams, of programmers, designers, clients, the open source community and 3 rd parties to deliver. There are tons of challenges on the way to cross the line: the right tools, customer requirements, bugs, deadlines, etc.
  • In this presentation we want to focus on Web Applications. Web Applications are complex.
  • This is where all Web Applications will need to run on: connected mobile devices. Most of all apps written will run on mobile devices, smart phones or large touch-screen devices, like the iPad. They are run on either the (mobile) browsers or acquired through the manufacturers’ “Store” ecosystem.
  • Web Applications should be developed in such way, that without a lot of work, they can easily be modified to run on several devices. Today, there are more than 3997 distinct Android products available, which creates a huge device fragmentation. Fragmentation also happening in the iOS world, i.e. different screen resolutions (Retina vs. no retina display).
  • There are over 640 programming languages out there today, only an handful really make sense for Web Application programming.
  • Reasonably there are only be a handful of languages, frameworks, database servers that one considers for Web Applications.
  • The combination dependencies: languages, tools, frameworks, infrastructure create a “house of cards” situation, with so many dependencies to manage that apps do become unstable, when new versions of a apps are deployed or new app component are published, when we have to switch from different database systems, MySQL to PostgresQL in a live system, do an npm install which fails on a newer version of nodejs, etc.
  • So most of the times you require an entire team of experts (rocket scientists) like these. They develop, configure run and maintain a Web Application.
  • We want to empower the every day programmer to create Web Applications, using their existing HTML and JavaScript skills!
  • Wakanda is an full-stack JavaScript development and deployment system. It is open-source and hosted on Github. Check it out, or download an installable version on http://wakanda.org
  • Wakanda is for data centric, Web Applications
  • It is cross-platform, available on Mac, Windows, and Linux today.
  • It uses the latest HTML5 and JavaScript standards.
  • Wakanda is a full-stack JavaScript development and deployment system.
  • It is comprised of: Wakanda Server Data/HTTP Server JavaScript Environment NoSQL Object Datastore Wakanda Application Framework Automatically loaded Model proxy No plug-in, no proprietary code Wakanda Studio Data Model Designer Code Editor WYSIWYG GUI Designer Debugger Application configuration
  • Let’s show you how to build a simple data centric Web Application with Wakanda today.
  • Thank you very much. Please visit us on wakanda.org, participate on our forum at forum.wakanda.org and follow us on @wakandasoft
  • Wakanda: Integrated Web Application Development with NoSQL and JavaScript

    1. 1. Integrated Web ApplicationDevelopment with NoSQL and JavaScript Juergen Fesslmeier @chinshr
    2. 2. Challenge
    3. 3. WebApplications
    4. 4. Device Fragmentation Source: http://opensignalmaps.com/reports/fragmentation.php
    5. 5. A#, .NET, A#, (Axiom), A-0, System, A+, A++, ABAP, ABC, ABC, ALGOL, ABLE, ABSET, ABSYS, Abundance, ACC, Accent, Ace, DASL, ACT-III, Action!, ActionScript,Ada, Adenine, Agda, Agora, AIMMS, Alef, ALF, ALGOL, 58, ALGOL, 60, ALGOL, 68, Alice, Alma-0, AmbientTalk, Amiga, E, AMOS, AMPL, APL, AppleScript, Arc, Arden,Syntax[1], ARexx, Argus, AspectJ, Assembly, language, ATS, Ateji, PX, AutoHotkey, Autocoder, AutoIt, AutoLISP, Visual, LISP, Averest, AWK, Axum, Babbage, Bash,BASIC, bc, BCPL, BeanShell, Bertrand, BETA, Bigwig, Bistro, BitC, BLISS, Blue, Bon, Boo, Boomerang, Bourne, shell, (including, bash, and, ksh), BREW, BPEL,BUGSYS, BuildProfessional, C, C--, C++, C#, C/AL, ObjectScript, C, Shell, Caml, Candle, Cayenne, CDuce, Cecil, Cel, Cesil, Ceylon, CFML, Cg, Chapel, CHAIN, Charity,Charm, Chef, CHILL, CHIP-8, chomski, Chrome, (now, Oxygene), ChucK, CICS, Cilk, CL, (IBM), Claire, Clarion, Clean, Clipper, CLIST, Clojure, CLU, CMS-2, COBOL,CobolScript, Cobra, CODE, CoffeeScript, Cola, ColdC, ColdFusion, Cool, COMAL, Combined, Programming, Language, (CPL), Common, Intermediate, Language, (CIL),Common, Lisp, (also, known, as, CL), COMPASS, Component, Pascal, COMIT, Constraint, Handling, Rules, (CHR), Converge, Coral, 66, Corn, CorVision, Coq,COWSEL, CPL, csh, CSP, Csound, Curl, Curry, Cyclone, Cython, DASL, (Datapoints, Advanced, Systems, Language), DASL, Dart, DataFlex, Datalog, DATATRIEVE,dBase, dc, DCL, Deesel, (formerly, G), Delphi, DinkC, DIBOL, DL/I, Draco, Dylan, DYNAMO, E#, Ease, EASY, Easy, PL/I, EASYTRIEVE, PLUS, ECMAScript, Edinburgh,IMP, EGL, Eiffel, ELAN, Emacs, Lisp, Emerald, Epigram, Erlang, Escapade, Escher, ESPOL, Esterel, Etoys, Euclid, Euler, Euphoria, EusLisp, Robot, Programming,Language, CMS, EXEC, EXEC, 2, F#, Factor, Falcon, Fancy, Fantom, FAUST, Felix, Ferite, FFP, Fjö lnir, FL, Flavors, Flex, FLOW-MATIC, FOCAL, FOCUS, FOIL,FORMAC, @Formula, Forth, Fortran, Fortress, FoxBase, FoxPro, FP, FPr, Franz, Lisp, Frink, F-Script, Fuxi, Game, Maker, Language, GameMonkey, Script, GAMS, GAP,G-code, Genie, GDL, Gibiane, GJ, GLSL, GNU, E, GM, Go, Go!, GOAL, Gö del, Godiva, GOM, (Good, Old, Mad), Goo, GOTRAN, GPSS, GraphTalk, GRASS, Groovy,HAL/S, Hamilton, C, shell, Harbour, Haskell, HaXe, High, Level, Assembly, HLSL, Hop, Hope, Hugo, Hume, HyperTalk, IBM, Basic, assembly, language, IBM, HAScript,IBM, Informix-4GL, IBM, RPG, ICI, Icon, Id, IDL, IMP, Inform, Io, Ioke, IPL, IPTSCRAE, ISLISP, ISPF, ISWIM, J#, J++, JADE, Jako, JAL, Janus, JASS, Java,JavaScript, Javascript#, JCL, JEAN, Join, Java, JOSS, Joule, JOVIAL, Joy, Julia, JScript, JavaFX, Script, Kaleidoscope, Karel, Karel++, Kaya, KEE, KIF, KRC, KRL,KRL, KUKA, Robot, Languageå , KRYPTON, ksh, L#, .NET, LabVIEW, Ladder, Lagoona, LANSA, Lasso, LaTeX, Lava, LC-3, Leadwerks, Script, Leda, Legoscript, LIL,LilyPond, Limbo, Limnor, LINC, Lingo, Linoleum, LIS, LISA, Lisaac, Lisp, -, ISO/IEC, Lite-C, Lithe, Little, b, Logo, Logtalk, LPC, LSE, LSL, Lua, Lucid, Lustre, LYaPAS,Lynx, M2001, M4, Machine, code, MAD, (Michigan, Algorithm, Decoder), MAD/I, Magik, Magma, make, Maple, MAPPER, MARK-IV, Mary, MASM, Microsoft, Assembly,x86, Mathematica, MATLAB, Maxima, (see, also, Macsyma), Max, (Max, Msp, Graphical, Programming, Environment), MaxScript, internal, language, 3D, Studio, Max,Maya, (MEL), MDL, Mercury, Mesa, Metacard, Metafont, MetaL, Microcode, MicroScript, MIIS, MillScript, MIMIC, Mirah, Miranda, MIVA, Script, ML, Moby, Model, 204,Modelica, Modula, Modula-2, Modula-3, Mohol, MOO, Mortran, Mouse, MPD, MSIL, CIL, MSL, MUMPS, Napier88, NASM, NATURAL, Neko, Nemerle, NESL, Net.Data,NetLogo, NetRexx, NewLISP, NEWP, Newspeak, NewtonScript, NGL, Nial, Nice, Nickle, NPL, Not, eXactly, C, (NXC), Not, Quite, C, (NQC), Nu, NSIS, o:XML, Oak,Oberon, Obix, OBJ2, Object, Lisp, ObjectLOGO, Object, REXX, Object, Pascal, Objective-C, Objective-J, Obliq, Obol, OCaml, occam, occam-π, Octave, OmniMark, Onyx,Opa, Opal, OpenEdge, ABL, OPL, OPS5, OptimJ, Orc, ORCA/Modula-2, Oriel, Orwell, Oxygene, Oz, P#, PARI/GP, Pascal, -, ISO, 7185, Pawn, PCASTL, PCF, PEARL,PeopleCode, Perl, PDL, PHP, Phrogram, Pico, Pict, Pike, PIKT, PILOT, Pizza, PL-11, PL/0, PL/B, PL/C, PL/I, -, ISO, 6160, PL/M, PL/P, PL/SQL, PL360, PLANC,Plankalkü PLEX, PLEXIL, Plus, POP-11, PostScript, PortablE, Powerhouse, PowerBuilder, PPL, Processing, Prograph, PROIV, Prolog, Visual, Prolog, Promela, l,PROTEL, ProvideX, Pro*C, Pure, Python, Q, Qi, QtScript, QuakeC, QPL, R++, Racket, RAPID, Rapira, Ratfiv, Ratfor, rc, REBOL, Redcode, REFAL, Reia, Revolution, rex,REXX, Rlab, ROOP, RPG, RPL, RSL, RTL/2, Ruby, Rust, S, S2, S3, S-Lang, S-PLUS, SA-C, SabreTalk, SAIL, SALSA, SAM76, SAS, SASL, Sather, Sawzall, SBL, Scala,Scheme, Scilab, Scratch, Script.NET, Sed, Self, SenseTalk, SETL, Shift, Script, SiMPLE, SIMPOL, SIMSCRIPT, Simula, Simulink, SISAL, SLIP, SMALL, Smalltalk, Small,Basic, SML, SNOBOL(SPITBOL), Snowball, SOL, Span, SPARK, SPIN, SP/k, SPS, Squeak, Squirrel, SR, S/SL, Strand, STATA, Stateflow, Subtext, Suneido,SuperCollider, SuperTalk, SYMPL, SyncCharts, SystemVerilog, T, TACL, TACPOL, TADS, TAL, Tcl, Tea, TECO, TELCOMP, TeX, TEX, TIE, Timber, Tom, TOM,Topspeed, TPU, Trac, T-SQL, TTCN, Turing, TUTOR, TXL, Ubercode, UCSD, Pascal, Unicon, Uniface, UNITY, Unix, shell, UnrealScript, Vala, VBA, VBScript, Verilog,VHDL, Visual, Basic, Visual, Basic, .NET, Visual, C#, Visual, DataFlex, Visual, DialogScript, Visual, FoxPro, Visual, J++, Visual, J#, Visual, Objects, VSXu, Vvvv, WATFIV,WATFOR, WebDNA, WebQL, Winbatch, X++, X10, XBL, XC, xHarbour, XL, XOTcl, XPL, XPL0, XQuery, XSB, XSLT, -, See, XPath, Yorick, YQL, Yoix, Z, notation, Zeno,ZOPL, ZPL Source: http://en.wikipedia.org/wiki/List_of_programming_languages
    6. 6. Rocket Scienc eDevelop, configure, run and maintain.
    7. 7. Web Apps for the rest of us.
    8. 8. JS.everywhere() wakanda.org
    9. 9. Model driven
    10. 10. Cross-platform
    11. 11. WebStandards
    12. 12. Development andDeployment
    13. 13. Demo
    14. 14. Integrated Web ApplicationDevelopment with NoSQL and JavaScript wakanda.org http://github.com/wakanda @wakandasoft
    15. 15. Resources• Rugby – http://www.flickr.com/photos/blind_beholder/5491105857/• Device Fragmentation – http://opensignalmaps.com/reports/fragmentation.php• Rocket Science – http://www.flickr.com/photos/nasahqphoto/6400675145/