Slide 1

Slide 1 text

Why Loopback Rocks?

Slide 2

Slide 2 text

Jeremy Lu @thecat | [email protected] Founder and builder, Lovelyreader | Pubulous | Visualmarks | Docknote

Slide 3

Slide 3 text

Developer
 10+ years hands-on experience" !

Slide 4

Slide 4 text

Consulting" Social Media" Finance" Real Estate" Digital Publishing"

Slide 5

Slide 5 text

Founder" Lovelyreader" Pubulous" Visualmarks" Docknote"

Slide 6

Slide 6 text

! FullstackRocks.com LATEST

Slide 7

Slide 7 text

What is Loopback? - An open source project from StrongLoop" - Main contributor behind Node.js, Express and others" - A Node.js framework for creating APIs real quick" - With robust and well-thought out features built-in

Slide 8

Slide 8 text

It’s good for? - API service and gateway" - Mobile backend and hybrid apps" - Web (sites and SPAs)" - Anything real-time

Slide 9

Slide 9 text

What’s in the box? - A development framework" - A bunch of DevOP toolsets" - and a lot of wisdom packed in

Slide 10

Slide 10 text

The Framework

Slide 11

Slide 11 text

Create API endpoints quickly - Create schema in JSON and translate it to Model automagically" - Each model comes in with 10+ CRUD methods" - Methods become end points instantly

Slide 12

Slide 12 text

{" "name": "user"," "base": "PersistedModel"," "trackChanges": true," "properties": {" "id": {" "id": true," "type": "string"" }," "title": "string"," "completed": {" "type": "boolean"," "default": false" }," "created": {" "type": "number""

Slide 13

Slide 13 text

Highly customizable domain Models - before/after hook for implementing business logics" - Create new remote methods for end points easily

Slide 14

Slide 14 text

ORM - Mongodb, MySql, Postgres, MSSQL, Oracle" ! - and a bunch of other DataSources" ! - Forked from JugglingDb" ! - Easy to use APIs and very efficient" ! - Highly customizable" " " " - Support all kinds of relationships: hasMany, belongsTo...

Slide 15

Slide 15 text

Cloud Storages - Uploading files to S3" - Amazon, Openstack, Rackspace, Azure" - Just like a normal dataSource which provides create/read/update/delete commands"

Slide 16

Slide 16 text

Built-in API Explorer - Test APIs on the fly" - Adjustable parameters" * http://goo.gl/nmj0u0

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Authentication - Built-in User model provides register, login, logout, forgot password and reset" - Complete ACL rules setting

Slide 19

Slide 19 text

Role-based access control - Who has right to access what?" - Support dynamic $role definition too

Slide 20

Slide 20 text

oAuth2 - Using Passport" - facebook/google/twitter/github " - and 100+ providers" * http://goo.gl/bmHMxO

Slide 21

Slide 21 text

Sync - Stores data offline" - App continues to work offline" - Sync data when online" - Conflict resolution and 3-way merging" - Supports socket.io for real-time syncing" * http://goo.gl/plVBhr

Slide 22

Slide 22 text

Studio API Composer - Editing models and datasources" - Generate models from db schemas" - Generate db schemas from models" * http://goo.gl/jODKSJ

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Push Notification - Support iOS and Android" * http://goo.gl/9zRZZ6

Slide 25

Slide 25 text

Web Socket - Coming feature" - Real time notification when model changes

Slide 26

Slide 26 text

Native SDK for iOS/Android/Angular * http://goo.gl/OW2TBf

Slide 27

Slide 27 text

Leverage Express - Continue to use all middlewares" - Reuse your existing skills" - Build hybrid website and API end points in one" - Could use Reactjs as server-side templating engine (via express)

Slide 28

Slide 28 text

DevOP Tools

Slide 29

Slide 29 text

In the box - Debugger" - Build/Package" - Deploy" - Logging" - Monitoring" - Clustering

Slide 30

Slide 30 text

Debugger - slc debug" " - Using node-inspector

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Build/Package - A standard way of packaging and building your apps" * http://goo.gl/5ghCIv

Slide 33

Slide 33 text

Deploy - StrongLoop Process Manager (slc-pm)" - Works tightly with build/deploy tools" - Provides zero-downtime application updates" " " * http://goo.gl/aUeTp3" - Deployment best practices" * http://goo.gl/O1MDha

Slide 34

Slide 34 text

Logging - Log to file, syslog, remote log, Splunk" - Using Winston or Bunyan" * http://goo.gl/aPlim9

Slide 35

Slide 35 text

Clustering - Fully utilize all cores on the server" - View cluster status anytime" - Resizing clusters at runtime" * http://goo.gl/lF3ZKg

Slide 36

Slide 36 text

Monitoring - Collecting metrics" - Diagnose memory leaks" - Profile CPU consumption" - With web UI" - On-premises or hosted" * http://goo.gl/7F3miH

Slide 37

Slide 37 text

Other Benefits

Slide 38

Slide 38 text

No Vendor Lock-in - Everything is open sourced" - Host on your own server

Slide 39

Slide 39 text

Paid commerical support - When shit hits the fan, you know whom to ask help for" * http://goo.gl/ldeCDF

Slide 40

Slide 40 text

Active response and community - google groups" * http://goo.gl/FEqhTL)" - github issues" * http://goo.gl/dXAUcM)

Slide 41

Slide 41 text

The Bad

Slide 42

Slide 42 text

- Still evolving very fast hence incomplete documentation and changing examples" - Took one month to get my ahead around it initially " - With professional guidance it shall take just 1 week to pick up

Slide 43

Slide 43 text

When to use what?

Slide 44

Slide 44 text

For quick and simple tasks - Koa and misc. middlewares" - You gotta know what you are doing when home brewing the whole stack though

Slide 45

Slide 45 text

For Enterprise-grade API services and platform - Loopback" - Because it’s well thought out and got all ends covered

Slide 46

Slide 46 text

For EC/Forum site - Express or Loopback" - Because it’s battle-tested

Slide 47

Slide 47 text

Do not reinvent the wheels, especially flaky ones!

Slide 48

Slide 48 text

Side Notes

Slide 49

Slide 49 text

Learn from the best - Excellent coding skills for node.js development" - Lot of test cases" - Learn best practices for build/package/deploy/ cluster/monitor node.js apps

Slide 50

Slide 50 text

Stand on the shoulders of giants and get yourself a head start!

Slide 51

Slide 51 text

The Holy Grail - The holy grail of fullstack development" - React + Flux for front-end apps" - Node.js and Loopback for backends" - Isomorphic javascript FTW" - Highly efficiency, shorter time to market, robust quality

Slide 52

Slide 52 text

Loopback is way more than just a framework to help you build the application, it also provides a rich set of tools to help you debug, build, package, deploy, cluster and monitor the app.

Slide 53

Slide 53 text

In short, you are fully covered.

Slide 54

Slide 54 text

Professional training on fullstack development at fullstackrocks.com

Slide 55

Slide 55 text

[email protected] Questions?