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
  • audiovideo - 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

  • 499