Passion to create Fullstack JS
From zero to hero
@rwarzycha
senssei
Basic tools
Why they matter?
Editor - focused on content
- Sublime
- Atom
- Brackets
- LightTable
Browser - personal preference
- Chrome, Chrome Canary
- Firefox + Firebug
Keep your JS in good shape
Linters, test frameworks and automatisation
Linters
- JS Hint
- JS Lint
Test frameworks
- Test Driven Development (TDD) or Behavior Driven Development (BDD) flavors
- jasmine, jest
- mocha
- QUnit
- End to End (E2E)
- protractor
- nightwatch
- Runner
- karma
One Ring to rule build them all
- grunt
- gulp
Meh, Too many options -_-
Use yeoman
DEMO
$ npm install -g yo bower grunt-cli
$ npm install -g generator-angular
$ yo
$ grunt serve
With great power ...
Libs, frameworks, UI
Libs
- DOM
- jQuery
- AMD
- Require.js
- Browserify
- Misc
- underscore, lo-dash
- q (promises)
Frameworks
- Angular
- Backbone
- Ember
Frameparts
- KnockoutJS
- React
- ... many moar
http://todomvc.com/
Tame lib with package managers
- node
- npm
- frontend libs
- bower
Languages complied to JS
- nice for ruby, python developers
- familiar OOP flavor
- coherent, simple rules
- debug is more complicated - you need to debug JS anyway
- obstructing vanilla JS
- OOP "dark" temptations
CoffeeScript, TypeScript
Side note
Advanced topics
Middleware and backend
DBs
- MongoDB
- CouchDB
- ...
NoSQL
used in LHC (CERN)
API - REST, Socket, SOAP
- Express
DEMO
$ npm install -g generator-yeogurt
$ yo yeogurt
$ grunt serve
MEAN stack
It's only flavor
MongoDB
Express.js
Node.js
Angular.js
FIN
QA
fullstack-js-students
By Rafał Warzycha
fullstack-js-students
- 658