Slide 1

Slide 1 text

Prototyping in the browser

Slide 2

Slide 2 text

“The web application”

Slide 3

Slide 3 text

Prototyping

Slide 4

Slide 4 text

“Even if your idea is worth stealing, the hard part is implementing the idea, not coming up with it.” — Guy Kawasaki on NDAs, 2008

Slide 5

Slide 5 text

Software is hard

Slide 6

Slide 6 text

Software is expensive

Slide 7

Slide 7 text

Educational Fast Cheap Pick two!

Slide 8

Slide 8 text

In the browser

Slide 9

Slide 9 text

TOOLS

Slide 10

Slide 10 text

HTML

Slide 11

Slide 11 text

2000 ENQUIRE 1980 HTML5 Draft 2008 1997 1999 2001 1995 HTML 2.0 HTML 3.2 HTML 4.0 XHTML 1.0 HTML 4.01 XHTML 1.1

Slide 12

Slide 12 text

Hello HTML

Hello World!

Slide 13

Slide 13 text

Cats
Start tag Attribute End tag Content

Slide 14

Slide 14 text

Headline

Hello World

Slide 15

Slide 15 text

Semantic mark–up

Slide 16

Slide 16 text

Heading1

Heading2

Heading3

Heading4

Heading5
Heading6

Slide 17

Slide 17 text

  • Item1
  • Item2
  1. Item1
  2. Item2

Slide 18

Slide 18 text

Term
Definition
Cat
Makes for funny images online

Slide 19

Slide 19 text

A cat doing Math

Slide 20

Slide 20 text

Slide 21

Slide 21 text

1 2 1 2

Slide 22

Slide 22 text

Slide 23

Slide 23 text

Presentational mark–up

Slide 24

Slide 24 text

bold italic centered font declaration ✕

Slide 25

Slide 25 text

Always separate content and presentation!

Slide 26

Slide 26 text

Neutral mark–up

Slide 27

Slide 27 text

A block of something
A neutral inline element

Slide 28

Slide 28 text

https://developer.mozilla.org/en/HTML

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

Backwards compatible

Slide 31

Slide 31 text

Simplified

Slide 32

Slide 32 text

Hello HTML

Hello World!

Slide 33

Slide 33 text

Hello HTML

Hello World!

Slide 34

Slide 34 text

alert("Hello World!");

Slide 35

Slide 35 text

alert("Hello World!");

Slide 36

Slide 36 text

<link> <style>

Slide 37

Slide 37 text

Slide 38

Slide 38 text

Slide 39

Slide 39 text

Re–defined HTML4 elements

Slide 40

Slide 40 text

Headline

Hello World!

a { display: block; }

Slide 41

Slide 41 text

New values and attributes

Slide 42

Slide 42 text

Slide 43

Slide 43 text

Slide 44

Slide 44 text

New elements

Slide 45

Slide 45 text

Slide 46

Slide 46 text

(New Javascript APIs)

Slide 47

Slide 47 text

Slide 48

Slide 48 text

CSS

Slide 49

Slide 49 text

h1 { font-size: 24px; } Selector Property Unit Value

Slide 50

Slide 50 text

h1, h2 { font-size: 24px; color: red; }

Slide 51

Slide 51 text

a:hover { text-decoration: underline; } Pseudo class

Slide 52

Slide 52 text

Usage

Slide 53

Slide 53 text

Slide 54

Slide 54 text

h1, h2 { font-size: 24px; color: red; }

Slide 55

Slide 55 text

Headline

Slide 56

Slide 56 text

CSS

Slide 57

Slide 57 text

Color

Slide 58

Slide 58 text

h1, h2 { opacity: 0.75; color: rgb(255, 255, 255); // rgba() // hsl() }

Slide 59

Slide 59 text

Backgrounds

Slide 60

Slide 60 text

div { background-size: 50px 100px; }

Slide 61

Slide 61 text

div { background: url(foo.png) top left no-repeat, url(bar.png) bottom left no-repeat; }

Slide 62

Slide 62 text

Rounded corners

Slide 63

Slide 63 text

div { border-radius: 10px; }

Slide 64

Slide 64 text

Shadows

Slide 65

Slide 65 text

div { box-shadow: 10px 10px 10px #333; }

Slide 66

Slide 66 text

h1 { text-shadow: 10px 10px 10px #333; }

Slide 67

Slide 67 text

Custom fonts

Slide 68

Slide 68 text

@font-face

Slide 69

Slide 69 text

Transformations

Slide 70

Slide 70 text

div { transform: rotate(30deg); transform: scale(0.5, 0.75); transform: skew(-30deg); }

Slide 71

Slide 71 text

3D Transformations

Slide 72

Slide 72 text

http://css3.bradshawenterprises.com/

Slide 73

Slide 73 text

Browser prefixes

Slide 74

Slide 74 text

div { -moz-box-shadow: 10px 10px 10px #333; -webkit-box-shadow: 10px 10px 10px #333; -o-box-shadow: 10px 10px 10px #333; -ie-box-shadow: 10px 10px 10px #333; }

Slide 75

Slide 75 text

Javascript

Slide 76

Slide 76 text

UTILITIES

Slide 77

Slide 77 text

Development console

Slide 78

Slide 78 text

No content

Slide 79

Slide 79 text

Metalanguages

Slide 80

Slide 80 text

HAML

Slide 81

Slide 81 text

Hello HTML

Hello World!

Slide 82

Slide 82 text

!!! 5 %html %head %title Hello HTML %body %p Hello World!

Slide 83

Slide 83 text

SASS / SCSS

Slide 84

Slide 84 text

h1, h2 { font-size: 24px; color: red; }

Slide 85

Slide 85 text

h1, h2 font-size: 24px color: red

Slide 86

Slide 86 text

Nesting

Slide 87

Slide 87 text

article { font-size: 1em; } article h1 { font-size: 1.5em; } article h1 span { color: red; font-weight: bold; }

Slide 88

Slide 88 text

article font-size: 1em h1 font-size: 1.5em span color: red font-weight: bold

Slide 89

Slide 89 text

Variables

Slide 90

Slide 90 text

$headline-highlight: #f00 h1 span color: $headline-highlight

Slide 91

Slide 91 text

Mixins

Slide 92

Slide 92 text

=very-important font-weight: bold font-size: 24px color: red h1 +very-important

Slide 93

Slide 93 text

Coffeescript

Slide 94

Slide 94 text

Git

Slide 95

Slide 95 text

Serve

Slide 96

Slide 96 text

Ruby