Frontend
Join the Dark Side
rwarzycha
just4fun.io
https://github.com/senssei/angular-basics
HTML 5
Most important changes
- aside, footer, article ... - contextual,
- canvas, svg - graphics rendering
- audio, video - playback
- LocalStorage, WebSocket, PushState APIs
CSS 3
Standard toolkit
- selectors
- pseudo-selectors
- Responsive Web Design (RWD)
- @media query
- em, rem, %
- pixel-ratio
- animations
LESS
- Bootstrap is done with this,
- basic features: mix-ins, inheritance
SASS
- full-fledged support: for, if, ... ,
- Compass tool require Ruby, that is problematic on Win
Layout
- box model + float
- flexbox
- grid model
future
Bootstrap
Important parts
- RWD grid,
- UI components,
- jQuery-style plugins,
- themes
brand-new
JavaScript
That scary ...
Pros
- expressive - less code to write,
- dynamic types system,
- partially functional - functions as variables/parameters,
- modern - es2015, es7
- multi-platform, multiple uses - browsers, servers, db, ....
Consts
- no compilation, no types - thus late errors (runtime),
- quirks and bizarre behaviors,
- function scope vs block scope,
- hoisting
Function scope
function test () {
if (true) {
var b = 2;
}
var a = 1;
console.log(a); // 1
console.log(b); // 2
};
ES 2015 - lastest standard
- let, const,
- object/array deconstruction,
- lambda expressions,
- class syntax,
- modules
Typescript
- superset ES2015,
- adds type annotations,
- autocomplete
node.js
as dev enviroment
Elements
-
node.js - environment,
- V8 engine - quick,
- single loop,
- async
-
npm - package manager,
- bower
- gulp - task runner,
-
karma - test runner,
- jasmine, mocha - BDD,
- protractor - e2e
slow
angular only
FIN
Q&A
frontend-basics
By Rafał Warzycha
frontend-basics
- 521