isomorphic javascript
?
client = server?
client = server
symmetric infra
app
infra
client server
infrastructure?
DOM
MVC
HTML
SQL
WebSocket
Route
CSS
SMTP
HTTP
NoSQL
OAuth
isomorphic view
document.getElementById('content');
rendr (AirBnB)
backbone + template
https://github.com/rendrjs/rendr
react (Facebook)
virtual DOM
http://facebook.github.io...
isomorphic data
mongoObj.insert({text: ‘hello word'});
meteor
mongo API
https://www.meteor.com/
pouchDB
couchDB implementation
http://pouchdb.com/
client != server
asymmetric infra
client serve
MVC angular express
view HTML JSON
persiste
nce
XMLHttpRequest
SELECT *
FROM
isomorphic business
logic
asymmetric infra
app
infra
client server
infra
mvc != app
separation of concerns
http://socket.io/#how-to-use
single page application
file
http://vimeo.com/89258863
Modular JavaScript With npm and Node Modules
https://www.youtube.com/watch?
v=WpkDN78P884
architecture the lost years by Uncle
Bob
architecture is not about frameworks...
business/
package.json
use_case/
model/
test/
web/
server/
package.json
route.js
controllers/
repository/
test/
client/
pa...
business/
web/
server/
client/
rest-api/
cli/
irc/
voice/
{{whatever}}/
https://github.com/qertoip/guru_watch/wiki/Real-Wo...
SHOW IT!
use
case
models
controller
repositor
y
view
Business
Infra
Client &
Server
Salvar
Cliente
Use Case
Cliente
Cliente
Controlle
r
(angular)
Cliente
Repositor
y
index.ht
ml
Infra
(browser)
Clien
t
DOM ...
Salvar
Cliente
Use Case
Cliente
Cliente
Controlle
r
(express)
Cliente
Repositor
y
JSON
Serve
r
HTTP DB
Cliente
(server)
Bu...
client = server
X
cliente != server
cliente != server
cliente != server
cliente != server
cliente != server
david lojudice sb
@dalssoft
david@vizir.com.br
david@vizir.com.br
david@vizir.com.br
https://github.com/Vizir/isomorphic_js
Isomorphic Javascript - nodebr
Isomorphic Javascript - nodebr
Isomorphic Javascript - nodebr
Isomorphic Javascript - nodebr
Isomorphic Javascript - nodebr
Isomorphic Javascript - nodebr
Isomorphic Javascript - nodebr
Isomorphic Javascript - nodebr
Upcoming SlideShare
Loading in …5
×

Isomorphic Javascript - nodebr

1,075 views

Published on

In this talk, David Lojudice Sobrinho talks about Isomorphic Javascript and how to achieve this.

Github:
https://github.com/Vizir/isomorphic_js

Original (with lovely animated gifs):
https://dl.dropboxusercontent.com/u/702095/Apresenta%C3%A7%C3%B5es/isomorphic%20javascript%20-%20nodebr.zip

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

No Downloads
Views
Total views
1,075
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
9
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Isomorphic Javascript - nodebr

  1. 1. isomorphic javascript
  2. 2. ?
  3. 3. client = server?
  4. 4. client = server
  5. 5. symmetric infra app infra client server
  6. 6. infrastructure? DOM MVC HTML SQL WebSocket Route CSS SMTP HTTP NoSQL OAuth
  7. 7. isomorphic view document.getElementById('content');
  8. 8. rendr (AirBnB) backbone + template https://github.com/rendrjs/rendr react (Facebook) virtual DOM http://facebook.github.io/react/
  9. 9. isomorphic data mongoObj.insert({text: ‘hello word'});
  10. 10. meteor mongo API https://www.meteor.com/ pouchDB couchDB implementation http://pouchdb.com/
  11. 11. client != server
  12. 12. asymmetric infra client serve MVC angular express view HTML JSON persiste nce XMLHttpRequest SELECT * FROM
  13. 13. isomorphic business logic
  14. 14. asymmetric infra app infra client server infra
  15. 15. mvc != app
  16. 16. separation of concerns http://socket.io/#how-to-use
  17. 17. single page application file http://vimeo.com/89258863 Modular JavaScript With npm and Node Modules
  18. 18. https://www.youtube.com/watch? v=WpkDN78P884 architecture the lost years by Uncle Bob architecture is not about frameworks and tools architecture is about use cases business logic should be isolated from frameworks business logic should be isolated from the frontend (delivery mechanism) business logic should be isolated from the backend (persistence mechanism)
  19. 19. business/ package.json use_case/ model/ test/ web/ server/ package.json route.js controllers/ repository/ test/ client/ package.json index.js view/ controllers/ repository/ public/ test/
  20. 20. business/ web/ server/ client/ rest-api/ cli/ irc/ voice/ {{whatever}}/ https://github.com/qertoip/guru_watch/wiki/Real-World-Concerns
  21. 21. SHOW IT!
  22. 22. use case models controller repositor y view Business Infra Client & Server
  23. 23. Salvar Cliente Use Case Cliente Cliente Controlle r (angular) Cliente Repositor y index.ht ml Infra (browser) Clien t DOM $HTTP Business
  24. 24. Salvar Cliente Use Case Cliente Cliente Controlle r (express) Cliente Repositor y JSON Serve r HTTP DB Cliente (server) Business Infra (node.js)
  25. 25. client = server X cliente != server cliente != server cliente != server cliente != server cliente != server
  26. 26. david lojudice sb @dalssoft david@vizir.com.br david@vizir.com.br david@vizir.com.br https://github.com/Vizir/isomorphic_js

×