Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
150
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
97
Hardware Development for JavaScript Developers
jsist
0
77
This is bigger than us: Building a future for Open Source
jsist
0
75
Getting Started with ClojureScript
jsist
0
100
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
チームをチームにするEM
hitode909
0
340
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
250
tparseでgo testの出力を見やすくする
utgwkk
2
230
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
120
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.7k
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.2k
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
110
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.5k
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
360
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
Site-Speed That Sticks
csswizardry
13
1k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How STYLIGHT went responsive
nonsquared
100
6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Why Our Code Smells
bkeepers
PRO
340
57k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Practical Orchestrator
shlominoach
190
11k
The Language of Interfaces
destraynor
162
25k
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