Make Your Code Delicious

A presentation at From The Front and the Temple of DOM in September 2014 in Bologna, Metropolitan City of Bologna, Italy by Stuart Robson

Slide 1

Slide 1

twitter.com/sturobson #codelicious

Slide 2

Slide 2

twitter.com/sturobson Making Your Code Delicious From the Front, Bologna, September 2014. flickr.com/photos/spaceluge/3016452151/ #codelicious

Slide 3

Slide 3

twitter.com/sturobson Stuart Robson front-end developer @SassNews @LDN_Sass @RWDCalc @SitePointdotcom flickr.com/photos/rob-young/2809158854 #codelicious

Slide 4

Slide 4

twitter.com/sturobson flickr.com/photos/jdhancock/3731688801/ #codelicious

Slide 5

Slide 5

twitter.com/sturobson commons.wikimedia.org/wiki/File:What_are_you_doing_here%3F_%287046417743%29.jpg #codelicious

Slide 6

Slide 6

twitter.com/sturobson ๏ Helps you care about your work. ๏ Makes you aware of what you’re doing. ๏ Gives understanding as to what you’re doing. ๏ Helps others comprehend what you’ve done. flickr.com/photos/ginnerobot/2523448766 #codelicious

Slide 7

Slide 7

twitter.com/sturobson Boilerplates Frameworks Systems Libraries Starter Kits flickr.com/photos/tschiae/8417927326/ #codelicious

Slide 8

Slide 8

twitter.com/sturobson framework: An essential supporting structure of a building, vehicle, or object flickr.com/photos/tschiae/8417927326/ #codelicious

Slide 9

Slide 9

twitter.com/sturobson When I say ‘framework’… I mean… flickr.com/photos/tschiae/8417927326/ #codelicious

Slide 10

Slide 10

twitter.com/sturobson JavaScript CSS HTML #codelicious

Slide 11

Slide 11

twitter.com/sturobson Code that makes websites #codelicious

Slide 12

Slide 12

twitter.com/sturobson flickr.com/photos/criminalintent/2250896821 #codelicious

Slide 13

Slide 13

twitter.com/sturobson html5boilerplate.com/ #codelicious

Slide 14

Slide 14

twitter.com/sturobson www.getskeleton.com/ #codelicious

Slide 15

Slide 15

twitter.com/sturobson getbootstrap.com/ #codelicious

Slide 16

Slide 16

twitter.com/sturobson foundation.zurb.com/ #codelicious

Slide 17

Slide 17

twitter.com/sturobson github.com/inuitcss/ #codelicious

Slide 18

Slide 18

twitter.com/sturobson malarkey.github.io/Rock-Hammer/ #codelicious

Slide 19

Slide 19

twitter.com/sturobson sass.fffunction.co/ #codelicious

Slide 20

Slide 20

twitter.com/sturobson html5blank.com/ #codelicious

Slide 21

Slide 21

twitter.com/sturobson html5bones.com #codelicious

Slide 22

Slide 22

twitter.com/sturobson html5tpl.com/ #codelicious

Slide 23

Slide 23

twitter.com/sturobson developers.google.com/web/starter-kit/ #codelicious

Slide 24

Slide 24

twitter.com/sturobson Framework Explosion #codelicious

Slide 25

Slide 25

twitter.com/sturobson Framework Explosion #codelicious

Slide 26

Slide 26

twitter.com/sturobson A funny thing that happens… CSS flickr.com/photos/evablue/5665974688 HTML JavaScript #codelicious

Slide 27

Slide 27

twitter.com/sturobson codepen.io/chriscoyier/blog/a-weird-thing-that-happens #codelicious

Slide 28

Slide 28

twitter.com/sturobson codepen.io/chriscoyier/blog/a-weird-thing-that-happens #codelicious

Slide 29

Slide 29

twitter.com/sturobson codepen.io/chriscoyier/blog/a-weird-thing-that-happens #codelicious

Slide 30

Slide 30

twitter.com/sturobson The Mola Ram of Web Development #codelicious

Slide 31

Slide 31

twitter.com/sturobson ALL OF THIS HAS HAPPENED BEFORE. #codelicious

Slide 32

Slide 32

twitter.com/sturobson flickr.com/photos/jdhancock/4100030094 #codelicious

Slide 33

Slide 33

twitter.com/sturobson ! The Lessons of CSS Frameworks Eric Meyer An Event Apart, San Fransisco, 2008 flickr.com/photos/foltzwerk/2778957157/ #codelicious

Slide 34

Slide 34

twitter.com/sturobson http://960.gs/ #codelicious

Slide 35

Slide 35

twitter.com/sturobson blueprintcss.org #codelicious

Slide 36

Slide 36

twitter.com/sturobson http://yuilibrary.com/ #codelicious

Slide 37

Slide 37

