Slide 1

Slide 1 text

noBackend: rapid prototyping … and beyond AngularJS Meetup Berlin - 2014.02.12 Nicolas Ritouet

Slide 2

Slide 2 text

Java developer by day Javascript enthusiast by night … and dad

Slide 3

Slide 3 text

angularJS === productivity boost Need to be efficient

Slide 4

Slide 4 text

Still one time consuming task Backend

Slide 5

Slide 5 text

Most logic in Front-end Backend are just CRUDS Not fun to build CRUDs

Slide 6

Slide 6 text

Security is too important and dangerous to DIY

Slide 7

Slide 7 text

Ratio between time consumed and value is bad

Slide 8

Slide 8 text

noBackend movement “Front-end developers can build full stack apps without thinking about the backend.” - nobackend.org

Slide 9

Slide 9 text

Backend tasks should be abstracted

Slide 10

Slide 10 text

Easy to create Easy to deploy Easy to use noBackend is

Slide 11

Slide 11 text

nobackend features • Data storage • Authentication & security • Event system aka push notification • Offline first • Abstract the backend

Slide 12

Slide 12 text

POST /session { "email":"[email protected]", "password": "secret" } signIn( '[email protected]', 'secret' ) .then( showDashboard ) .fail( showError ) - nobackend.org

Slide 13

Slide 13 text

/ / convert a dom element to a PDF and download it convert( $('.invoice') ).to( 'invoice.pdf' ).download() - nobackend.org Dreamcode

Slide 14

Slide 14 text

/ / convert another website to a png and show it on the page convert( 'http:/ /exam.pl/page' ).toImage().then( $ ('.screenshots').append ) - nobackend.org

Slide 15

Slide 15 text

/ / attach a file to an email sendEmail({ subject: "Hello, World!", text: "This mail has been sent from the frontend", to: "[email protected]", attachments: [ convert( 'http:/ /exam.pl/page' ).to("screenshot.png") ] }) - nobackend.org

Slide 16

Slide 16 text

Nobackend solutions

Slide 17

Slide 17 text

• Backend as a service • Authentication with Facebook, twitter, Persona, etc… • Security (access only from given IP) • Store any object • Analytics • Can host your static files (=your front-end app)

Slide 18

Slide 18 text

Self hosted noBackends applications

Slide 19

Slide 19 text

• NodeJS / CouchDB • Offline First • Event system • Modules (NPM based) • Angular + Hoodie yeoman generator • Angular directives available • CouchDB: no DB schema to build

Slide 20

Slide 20 text

• NodeJS / MongoDB • Event system • Modules (NPM based) • Easy to install (Install exe) • DB Schema = Server-side validation • Event scripts for:
 
 - security, validation, relations • Easy to deploy

Slide 21

Slide 21 text

Finally some code

Slide 22

Slide 22 text

Questions ? [email protected] demo available at https:/ /github.com/NicolasRitouet/angularMeetupTeachr https:/ /github.com/NicolasRitouet