You don't want to be writing all
these system calls.
You need something that gives
you… an ORM abstraction, or
something.
Slide 16
Slide 16 text
so Sails.js was born
Slide 17
Slide 17 text
What is
?
Slide 18
Slide 18 text
Sails is a backend web framework.
(runs on the server)
Slide 19
Slide 19 text
Sails is a backend web framework.
(built on Express)
(runs on the server)
Slide 20
Slide 20 text
Sails is a backend web framework.
(uses Socket.io for optional WebSocket support)
(built on Express)
(runs on the server)
Slide 21
Slide 21 text
No content
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
What does “backend web framework” mean?
Slide 24
Slide 24 text
handles incoming requests
Sails is a backend web framework.
Slide 25
Slide 25 text
provides structure
Sails is a backend web framework.
Slide 26
Slide 26 text
talks to your database
Sails is a backend web framework.
Slide 27
Slide 27 text
talks to your database database(s)
Sails is a backend web framework.
Slide 28
Slide 28 text
Sails is NOT a frontend web framework.
Slide 29
Slide 29 text
That’s up to you.
Slide 30
Slide 30 text
Handling Requests
Slide 31
Slide 31 text
Two different kinds of incoming requests:
Slide 32
Slide 32 text
$.get(‘/hello’, function (data) {!
console.log(data);!
});
Slide 33
Slide 33 text
Two different kinds of incoming requests:
Slide 34
Slide 34 text
io.socket.get(‘/hello’, function (data)
{!
console.log(data);!
});
Slide 35
Slide 35 text
Two different kinds of incoming requests:
Slide 36
Slide 36 text
same server-side code
Slide 37
Slide 37 text
same server-side code
function (req, res) {!
res.json({!
hello: ’world’!
});!
}
Slide 38
Slide 38 text
same server-side code
function (req, res) {!
if (req.isSocket) {!
return res.json({!
hello: ‘socket’!
}!
}!
!
return res.json({!
hello: ’http’!
});!
}
Slide 39
Slide 39 text
Structuring Your App
Slide 40
Slide 40 text
Sails is an MVC framework.
Slide 41
Slide 41 text
Sails is an MVC framework.
Slide 42
Slide 42 text
Sails is an MVC framework.
Slide 43
Slide 43 text
Sails is an MVC framework.
Slide 44
Slide 44 text
Sails is an MVC framework.
Slide 45
Slide 45 text
Sails is an MVC framework.
Slide 46
Slide 46 text
Sails is an MVC framework.
Slide 47
Slide 47 text
Sails is an MVC framework.
Slide 48
Slide 48 text
Sails is an MVC framework.
Slide 49
Slide 49 text
More Conventions
Slide 50
Slide 50 text
Sails comes with an asset pipeline.
Slide 51
Slide 51 text
Sails comes with an asset pipeline.
(defaults to grunt)
Slide 52
Slide 52 text
Sails comes with an asset pipeline.
(but gulp is ok too)
Slide 53
Slide 53 text
More Conventions
Slide 54
Slide 54 text
Sails apps maintain Node.js best-practices.
Slide 55
Slide 55 text
More Conventions
Slide 56
Slide 56 text
Sails apps support existing Express code.
Slide 57
Slide 57 text
Databases
Slide 58
Slide 58 text
Sails ships with an ORM.
(Object-Relational Mapping)
Slide 59
Slide 59 text
Sails ships with an ORM.
(Object-Relational Mapping)
Slide 60
Slide 60 text
No content
Slide 61
Slide 61 text
No content
Slide 62
Slide 62 text
>=20 other community adapters custom app-specific adapters
Slide 63
Slide 63 text
Put your data in the container that makes the most sense for it.
Users
Products
Orders
Activity
ExternalUsers
Administrators
Slide 64
Slide 64 text
Put your data in the container that makes the most sense for it.
Then join it together.
Products
Users
Administrators
Activity
Orders
ExternalUsers
Slide 65
Slide 65 text
No content
Slide 66
Slide 66 text
Community
Slide 67
Slide 67 text
• Released v0.10 in late Summer
2014
• ~7,600 Github stars
• ~750-1500 npm downloads / day
• ~100 folks in #sailsjs on
freenode on average
• ~1,100 questions tagged on SO
Community