twitter.com/sturobson What are in these ‘frameworks’ flickr.com/photos/joeyparsons/3240169886 #codelicious

Slide 38

Slide 38

twitter.com/sturobson • A CSS reset. • A layout system or predefined grid. • Font sizes, weights, styles, families, colours. • Print styles. • Naming conventions. • An HTML page of various complexity. • jQuery & blank JS files flickr.com/photos/gviciano/3124302755 #codelicious

Slide 39

Slide 39

twitter.com/sturobson “…which one is right for you?” “…none of the above.” Jeremy Keith adactio.com/journal/1498/ flickr.com/photos/hellogeri/6154034099 #codelicious

Slide 40

Slide 40

twitter.com/sturobson stuffandnonsense.co.uk/blog/about/instant #codelicious

Slide 41

Slide 41

twitter.com/sturobson But instant cake mixes do have their place, right? #codelicious

Slide 42

Slide 42

twitter.com/sturobson #codelicious

Slide 43

Slide 43

twitter.com/sturobson flickr.com/photos/oatsy40/7631270960/ #codelicious

Slide 44

Slide 44

twitter.com/sturobson flickr.com/photos/rosenfeldmedia/3978305312 #codelicious

Slide 45

Slide 45

twitter.com/sturobson Internal … Tools alistapart.com/article/building-twitter-bootstrap #codelicious

Slide 46

Slide 46

twitter.com/sturobson 2014.fromthefront.it/ #codelicious

Slide 47

Slide 47

twitter.com/sturobson flickr.com/photos/johnnytakespictures/8725666649/ #codelicious

Slide 48

Slide 48

twitter.com/sturobson etsy.com/uk/listing/78633231/ #codelicious

Slide 49

Slide 49

twitter.com/sturobson • Speedy set up time. • The work’s already been done. • Maintained by someone else. • Good support on issues. #codelicious

Slide 50

Slide 50

twitter.com/sturobson flickr.com/photos/petsadviser-pix/8126557438 #codelicious

Slide 51

Slide 51

twitter.com/sturobson • Maintained by someone else. • Subjective decisions have been made. • It might just shrivel up and die. • Bloat. #codelicious

Slide 52

Slide 52

twitter.com/sturobson BLOAT flickr.com/photos/matsuyuki/360442606/ #codelicious

Slide 53

Slide 53

twitter.com/sturobson minified CSS Gumby Framework 43kb Bootstrap 110kb Foundation 140kb #codelicious

Slide 54

Slide 54

twitter.com/sturobson ISSUES flickr.com/photos/evergreenkamal/428855445 #codelicious

Slide 55

Slide 55

twitter.com/sturobson #codelicious

Slide 56

Slide 56

twitter.com/sturobson html5boilerplate.com/ #codelicious

Slide 57

Slide 57

twitter.com/sturobson twitter.com/jbrewer/statuses/168206967867838464 #codelicious

Slide 58

Slide 58

twitter.com/sturobson github.com/h5bp/html5-boilerplate/issues/610 #codelicious

Slide 59

Slide 59

twitter.com/sturobson 2014.fromthefront.it/ #codelicious

Slide 60

Slide 60

twitter.com/sturobson “Sometimes you need to … make your own framework, not because nothing else out there is good … but because it’s good to learn” Stephen Hay responsivedesign.is/articles/rwd-podcast-episode-17-stephen-hay flickr.com/photos/robertnyman/6596212095/ #codelicious

Slide 61

Slide 61

twitter.com/sturobson ROLL YOUR OWN flickr.com/photos/garryknight/4876201968 #codelicious

Slide 62

Slide 62

twitter.com/sturobson DON’T RE-INVENT THE WHEEL flickr.com/photos/garryknight/4876201968 #codelicious

Slide 63

Slide 63

twitter.com/sturobson It’s happening exactly like before… #codelicious

Slide 64

Slide 64

twitter.com/sturobson What would I put in a ‘frameworks’? flickr.com/photos/pftqg/8605591528 #codelicious

Slide 65

Slide 65

twitter.com/sturobson • A CSS reset & some helpers. • A layout system or predefined grid. • Font sizes, weights, styles, families, colours. • Generic print styles. • Naming conventions. • An HTML blank template page. • jQuery & blank JS files flickr.com/photos/rubyran2626/432078863 #codelicious

Slide 66

Slide 66

twitter.com/sturobson (beg), borrow, (steal) code flickr.com/photos/janitors/13467502635 #codelicious

Slide 67

Slide 67

twitter.com/sturobson #codelicious

Slide 68

Slide 68

twitter.com/sturobson #codelicious

Slide 69

Slide 69

twitter.com/sturobson #codelicious

Slide 70

Slide 70

twitter.com/sturobson #codelicious

Slide 71

Slide 71

twitter.com/sturobson Edit what you need #codelicious

Slide 72

Slide 72

twitter.com/sturobson #codelicious

