gtug js will save us all
DESCRIPTION
Presentation about the serverside Javascript trend and opportunity. Presented at GTUG, the Portuguese Technical Users Group.TRANSCRIPT
![Page 1: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/1.jpg)
Featuring
STARBUCKS
Javascript will save us all
Back to the Future
Mario Valente - 2010
![Page 3: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/3.jpg)
Featuring
STARBUCKS
Serverside Javascript
Hope & Opportunity
Mario Valente 2008
![Page 5: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/5.jpg)
Featuring
STARBUCKS
Javascript will save us all
Back to the Future
Mario Valente - 2010
![Page 6: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/6.jpg)
2005 P*
![Page 7: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/7.jpg)
Presentation (HTML)
Logic (?)Logic (?)
Data (SQL)Data (SQL)
3-tier3-tier
![Page 8: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/8.jpg)
MVCMVC
![Page 9: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/9.jpg)
![Page 10: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/10.jpg)
![Page 11: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/11.jpg)
![Page 12: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/12.jpg)
![Page 13: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/13.jpg)
![Page 14: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/14.jpg)
![Page 15: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/15.jpg)
![Page 16: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/16.jpg)
![Page 17: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/17.jpg)
2008 Codebits
![Page 18: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/18.jpg)
If they can come up with a solid virtualisation environment for Javascript, they may be on to a big winner. They could be
the BEA or JBoss of 2015
http://softwareas.com/server-side-javascript-hope-and-opportunity
The real gap is in server-side The real gap is in server-side frameworks and hosting. frameworks and hosting.
There's no killer app There's no killer app Javascript server, a la whatJavascript server, a la what
Rails did to RubyRails did to Ruby
![Page 19: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/19.jpg)
Agenda● WTF (15 min)● RTFM (15 min)● ZOMG (15 min)● FAIL/FTW (15 min)
![Page 20: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/20.jpg)
WTF● Architecture ● Design Patterns● Models● 3-tier● MVC● Separation of concerns● KISS/DRY
![Page 21: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/21.jpg)
WTF?!
![Page 22: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/22.jpg)
WTF?!
![Page 23: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/23.jpg)
WTF?!
![Page 24: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/24.jpg)
WTF?!
![Page 25: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/25.jpg)
WTF...?
![Page 26: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/26.jpg)
RTFMJavascript wi l l save us al l
● JS on the client ● JS on the server● JS on the DB● Functional goodness● JSON all the way down● REST all the way down
![Page 27: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/27.jpg)
RTFMJavascript on the server
● Pure(SpiderMonkey,V8,Squirrelfish) ● Rhino/JVM (Jaxer, AppJet, 10gen)
Javascript on the DB● CouchDB (JS views)● Other OO/XML/doc oriented DBs
![Page 28: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/28.jpg)
RTFMPure (Spidermonkey)
● jslibs ● jsext● jsdb● No standards!● Killer app/Rails●Opportunity/JBoss2015
![Page 29: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/29.jpg)
ZOMG!Server side Javascript
Web Framework● jslibs ● jsext● jsdb● No standards!● Killer app/Rails●Opportunity/JBoss2015
NodeJS?
![Page 30: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/30.jpg)
ZOMG!Server side Javascript
Web Framework
● Standard API (file I/O,etc)● JS based JSON doc DB● JS appserver● Pure HTML templating
![Page 31: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/31.jpg)
ZOMG!
JS/JSON/REST al l the way JS/JSON/REST al l the way down!!down!!
WTF?!
JS
![Page 32: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/32.jpg)
ZOMG!Server side Javascript
Web Framework● jslibs ● jsext● jsdb● No standards!● Killer app/Rails●Opportunity/JBoss2015
NodeJS?
![Page 33: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/33.jpg)
ZOMG!A Future JS Web
Framework
IntroducingSTARBUCKS
MACIEIRA (HTML templating)
CIMBALI (API/web/appserver)
SICAL (JSON storage)
![Page 34: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/34.jpg)
https://github.com/ry/node/wiki/moduleshttps://github.com/ry/node/wiki/modules
#database#database(Awesome, Perstore)(Awesome, Perstore)
#web-frameworks-micro, #web-frameworks-full#web-frameworks-micro, #web-frameworks-full(Pintura)(Pintura)
#templating#templating(PURE)(PURE)
![Page 35: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/35.jpg)
ZOPE- Acquisition vs Prototype OO- Object based URL mapping- Object persistence & versioning
![Page 36: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/36.jpg)
https://github.com/ry/node/wiki/moduleshttps://github.com/ry/node/wiki/modules
#database#database(Awesome, Perstore)(Awesome, Perstore)
#web-frameworks-micro, #web-frameworks-full#web-frameworks-micro, #web-frameworks-full(Pintura)(Pintura)
#templating#templating(PURE)(PURE)
![Page 37: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/37.jpg)
Javascript will save
Javascript will save
us all!us all!
![Page 38: GTUG JS will save us all](https://reader033.vdocuments.mx/reader033/viewer/2022042715/5596e8941a28ab540f8b45d2/html5/thumbnails/38.jpg)
VS.VS.
FIGHT!FIGHT!