minnewebcon 2014 - front-end development for back-end developers

47
Front-End Development for Back-End Devs Bertine Buchan @bertine Gage Marketing Amy Berg @pork_chop Minnesota Public Radio (AKA Front-End Dev 101)

Upload: amy-dalrymple

Post on 27-Jan-2015

120 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: MinneWebCon 2014 - Front-End Development for Back-End Developers

Front-End Development for Back-End Devs

Bertine Buchan @bertine

Gage Marketing

Amy Berg @pork_chop

Minnesota Public Radio

(AKA Front-End Dev 101)

Page 2: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

What is a Front-End Dev?

Page 3: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

We are Front-End Devs.• Build websites

• HTML email support

• QA (browser testing)

• UI/design review

• Knowledge sharing

• Estimating work (time & resources)

Page 4: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

• HTML

• CSS

• JavaScript

• Project Requirements

Page 5: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

HTML

Page 6: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Semantic HTML

Page 7: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

HTML5 Shim https://code.google.com/p/html5shim/

<!--[if lt IE 9]> <script src="html5shiv.js"></script> <![endif]-->

Page 8: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Conditional Comments http://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

<!--[if lt IE 9]> <html class="ltie9"> <![endif]--> <!--[if IE 9]><!--> <html> <!--<![endif]--> !<style> html body { background-color: blue; } html.ltie9 body { background-color: green; } </style>

Page 9: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

When to use <table>

Data, HTML emails

When not to use <table>

Everywhere else!

Page 10: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

For related content layout, try

<ol>, <ul>, or <dl>

Page 11: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Just make it semantic.

Page 12: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Other HTML questions?

To learn more, start here: http://html5please.com/

Page 13: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

CSS

Page 14: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Set base styles for your website with

Normalize.css(or reset.css)

Page 15: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

OOCSS

https://github.com/stubbornella/oocss/wiki/faq

Page 16: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

display

inline, inline-block, block, none http://css-tricks.com/almanac/properties/d/display/

Page 17: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Box Model

Photo from Liz Andrade, @lizandrade, http://www.flickr.com/photos/cmdshiftdesign/5910326877/

Page 18: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

* { box-sizing: border-box }

http://www.paulirish.com/2012/box-sizing-border-box-ftw/

Page 19: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Positioning

static, relative, absolute, fixed

Page 20: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

http://jsfiddle.net/7x85K/

Page 21: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

http://jsfiddle.net/7x85K/

Page 22: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

–Johnny Appleseed

CSS Specifity

Page 23: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

micro clearfix

Page 24: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

http://jsfiddle.net/W5u2Z/

Page 25: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

http://jsfiddle.net/Gz67L/

Page 26: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

CSS Frameworks

backbone

grid960

roll your own

Page 27: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Preprocessor

less/sass

Page 28: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

JS

Page 29: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Shims

Polyfills

CSS3 PIE (IE8 and below)

Page 30: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Frameworks

jquery

node.js

mootools

Page 31: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

JSON templates

angular.js

mustache.js

Page 32: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Meeting Project Requirements

Page 33: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Are these required:

• Does the site need to be pixel perfect with design comp? (consider graceful degradation)

• Which browsers are you supporting?

• Do you need non-JS fallback?

• Responsive?

Page 34: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Testing

Page 35: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Tools/workflow

• In-browser inspectors and Firebug

• Built-in dev toolbars & responsive tools

• W3c validator

• CSS lint, JSON lint

• caniuse.com

Page 36: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

QUESTIONS?

Page 37: MinneWebCon 2014 - Front-End Development for Back-End Developers

Thank you!

Get our slides online: http://bit.ly/MWC_FEDev (We’ll tweet this link, too!)

Bertine Buchan @bertine

Amy Berg @pork_chop

Page 38: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

We’ve got more time!

Here are some bonus

TIPS

Page 39: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

• Mouse/Hover-over states (CSS/JS)

• What happens when you click that button? (UI/site flow)

• Modals vs. Alerts vs. Inline dynamic messaging

Things to Consider (these might not be part of your design comp)

Page 40: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Sprites

Page 41: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Image Replacement

http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/ http://jsfiddle.net/PEL7B/

Page 42: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Where does the text go?

Page 43: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Hosted for you:

• Google Fonts

• TypeKit

!

Make your own:

• FontSquirrel

Web Fonts

Page 44: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Icon Fonts

Page 45: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

Unwanted space between inline-block elements?

Page 46: MinneWebCon 2014 - Front-End Development for Back-End Developers

Bertine Buchan @bertine

Amy Berg @pork_chop@MinneWebCon #FEDev

The most simple fix.

For other solutions: http://css-tricks.com/fighting-the-space-between-inline-block-elements/

http://jsfiddle.net/FgqPb/

Page 47: MinneWebCon 2014 - Front-End Development for Back-End Developers

Thank you again!Bertine Buchan

@bertineAmy Berg

@pork_chop