Slide 73

Slide 73

twitter.com/sturobson #codelicious

Slide 74

Slide 74

twitter.com/sturobson #codelicious

Slide 75

Slide 75

twitter.com/sturobson Add reusable code you create flickr.com/photos/bengarney/3286964986 #codelicious

Slide 76

Slide 76

twitter.com/sturobson #codelicious

Slide 77

Slide 77

twitter.com/sturobson #codelicious

Slide 78

Slide 78

twitter.com/sturobson #codelicious

Slide 79

Slide 79

twitter.com/sturobson Remove the code you don’t need… Forgetting to include it. flickr.com/photos/d00d/55456750/ #codelicious

Slide 80

Slide 80

twitter.com/sturobson #codelicious

Slide 81

Slide 81

twitter.com/sturobson twitter.com/teleject/status/455753399011536896 #codelicious

Slide 82

Slide 82

twitter.com/sturobson twitter.com/rem/status/452891874836361216 #codelicious

Slide 83

Slide 83

twitter.com/sturobson #codelicious

Slide 84

Slide 84

twitter.com/sturobson larahogan.com/donuts/ #codelicious

Slide 85

Slide 85

twitter.com/sturobson html5tpl.com/ #codelicious

Slide 86

Slide 86

twitter.com/sturobson alwaystwisted.com/cakes #codelicious

Slide 87

Slide 87

twitter.com/sturobson alwaystwisted.com/cakes #codelicious

Slide 88

Slide 88

twitter.com/sturobson #codelicious

Slide 89

Slide 89

twitter.com/sturobson #codelicious

Slide 90

Slide 90

twitter.com/sturobson html5tpl.com/ #codelicious

Slide 91

Slide 91

twitter.com/sturobson Documentation flickr.com/photos/timetrax/376152628/ #codelicious

Slide 92

Slide 92

twitter.com/sturobson I always say, keep a diary and someday it’ll keep you. – Mae West flickr.com/photos/nesster/2818819626 #codelicious

Slide 93

Slide 93

twitter.com/sturobson github.com/necolas/idiomatic-css #codelicious

Slide 94

Slide 94

twitter.com/sturobson pointnorth.io/ #codelicious

Slide 95

Slide 95

twitter.com/sturobson cssguidelin.es/ #codelicious

Slide 96

Slide 96

twitter.com/sturobson #codelicious

Slide 97

Slide 97

twitter.com/sturobson #codelicious

Slide 98

Slide 98

twitter.com/sturobson #codelicious

Slide 99

Slide 99

twitter.com/sturobson #codelicious

Slide 100

Slide 100

twitter.com/sturobson #codelicious

Slide 101

Slide 101

twitter.com/sturobson #codelicious

Slide 102

Slide 102

twitter.com/sturobson bem.info #codelicious

Slide 103

Slide 103

twitter.com/sturobson #codelicious

Slide 104

Slide 104

twitter.com/sturobson smacss.com #codelicious

Slide 105

Slide 105

twitter.com/sturobson Base Layout Modules State Theme smacss.com #codelicious

Slide 106

Slide 106

twitter.com/sturobson #codelicious

Slide 107

Slide 107

twitter.com/sturobson #codelicious

Slide 108

Slide 108

twitter.com/sturobson alwaystwisted.com/post.php?s=2013-12-29-how-i-write-my-sass #codelicious

Slide 109

Slide 109

twitter.com/sturobson #codelicious

Slide 110

Slide 110

twitter.com/sturobson Choices flickr.com/photos/pasukaru76/4948494811/ #codelicious

Slide 111

Slide 111

twitter.com/sturobson Sweat the details flickr.com/photos/kullez/5598159209 #codelicious

Slide 112

Slide 112

twitter.com/sturobson #codelicious

Slide 113

Slide 113

twitter.com/sturobson Iterate flickr.com/photos/raneko/4203965136/ #codelicious

Slide 114

Slide 114

twitter.com/sturobson #codelicious

Slide 115

Slide 115

twitter.com/sturobson ๏ Helps you care about your work. ๏ Makes you aware of what you’re doing. ๏ Gives understanding as to what you’re doing. ๏ Helps others comprehend what you’ve done. flickr.com/photos/ginnerobot/2523448766 #codelicious

Slide 116

Slide 116

twitter.com/sturobson #CODELICIOUS flickr.com/photos/ginnerobot/2523448766 #codelicious

Slide 117

Slide 117

twitter.com/sturobson ALL OF THIS HAS HAPPENED BEFORE. AND ALL OF THIS WILL HAPPEN AGAIN. #codelicious

Slide 118

Slide 118

Thank You twitter.com/sturobson Stuart Robson t: @sturobson w: alwaystwisted.com Ethan, 5 #codelicious

Slide 119

Slide 119

twitter.com/sturobson flickr.com/photos/rob-young/2810749797 #codelicious