front end anno 2014

86
Front end anno 2014

Upload: david-paulsson

Post on 18-Jun-2015

656 views

Category:

Technology


1 download

DESCRIPTION

Min presentation from #GeekMeetVST 070314. (En del slides har blivit lite konstiga i konverteringen från Keynote till .PDF, och tyvärr så kom inte de slides med videos med heller.)

TRANSCRIPT

Page 1: Front end anno 2014

Front end anno 2014

Page 3: Front end anno 2014
Page 4: Front end anno 2014

The meat & potatoes

• HTML

• CSS

• JS

Page 5: Front end anno 2014

The meat & potatoes

• HTML

• CSS

• JS

• HAML

• LESS/SASS

• CoffeeScript

Page 6: Front end anno 2014

The meat & potatoes

• HTML

• CSS

• JS

• Emmet

• LESS/SASS

• Yeoman

Page 7: Front end anno 2014

The meat & potatoes

• HTML

• CSS

• JS

• Emmet

• LESS/SASS

• Yeoman

• Vi bygger något!

Page 8: Front end anno 2014

“Frontend development these days has a lot of fancy tools

available to complicate things.”@mikaellundin

Page 9: Front end anno 2014

sass compass less stylus markdown haml jade susy coffeescript jquery yeoman ant make rake cake

bash jshint jslint codekit livereload grunt web-build handlebars mustache emmet selenium bower browserstack mogotest require

sprockets jquery mobile sencha ui sproutcore selenium bootstrap qunit yo jasmine jstestdriver phantomjs bourbon neat singularity och så vidare…

Page 10: Front end anno 2014
Page 11: Front end anno 2014

Skriv kod, snabbt

Page 12: Front end anno 2014
Page 13: Front end anno 2014
Page 14: Front end anno 2014

emmet.io

Page 15: Front end anno 2014

Samma syntax för HTML som CSS

Page 16: Front end anno 2014

DEMO

Page 17: Front end anno 2014
Page 18: Front end anno 2014

CSS preprocessors

Page 19: Front end anno 2014

Variabler

Page 20: Front end anno 2014

$font-stack: Helvetica, sans-serif; $primary-color: #333; !body { font: 100% $font-stack; color: $primary-color; }

Page 21: Front end anno 2014

$font-stack: serif; $primary-color: #333; !body { font: 100% $font-stack; color: $primary-color; }

