The ROle Of A Front-End Developer
by Sean Hagstrom
Responsibilities
- Understanding UI and UX
- Understanding the Architecture of a Client Side Application
- Works effectively with Product Team Members, Designers and Back-End Developers
How To become a better front-end developer?
- Learn Javascript
- Learn more advanced CSS
- Z-Index, Box-Model, and Element Positions
- Read through open source projects
- Read a Visual Grammar or Color Theory book
- Analyze your favorite apps and services
Good Habits
- In Rails use @imports for Sass files and not the asset pipeline
- Use @extend and @mixin to clean up and modularize code
- Use extend to inherit base styles from another class
- Use a mixin to inject a custom set of styles based on arguments.
Good Habits
- Use a CSS Pre-processor
- Sass, SCSS, or Less
- CSS Resets or Normalize.css
- Resets provide a clean slate
- Normalize provides a default look and feel
- Style guides
- Good for multiple developers
- Helps you create a disciplined style and structure
Good Habits
- Elements Inspector
- View, add, or edit the HTML markup and CSS Live
- Debugger
- Set breakpoints and step through your code
- Javascript Console
- Log diagnostic information
- Interact with the
document and evaluate expressions
Good Habits
- Network Tab
- Tracks the load times for each asset on your page
- Audits
- Gives optimization hints and points out unused CSS
- Pagespeed / Yslow
- Grades the performance of the web page, and leaves tips for improvements
BackWards Compatibility
- Virtualbox, BrowserStack, Browserling
- CanIUse.com, html5please.com
- Use Polyfills
- Respond.js
- Fixes Media Queries in IE6 - IE8
- Selectivzr.js
- Enables Legacy browsers to use CSS3 selectors
Questions?
References
- Style Guides
- Books
- Courses
Style Guides
-
Thoughbot SCSS Style Guide
- Github CSS Style Guide
- Google CSS Style Guide
Books
Courses
- CodeSchool
Websites
Blogs
- http://css-tricks.com
- http://codegeekz.com
- http://www.css3.info/
- http://gun.io/blog
- http://nettuts.com
Forums
- https://developer.mozilla.org/en-US/
- http://www.webplatform.org/
Compatibility Checks
- http://caniuse.com
- http://www.quirksmode.org
- http://html5please.com/
http://railsapps.github.io/rails-html5-boilerplate.html
Honorable Mentions
Frameworks
- http://www.99lime.com/elements/
- http://draeton.github.io/stitches/
- http://usablica.github.io/front-end-frameworks/compare.html
- http://list.ly/list/303-alternatives-to-twitter-bootstrap-html5-css3-responsive-framework
- https://github.com/thoughtbot/flutie
Randoms
- http://roole.org/
- http://www.limejs.com/
- http://yepnopejs.com/
- http://yeoman.io/
- http://xdk-software.intel.com/
- http://www.appgyver.com/
- http://hellohappy.org/css3-buttons/
Front End Ninja Training
By Sean Hagstrom
Front End Ninja Training
- 170