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
120
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
89
ES6: the future is now
jsist
0
620
Componentize all the things!
jsist
1
170
From Website to Webapp: Introducing SAFE
jsist
0
83
Hardware Development for JavaScript Developers
jsist
0
47
This is bigger than us: Building a future for Open Source
jsist
0
61
Getting Started with ClojureScript
jsist
0
73
Ember.js Framework
jsist
2
74
AngularJS Directives for D3JS: Enhancing the dynamic behavior of data visualization
jsist
0
140
Other Decks in Programming
See All in Programming
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
250
CSC307 Lecture 06
javiergs
PRO
0
360
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
800
しくじり先生 Image Matching Challenge 2024 編
goosehaaan
0
810
CSC307 Lecture 10
javiergs
PRO
0
310
ドメイン駆動設計の実践
masuda220
PRO
19
5.3k
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
Jetpack for KMP
fornewid
1
290
最近追加した型の紹介とその振り返り
aki19035vc
0
180
小さな開発会社を作った理由
polidog
0
1.9k
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
28
2.2k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
Git: the NoSQL Database
bkeepers
PRO
423
64k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Agile that works and the tools we love
rasmusluckow
325
20k
Making Projects Easy
brettharned
111
5.7k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
Facilitating Awesome Meetings
lara
46
5.8k
Teambox: Starting and Learning
jrom
130
8.6k
How to Ace a Technical Interview
jacobian
274
23k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
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