introduction to front end engineering

60
Mark Meeker Benedictine University 14 April 2008 An Introduction to Front End Engineering [m 2 ]

Upload: mark-meeker

Post on 05-Dec-2014

28.876 views

Category:

Business


4 download

DESCRIPTION

An introduction to frontend engineering given to the Web Application Development course at Benedictine University.

TRANSCRIPT

Page 1: Introduction to Front End Engineering

Mark Meeker

Benedictine University14 April 2008

An Introduction to Front End Engineering

[m2]

Page 2: Introduction to Front End Engineering

“As far as the customer is concerned, the interface

is the product.”- Jef Raskin

Page 3: Introduction to Front End Engineering

Just another name for...

• Front End Engineering

• Front End Development

• UI Engineering

• Web Development

• Web Production

Page 4: Introduction to Front End Engineering

Engineering

Page 5: Introduction to Front End Engineering

Engineering

Design

UsabilityPsychology

PerformanceArt

Layout

Accessibility

Linguistics

Security

Localization

HTTP

Page 6: Introduction to Front End Engineering

CSS JavaScript

HTML

Server Side Presentation Code(JSP, PHP, Perl, Ruby, Python, ASP, et. al. )

the “Back End”

Page 7: Introduction to Front End Engineering

MVC

Controller

Model

View

Page 8: Introduction to Front End Engineering

The Browser

Page 9: Introduction to Front End Engineering

Runs on...

Page 10: Introduction to Front End Engineering

Runs on...

Page 11: Introduction to Front End Engineering

Runs on...

Page 12: Introduction to Front End Engineering

“Browsers are the most hostile software engineering

environment possible”- Douglas Crockford

Page 13: Introduction to Front End Engineering

Browser “Quirks”

Page 14: Introduction to Front End Engineering

The “Box Model”

Content

Padding

Margin

Page 15: Introduction to Front End Engineering

The “Box Model”

Content

Padding

Margin

Height

.box { height: 50px; padding: 10px; margin: 5px; }

Page 16: Introduction to Front End Engineering

The “Box Model”

Content

Padding

Margin

Height

.box { height: 50px; padding: 10px; margin: 5px; }

Page 17: Introduction to Front End Engineering

The “Box Model”

Content

Padding

Margin

Height

.box { height: 50px; padding: 10px; margin: 5px; border: 2px; }

Height

Page 18: Introduction to Front End Engineering

CSS

Page 19: Introduction to Front End Engineering

http://csszengarden.com

Page 20: Introduction to Front End Engineering
Page 21: Introduction to Front End Engineering
Page 22: Introduction to Front End Engineering
Page 23: Introduction to Front End Engineering
Page 24: Introduction to Front End Engineering
Page 25: Introduction to Front End Engineering

Process

Page 26: Introduction to Front End Engineering
Page 27: Introduction to Front End Engineering
Page 28: Introduction to Front End Engineering

<img src=”/map/image” />

<ul><li><a href=”/map/move?dir=n”>North</a></li><li><a href=”/map/move?dir=e”>East</a></li><li><a href=”/map/move?dir=s”>South</a></li><li><a href=”/map/move?dir=w”>West</a></li>...

</ul>

<ul><li><a href=”/map/zoom?level=1”>Zoom Level 1</a></li><li><a href=”/map/zoom?level=2”>Zoom Level 2</a></li><li><a href=”/map/zoom?level=3”>Zoom Level 3</a></li>...

</ul>

Page 29: Introduction to Front End Engineering
Page 30: Introduction to Front End Engineering
Page 31: Introduction to Front End Engineering
Page 32: Introduction to Front End Engineering

Progressive Enhancement

HTML

Content

CSS

Presentation

JS

Behavior

“No Frills”“Dress it Up”

“Make it Sing”

Page 33: Introduction to Front End Engineering

JavaScript &Ajax

Page 34: Introduction to Front End Engineering
Page 35: Introduction to Front End Engineering

AsynchronousJavaScriptAndXML

Page 36: Introduction to Front End Engineering

credit: http://www.lukew.com/resources/articles/ajax_design.asp

Page 37: Introduction to Front End Engineering

credit: http://www.lukew.com/resources/articles/ajax_design.asp

Page 38: Introduction to Front End Engineering
Page 39: Introduction to Front End Engineering
Page 40: Introduction to Front End Engineering
Page 41: Introduction to Front End Engineering
Page 42: Introduction to Front End Engineering
Page 43: Introduction to Front End Engineering
Page 44: Introduction to Front End Engineering
Page 45: Introduction to Front End Engineering

JavaScript Libraries

Dojohttp://dojotoolkit.org

Prototype.jshttp://prototypejs.com

jQueryhttp://jquery.org

YUIhttp://developer.yahoo.com/yui

Page 46: Introduction to Front End Engineering

Usability

Page 47: Introduction to Front End Engineering

Fitts’ Law

The time to acquire a target is a function of the distance to and size of the target.

Page 48: Introduction to Front End Engineering

UsabilityTesting

Page 49: Introduction to Front End Engineering

A/B Testing

Page 50: Introduction to Front End Engineering

Yes No

Submit

Was this page helpful?

Submit

Why?

Page 51: Introduction to Front End Engineering

Submit

Was this page helpful?

Why?

Page 52: Introduction to Front End Engineering

Yes No

Submit

Was this page helpful?

Submit

Why?

Submit

Was this page helpful?

Why?

Page 53: Introduction to Front End Engineering

AccessibilityPerformance

Security

Page 54: Introduction to Front End Engineering

ContactJavaScript Libraries

Dojo - http://dojotoolkit.org/

jQuery - http://jquery.com/

YUI - http://developer.yahoo.com/yui/

Prototype - http://prototypejs.org/

Page 55: Introduction to Front End Engineering

Learning from Others

Page 56: Introduction to Front End Engineering

ContactJavaScript Libraries

Dojo - http://dojotoolkit.org/

jQuery - http://jquery.com/

YUI - http://developer.yahoo.com/yui/

Prototype - http://prototypejs.org/

Page 57: Introduction to Front End Engineering

ToolsFirefox

http://getfirefox.com

Web Developer Toolbarhttp://chrispederick.com/work/web-developer

FireBughttp://getfirebug.com

YSlowhttp://developer.yahoo.com/yslow

Page 58: Introduction to Front End Engineering

Resources

The Web Standards Projecthttp://webstandards.orghttp://streetteam.webstandards.org/goodbooks/

Designing with Web Standards by Jeffery Zeldman

Page 59: Introduction to Front End Engineering

ResourcesA List Apart

http://alistapart.com

Ajaxianhttp://ajaxian.com

QuirksModehttp://quirksmode.org

Yahoo User Interface Bloghttp://yuiblog.com

UIE Brainsparkshttp://www.uie.com/brainsparks

Page 60: Introduction to Front End Engineering

Contact

Slides:http://markmeeker.com/events/ben2008/

Email:[email protected]

Blog:http://markmeeker.com