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
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
740
Componentize all the things!
jsist
1
210
From Website to Webapp: Introducing SAFE
jsist
0
100
Hardware Development for JavaScript Developers
jsist
0
82
This is bigger than us: Building a future for Open Source
jsist
0
80
Getting Started with ClojureScript
jsist
0
110
Ember.js Framework
jsist
2
120
AngularJS Directives for D3JS: Enhancing the dynamic behavior of data visualization
jsist
0
150
Other Decks in Programming
See All in Programming
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
1.9k
SourceGeneratorのススメ
htkym
0
170
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
530
AI時代の認知負荷との向き合い方
optfit
0
120
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.9k
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
160
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
620
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
940
2026年 エンジニアリング自己学習法
yumechi
0
120
今から始めるClaude Code超入門
448jp
7
7.6k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
570
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Technical Leadership for Architectural Decision Making
baasie
1
230
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
400
Deep Space Network (abreviated)
tonyrice
0
38
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
30 Presentation Tips
portentint
PRO
1
200
Automating Front-end Workflow
addyosmani
1371
200k
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