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
96
Hardware Development for JavaScript Developers
jsist
0
73
This is bigger than us: Building a future for Open Source
jsist
0
72
Getting Started with ClojureScript
jsist
0
96
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
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
190
モビリティSaaSにおけるデータ利活用の発展
nealle
0
110
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
6
3.3k
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
31
11k
r2-image-worker
yusukebe
1
170
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
320
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
36
11k
アーキテクチャと考える迷子にならない開発者テスト
irof
7
2.6k
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.6k
Inside of Swift Export
giginet
PRO
1
550
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
110
2026年向け会社紹介資料
misu
0
160
Featured
See All Featured
KATA
mclloyd
PRO
32
15k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Statistics for Hackers
jakevdp
799
220k
Facilitating Awesome Meetings
lara
57
6.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Designing for Performance
lara
610
69k
BBQ
matthewcrist
89
9.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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