GTUG JS will save us all

39
Featuring STARBUCKS Javascript will save us all Back to the Future Mario Valente - 2010

description

Presentation about the serverside Javascript trend and opportunity. Presented at GTUG, the Portuguese Technical Users Group.

Transcript of GTUG JS will save us all

Page 1: GTUG JS will save us all

Featuring

STARBUCKS

Javascript will save us all

Back to the Future

Mario Valente - 2010

Page 2: GTUG JS will save us all

http://meyerweb.com/eric/thoughts/2008/10/22/javascript-will-save-us-all/

Page 3: GTUG JS will save us all

Featuring

STARBUCKS

Serverside Javascript

Hope & Opportunity

Mario Valente 2008

Page 4: GTUG JS will save us all

http://softwareas.com/server-side-javascript-hope-and-

opportunity

Page 5: GTUG JS will save us all

Featuring

STARBUCKS

Javascript will save us all

Back to the Future

Mario Valente - 2010

Page 6: GTUG JS will save us all

2005 P*

Page 7: GTUG JS will save us all

Presentation (HTML)

Logic (?)Logic (?)

Data (SQL)Data (SQL)

3-tier3-tier

Page 8: GTUG JS will save us all

MVCMVC

Page 9: GTUG JS will save us all
Page 10: GTUG JS will save us all
Page 11: GTUG JS will save us all
Page 12: GTUG JS will save us all
Page 13: GTUG JS will save us all
Page 14: GTUG JS will save us all
Page 15: GTUG JS will save us all
Page 16: GTUG JS will save us all
Page 17: GTUG JS will save us all

2008 Codebits

Page 18: GTUG JS will save us all

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

Agenda● WTF (15 min)● RTFM (15 min)● ZOMG (15 min)● FAIL/FTW (15 min)

Page 20: GTUG JS will save us all

WTF● Architecture ● Design Patterns● Models● 3-tier● MVC● Separation of concerns● KISS/DRY

Page 21: GTUG JS will save us all

WTF?!

Page 22: GTUG JS will save us all

WTF?!

Page 23: GTUG JS will save us all

WTF?!

Page 24: GTUG JS will save us all

WTF?!

Page 25: GTUG JS will save us all

WTF...?

Page 26: GTUG JS will save us all

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

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

RTFMPure (Spidermonkey)

● jslibs ● jsext● jsdb● No standards!● Killer app/Rails●Opportunity/JBoss2015

Page 29: GTUG JS will save us all

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

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

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

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

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://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

ZOPE- Acquisition vs Prototype OO- Object based URL mapping- Object persistence & versioning

Page 36: GTUG JS will save us all

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

Javascript will save

Javascript will save

us all!us all!

Page 38: GTUG JS will save us all

VS.VS.

FIGHT!FIGHT!

Page 39: GTUG JS will save us all

THE END

FAIL/FTW [email protected]