Front End @ uShip
“Pretty sure you
made that word up.”
Front end
User ⇆ Back end
Everything that happens
in a browser:
Appearance
Interaction
Performance
Front end stack
HTML
CSS
Javascript
What it's not
Design
Scripting
Back end
An afterthought
“You can hide a mess on the back end if it's fast.
You can't hide a mess on the front end.”
You can't hide a mess on the front end.”
—Nathan H. Jones, M.D., Ph.D.
When you need it
If you want to make a product end-to-end
If you want to build anything nontrivial
If you want to work anywhere that does anything neat on the internet
Front end
vs.
Back end
Optimization
Back end
Database bottlenecks
Infrastructure scaling
Computational complexity or something
Higgs Boson detection rate
Front end
HTTP requests
Page size
Percieved responsiveness
Responsibilities
Back end
Business rules
Persistence
Front end
Display rules
Interaction
Toolbox
HTML
uShip Styleguide
Markup, not code
...
SCSS
http://sass-lang.com
Superset of CSS syntax
Adds programming language constructs
Facilitates re-use
Compiles to CSS
Javascript
developer.mozilla.org/en-US/docs/Web/JavaScript
Looks like C, Java, etc...
...but is garbage-collected
...interpreted
...loosely-typed
...prototype-based
...has first-class functions
Surviving Javascript
Be disciplined
Be consistent
Be descriptive
Treat it like a real language
uShip Javascript Guide
jQuery
http://api.jquery.com/
Low-level DOM library
Normalizes DOM API for...
...querying
...events
...AJAX
We don't so much use for...
...animation
...complex interaction
...plugins
Knockout
http://knockoutjs.com/
Manage data & state
Declare behavior for HTML elements
Sync data between UI and Javascript models
Help and resources
frontend@uship.com
uShip Javascript Guide
uShip Styleguide
uShip Front End Info
Front end basics
By Daniel Poindexter
Front end basics
- 672