Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Realtime MVC with Sails.js
Search
JSIST
September 27, 2014
Programming
0
140
Realtime MVC with Sails.js
JSIST 2014
By : Serdar Doğruyol
http://jsist.org
JSIST
September 27, 2014
Tweet
Share
More Decks by JSIST
See All by JSIST
It's never too late to fight your legacy!
jsist
1
120
ES6: the future is now
jsist
0
720
Componentize all the things!
jsist
1
200
From Website to Webapp: Introducing SAFE
jsist
0
95
Hardware Development for JavaScript Developers
jsist
0
72
This is bigger than us: Building a future for Open Source
jsist
0
72
Getting Started with ClojureScript
jsist
0
94
Ember.js Framework
jsist
2
110
AngularJS Directives for D3JS: Enhancing the dynamic behavior of data visualization
jsist
0
150
Other Decks in Programming
See All in Programming
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
460
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
Swift Concurrency - 状態監視の罠
objectiveaudio
2
540
Software Architecture
hschwentner
6
2.3k
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.7k
開発生産性を上げるための生成AI活用術
starfish719
3
1.2k
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
300
CSC509 Lecture 04
javiergs
PRO
0
300
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
510
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
120
Go言語はstack overflowの夢を見るか?
logica0419
0
370
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Language of Interfaces
destraynor
162
25k
Facilitating Awesome Meetings
lara
56
6.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Music & Morning Musume
bryan
46
6.8k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Statistics for Hackers
jakevdp
799
220k
Making Projects Easy
brettharned
120
6.4k
Gamification - CAS2011
davidbonilla
81
5.5k
Transcript
Welcome to Istanbul
Serdar Doğruyol Lead Developer @webBox @sdogruyol
http://webbox.io
<3 Ruby <3 Javascript
Gorbachev Puff Puff Thunderhorse @gorbypuff
First Let’s talk about Node
• Javascript everywhere <3 • Freaking Fast • Perfect Fit
for Realtime Apps • NPM Rocks
is GREAT
BUT
hapi meteor flatiron actionhero koa geddy socketstream express zappa ???
http
Typical Node App • Everyone tries to reinvent the wheel
• No common structure • Security problems
None
None
None
“Node on Sails for modern apps.” P.S: I’m looking at
you Ruby on Rails
Modern App? • APIs • Security • Realtime
Sails • Convention over Configuration via MVC • Seamless Realtime
powered by Socket.io • Automatic API generation via Blueprints. • Security & Access Control via Policies.
MVC • Good ol’ MVC. Just like Rails, Django, Symfony
e.g • Views are EJS by default. Can be anything you prefer ( Jade e.g)
Waterline • Totally Database Agnostic ( SQL and NoSQL) •
ORM + ODM • Same code to retrieve data from different adapters. • Easily Customizable
Realtime = Easy • WebSockets <3 • Translates incoming socket
messages to be compatible with all of your routes. • No need to have a separate code base
Blueprints • Just like Rails’ scaffolds but for APIs. •
Built-in search, sort, pagination and complex queries. • Can be protected / controlled via policies.
Policies • Reusable • Basically Express Middleware • Preprocessing or
protecting to handle requests for controllers. • Can be used for access control, authentication,request limiting or anything you can think of.
Associations • PostgreSQL + MongoDB. Seriously? • Cross-connection. Different hosts,
users, easy legact data integration, e.g join two PostgreSQL databases with different schemas.
Other Goodies • Flexible Asset Pipeline. Customizable, Grunt- based, can
be used with all the existing plugins. • Custom Generators • REPL • Internationalization
None
Thank You! @sdogruyol