body { font: 100% Helvetica, sans-serif; color: #333; }

Page 22: Front end anno 2014

Nesting

Page 23: Front end anno 2014

nav { ul { margin: 0; padding: 0; list-style: none; } ! li { display: inline-block; } ! a { display: block; padding: 6px 12px; text-decoration: none; } }

Page 24: Front end anno 2014

nav { ul { margin: 0; padding: 0; list-style: none; } ! li { display: inline-block; ! a { display: block; padding: 6px 12px; text-decoration: none; } }

nav ul { margin: 0; padding: 0; list-style: none; } !nav li { display: inline-block; } !nav a { display: block; padding: 6px 12px; text-decoration: none; }

Page 25: Front end anno 2014

nav { ul { li { a { span { &:last-item { strong { margin: 0; } } } } } } }

nav ul li a span:last-item strong { margin: 0; }

Page 26: Front end anno 2014

nav { ul { li { a { span { &:last-item { strong { margin: 0; } } } } } } }

nav ul li a span:last-item strong { margin: 0; }

Page 27: Front end anno 2014

Mixins

Page 28: Front end anno 2014

@mixin border-radius($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; -ms-border-radius: $radius; -o-border-radius: $radius; border-radius: $radius; } !.box { @include border-radius(10px); }

Page 29: Front end anno 2014

@mixin border-radius($radius) { } !.box { }

.box { -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px; }

Page 30: Front end anno 2014

Extends

Page 31: Front end anno 2014

.message { border: 1px solid #ccc; padding: 10px; color: #333; } !.success { @extend .message; border-color: green; } !.error { @extend .message; border-color: red; } !.warning { @extend .message; border-color: yellow; }

Page 32: Front end anno 2014

.message { border: 1px solid #ccc; padding: 10px; color: #333; } !.success { @extend .message; border-color: green; } !.error { @extend .message; border-color: red; } !.warning { @extend .message; border-color: yellow; }

.message,

.success,

.error,

.warning { border: 1px solid #cccccc; padding: 10px; color: #333; } !.success { border-color: green; } !.error { border-color: red; } !.warning { border-color: yellow; }

Page 33: Front end anno 2014

Operators

Page 34: Front end anno 2014

.container { width: 100%; } !article[role="main"] { float: left; width: 600px / 960px * 100%; } !aside[role="complimentary"] { float: right; width: 300px / 960px * 100%; }

Page 35: Front end anno 2014

.container { width: 100%;} !article[role="main"] { float: left; width: 600px / 960px * 100%; } !aside[role="complimentary"] { float: right; width: 300px / 960px * 100%; }

.container { width: 100%; } !article[role="main"] { float: left; width: 62.5%; } !aside[role="complimentary"] { float: right; width: 31.25%; }

Page 36: Front end anno 2014

CSS preprocessors• LESS (js)

• SASS (ruby)

• Turbine (php)

• Switch (python)

• Cacheer (php)

• Stylus (js/nodejs)

Page 37: Front end anno 2014

CSS preprocessors• LESS (js)

• SASS (ruby)

• Turbine (php)

• Switch (python)

• Cacheer (php)

• Stylus (js/nodejs)

Page 38: Front end anno 2014
Page 39: Front end anno 2014

LESSHat

Page 40: Front end anno 2014

Bootstrap

Page 41: Front end anno 2014
Page 42: Front end anno 2014

Compass

Page 43: Front end anno 2014

Susy

Page 44: Front end anno 2014

Bourbon

Page 45: Front end anno 2014

Bourbon NEAT

Page 46: Front end anno 2014

Singularity

Page 47: Front end anno 2014

Inuit.css

Page 48: Front end anno 2014

Foundation

Page 49: Front end anno 2014

GUIstyle.scss → style.css style.less → style.css

Page 50: Front end anno 2014
Page 51: Front end anno 2014
Page 52: Front end anno 2014
Page 53: Front end anno 2014

command-line interface (CLI)

Page 54: Front end anno 2014

node.js

Page 55: Front end anno 2014

npm

Page 56: Front end anno 2014

$ brew install node(Widows: http://nodejs.org/)

Page 57: Front end anno 2014

$ npm install -g less

Page 58: Front end anno 2014

$ lessc style.less

Page 59: Front end anno 2014

(sass kräver ruby)

Page 60: Front end anno 2014

libsassC/C++ port av Sass

Page 61: Front end anno 2014

$ gem install sass

Page 62: Front end anno 2014

$ sass style.scss

Page 63: Front end anno 2014
Page 64: Front end anno 2014
Page 65: Front end anno 2014

Addy Osmani Sindre Sorhus

Brian Ford Eric Bidelman

Paul Irish Mickael Daniel Pascal Hartig

Stephen Swchuk Frederick Ros

Page 66: Front end anno 2014

$ npm install -g yo

Page 67: Front end anno 2014
Page 68: Front end anno 2014

yo (the scaffolding tool)

Page 69: Front end anno 2014

bower (for package management)

Page 70: Front end anno 2014

grunt (the build tool)

Page 71: Front end anno 2014
Page 72: Front end anno 2014

$ yo

Page 73: Front end anno 2014
Page 74: Front end anno 2014

$ bower install

Page 75: Front end anno 2014

$ bower install jquery

Page 76: Front end anno 2014

$ bower list

Page 77: Front end anno 2014
Page 78: Front end anno 2014

$ grunt

Page 79: Front end anno 2014

$ grunt sass

Page 80: Front end anno 2014

$ grunt compass

Page 81: Front end anno 2014

$ grunt less

Page 82: Front end anno 2014

$ grunt jshint

Page 83: Front end anno 2014

$ grunt uglify

Page 84: Front end anno 2014

$ grunt imagemin

Page 85: Front end anno 2014

$ grunt modernizr

Page 86: Front end anno 2014

such code

very demo

much tool

wow