SlideShare a Scribd company logo
1 of 17
The front-end toolkit
For the modern web developer
A brief history
• This is gonna be short…
• ...cos front-end development has been around for
about 5 minutes in the big scheme of things…
• Back in the dark ages, software developers and
the like used to “design” apps and websites.
[shudder]
• Designers of the time were horrified, but were
too busy printing shit out on paper and had no
clue as to how this new-fangled internetness
worked.
• SO….
Front-end development was born!
• It basically covers: wire-framing, client-side
presentation & programming, user
interface, “UX” design, and other confusing
buzzwords.
• The role has only really come of age quite
recently, and it’s still a bit of a grey area as to
what front-end development entails. Meaning…
• There’s a crap load of jobs out there for front-end
developers… and even more for code monkeys
who can get their hands dirty on the client-side!
So get excited about front-end
development :D
…cos it looks like it’s here to stay… at least for the
foreseeable-ish future…
• More and more employers are looking for devs
with mad front-end skillz
• A lot of it is still uncharted territory, a veritable
wild west where best practices and standards are
still not firmly established.
• Some smart cookies have realised the need for a
reliable, DRY approach to front-end development
that make it easier to get started.
The tools we’ll be looking at today
In alphabetical order…
• Bootstrap & Foundation
• CoffeeScript
• Compass & Sass
• Grunt
• Haml & Handlebars
• jQuery
Compass & Sass
• Compass is a rails-based tool built for speedy web app
presentation.
• It follows the rails philosophy of not repeating oneself
by generating CSS (something which has been rather
clunky and tedious to work with in the past) in a
programmatic way.
• Compass itself is a nice big handy library to use with
Sass. Sass itself has a fair amount of useful functions
built-in, Compass is basically like strapping a jetpack to
Sass.
• It makes web presentation a whole lot faster, easier
and more fun.
OK that’s nice… but what kinda stuff
does Compass do?
• Cross-browser bug fixes and browser-specific
prefixes
• Sneaky hacks for legacy browsers
• Data-URI generation for images
• Automatic sprite-sheet generation!
• Basic programming shenanigans like
variables, methods, conditionals and loops.
Bootstrappin’
• Some clever folks have put together front-end
‘frameworks’ for whipping up sites and apps in a
matter of hours.
• The two most popular right now are Twitter’s
Bootstrap and Zurb’s Foundation.
• Presentational elements are easily customisable
and they include some fancy pants JavaScript for
cool interactivity straight out of the box.
• They are a back-end developer’s dream; a really
quick solution to the rigors of design and front-
end development.
The down-sides of using front-end
frameworks
• It’s easy to end up with a very generic looking
app or site, which generally looks a lot like the
other brazillion websites using a bootstrap.
• All that simplicity comes at a price… like any
framework, there is a lack of flexibility.
• They don’t exactly follow web development
best practices… The one-size-fits-all approach
to front-end dev means a certain degree of
hackiness which can become troublesome.
CoffeeScript
• JavaScript has irked developers since it found
it’s place as the predominant client-side
scripting language.
• It’s actually a pretty cool language, it’s quite
forgiving and very versatile. Unfortunately it
can become quite repetitive and security
vulnerabilities can arise when undiscerning
developers get there hands on it.
CoffeeScript
• CoffeeScript provides some syntactic sugar
that makes JavaScript a whole lot sweeter to
write.
• It deals with a lot of the irksome repetition
required to keep things secure.
• It’s indent-based syntax is similar to Ruby or
Python and is way easier to read
• You can do tricksy stuff in less lines of code.
Grunt
• The ultimate pre-processing tool: you can tell
Grunt to watch everything that needs watching...
Sass, Less, CoffeeScript, Haml, etc…
• Grunt can also do cool stuff like compress images
on-the-fly… might not sound that cool, but it’s a
super annoying repetitive task.
• Lint and Hint – to help keep your code
clean, point out errors, security issues and other
handy stuff the browser console won’t tell you.
Aside: Yeoman
• Yeoman is a hip new web app development tool
which combines the power of Grunt, Yo and
Bower.
• Yo is a scaffolding tool which fleshes out an
application and sets up Grunt configuration.
• Bower goes off and fetches all the additional
scripts and resources, then keeps them up to
date.
• Unfortunately at the moment Yeoman works on
Mac  but it looks pretty handy…
Haml & other templating languages
• Just like CSS and JavaScript, HTML has also
become one of the bottlenecks in front-end
development. This is where the ‘templating
languages’ come in handy.
• Haml is another rails tool which is used to
make templating a breeze. Once again, it uses
an indent-based syntax to make mark-up
cleaner, simpler and easier to read.
The magic of jQuery
• Most of you have probably already heard of jQuery; the
JavaScript library that lets designers do the coding.
• jQuery UI is a massive library that includes a standardised
collection of interactive elements which are incredibly fast
and easy to implement into a project.
• jQuery Mobile has been built from the ground up to help
devs get a mobile version of a website or app up and
running quickly.
• It includes listeners for mobile device inputs like
multitouch, swipe and pinch gestures.
• It means you can build a web app with behaviour similar to
a native app!
Other great front-end tools available
• The development landscape is always
changing, and new tools are popping up all
the time.
• Check out PhoneGap – a platform for making
web apps which function and behave like
native apps.
• JavaScript application frameworks like
AngularJS, Backbone and Ember.
To wrap things up…
• These are all handy tools to have at your
disposal, go out and give them a go on your next
project. Keep an eye for more, and don’t get too
attached to any one tool!
• Front-end work doesn’t have to be a hassle, if
anything ever seems dull, tedious or
repetitive, there’s a 99% chance that somebody’s
built a fancy tool to make it easier and more fun…
Hell, that’s what development is all about.

More Related Content

What's hot

ng-conf NativeScript and Angular 2 Workshop
ng-conf NativeScript and Angular 2 Workshopng-conf NativeScript and Angular 2 Workshop
ng-conf NativeScript and Angular 2 Workshoptjvantoll
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
Why I will never write JavaScript ever again*
Why I will never write JavaScript ever again*Why I will never write JavaScript ever again*
Why I will never write JavaScript ever again*The Wolff
 
Contributing to open source
Contributing to open sourceContributing to open source
Contributing to open sourceDevin Abbott
 
Cinematic Interactives with Animate CC
Cinematic Interactives with Animate CCCinematic Interactives with Animate CC
Cinematic Interactives with Animate CCJoseph Labrecque
 
Xamarin - Why I started learning it?
Xamarin - Why I started learning it?Xamarin - Why I started learning it?
Xamarin - Why I started learning it?Ankit Kashyap
 
Js foo famo.us- build native quality apps using html5 within a day
Js foo  famo.us- build native quality apps using html5 within a dayJs foo  famo.us- build native quality apps using html5 within a day
Js foo famo.us- build native quality apps using html5 within a dayDebnath Sinha
 
Independent Development and Writing Your Own Engine
Independent Development and Writing Your Own EngineIndependent Development and Writing Your Own Engine
Independent Development and Writing Your Own EngineananseKmensah
 
Lesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comLesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comifnu bima
 
Building mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneBuilding mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneTroy Miles
 
Ipad accessory to studio practice
Ipad accessory to studio practiceIpad accessory to studio practice
Ipad accessory to studio practiceScott Brown's
 
Getting Started with React Native (and should I use it at all?)
Getting Started with React Native (and should I use it at all?)Getting Started with React Native (and should I use it at all?)
Getting Started with React Native (and should I use it at all?)Devin Abbott
 
Untangling - fall2017 - week6
Untangling - fall2017 - week6Untangling - fall2017 - week6
Untangling - fall2017 - week6Derek Jacoby
 
Bot. You said bot? Let build bot then! - Laurent Ellerbach
Bot. You said bot? Let build bot then! - Laurent EllerbachBot. You said bot? Let build bot then! - Laurent Ellerbach
Bot. You said bot? Let build bot then! - Laurent EllerbachITCamp
 
HTML Prototyping - IxDA Presentation
HTML Prototyping - IxDA PresentationHTML Prototyping - IxDA Presentation
HTML Prototyping - IxDA PresentationRobert Bastian
 
Untangling - fall2017 - week5
Untangling - fall2017 - week5Untangling - fall2017 - week5
Untangling - fall2017 - week5Derek Jacoby
 
Building a Startup in .NET
Building a Startup in .NETBuilding a Startup in .NET
Building a Startup in .NETMarcelo Calbucci
 

What's hot (20)

ng-conf NativeScript and Angular 2 Workshop
ng-conf NativeScript and Angular 2 Workshopng-conf NativeScript and Angular 2 Workshop
ng-conf NativeScript and Angular 2 Workshop
 
Learn Once; Write Anywhere
Learn Once; Write AnywhereLearn Once; Write Anywhere
Learn Once; Write Anywhere
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
Why I will never write JavaScript ever again*
Why I will never write JavaScript ever again*Why I will never write JavaScript ever again*
Why I will never write JavaScript ever again*
 
Contributing to open source
Contributing to open sourceContributing to open source
Contributing to open source
 
Core Java
Core JavaCore Java
Core Java
 
Cinematic Interactives with Animate CC
Cinematic Interactives with Animate CCCinematic Interactives with Animate CC
Cinematic Interactives with Animate CC
 
Xamarin - Why I started learning it?
Xamarin - Why I started learning it?Xamarin - Why I started learning it?
Xamarin - Why I started learning it?
 
Js foo famo.us- build native quality apps using html5 within a day
Js foo  famo.us- build native quality apps using html5 within a dayJs foo  famo.us- build native quality apps using html5 within a day
Js foo famo.us- build native quality apps using html5 within a day
 
Independent Development and Writing Your Own Engine
Independent Development and Writing Your Own EngineIndependent Development and Writing Your Own Engine
Independent Development and Writing Your Own Engine
 
Lesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comLesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.com
 
Building mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneBuilding mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and Backbone
 
Ipad accessory to studio practice
Ipad accessory to studio practiceIpad accessory to studio practice
Ipad accessory to studio practice
 
Getting Started with React Native (and should I use it at all?)
Getting Started with React Native (and should I use it at all?)Getting Started with React Native (and should I use it at all?)
Getting Started with React Native (and should I use it at all?)
 
2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni
 
Untangling - fall2017 - week6
Untangling - fall2017 - week6Untangling - fall2017 - week6
Untangling - fall2017 - week6
 
Bot. You said bot? Let build bot then! - Laurent Ellerbach
Bot. You said bot? Let build bot then! - Laurent EllerbachBot. You said bot? Let build bot then! - Laurent Ellerbach
Bot. You said bot? Let build bot then! - Laurent Ellerbach
 
HTML Prototyping - IxDA Presentation
HTML Prototyping - IxDA PresentationHTML Prototyping - IxDA Presentation
HTML Prototyping - IxDA Presentation
 
Untangling - fall2017 - week5
Untangling - fall2017 - week5Untangling - fall2017 - week5
Untangling - fall2017 - week5
 
Building a Startup in .NET
Building a Startup in .NETBuilding a Startup in .NET
Building a Startup in .NET
 

Similar to The front end toolkit

Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadSoftware Guru
 
Prototyping for responsive web design
Prototyping for responsive web design Prototyping for responsive web design
Prototyping for responsive web design mrscammels
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screenFour Kitchens
 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?LavaConConference
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationJoseph Labrecque
 
Practical workflows for responsive design
Practical workflows for responsive designPractical workflows for responsive design
Practical workflows for responsive designMichael Kowalski
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slidesSameer Al-Sakran
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software EngineerSean Coates
 
Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the websebastian sastre
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxchitrachauhan21
 
Introduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web DevelopmentIntroduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web DevelopmentQurinom Solutions
 
6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptxOmidRezaAbbasi1
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectWan Leung Wong
 
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps TipsPhonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps TipsAlex Blom
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
 

Similar to The front end toolkit (20)

Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
Prototyping for responsive web design
Prototyping for responsive web design Prototyping for responsive web design
Prototyping for responsive web design
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher Education
 
Practical workflows for responsive design
Practical workflows for responsive designPractical workflows for responsive design
Practical workflows for responsive design
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slides
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
 
Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the web
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
Introduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web DevelopmentIntroduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web Development
 
6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx6.1 GeospatialWeb101.pptx.pptx
6.1 GeospatialWeb101.pptx.pptx
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your Project
 
Eureko frameworks
Eureko frameworksEureko frameworks
Eureko frameworks
 
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps TipsPhonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

The front end toolkit

  • 1. The front-end toolkit For the modern web developer
  • 2. A brief history • This is gonna be short… • ...cos front-end development has been around for about 5 minutes in the big scheme of things… • Back in the dark ages, software developers and the like used to “design” apps and websites. [shudder] • Designers of the time were horrified, but were too busy printing shit out on paper and had no clue as to how this new-fangled internetness worked. • SO….
  • 3. Front-end development was born! • It basically covers: wire-framing, client-side presentation & programming, user interface, “UX” design, and other confusing buzzwords. • The role has only really come of age quite recently, and it’s still a bit of a grey area as to what front-end development entails. Meaning… • There’s a crap load of jobs out there for front-end developers… and even more for code monkeys who can get their hands dirty on the client-side!
  • 4. So get excited about front-end development :D …cos it looks like it’s here to stay… at least for the foreseeable-ish future… • More and more employers are looking for devs with mad front-end skillz • A lot of it is still uncharted territory, a veritable wild west where best practices and standards are still not firmly established. • Some smart cookies have realised the need for a reliable, DRY approach to front-end development that make it easier to get started.
  • 5. The tools we’ll be looking at today In alphabetical order… • Bootstrap & Foundation • CoffeeScript • Compass & Sass • Grunt • Haml & Handlebars • jQuery
  • 6. Compass & Sass • Compass is a rails-based tool built for speedy web app presentation. • It follows the rails philosophy of not repeating oneself by generating CSS (something which has been rather clunky and tedious to work with in the past) in a programmatic way. • Compass itself is a nice big handy library to use with Sass. Sass itself has a fair amount of useful functions built-in, Compass is basically like strapping a jetpack to Sass. • It makes web presentation a whole lot faster, easier and more fun.
  • 7. OK that’s nice… but what kinda stuff does Compass do? • Cross-browser bug fixes and browser-specific prefixes • Sneaky hacks for legacy browsers • Data-URI generation for images • Automatic sprite-sheet generation! • Basic programming shenanigans like variables, methods, conditionals and loops.
  • 8. Bootstrappin’ • Some clever folks have put together front-end ‘frameworks’ for whipping up sites and apps in a matter of hours. • The two most popular right now are Twitter’s Bootstrap and Zurb’s Foundation. • Presentational elements are easily customisable and they include some fancy pants JavaScript for cool interactivity straight out of the box. • They are a back-end developer’s dream; a really quick solution to the rigors of design and front- end development.
  • 9. The down-sides of using front-end frameworks • It’s easy to end up with a very generic looking app or site, which generally looks a lot like the other brazillion websites using a bootstrap. • All that simplicity comes at a price… like any framework, there is a lack of flexibility. • They don’t exactly follow web development best practices… The one-size-fits-all approach to front-end dev means a certain degree of hackiness which can become troublesome.
  • 10. CoffeeScript • JavaScript has irked developers since it found it’s place as the predominant client-side scripting language. • It’s actually a pretty cool language, it’s quite forgiving and very versatile. Unfortunately it can become quite repetitive and security vulnerabilities can arise when undiscerning developers get there hands on it.
  • 11. CoffeeScript • CoffeeScript provides some syntactic sugar that makes JavaScript a whole lot sweeter to write. • It deals with a lot of the irksome repetition required to keep things secure. • It’s indent-based syntax is similar to Ruby or Python and is way easier to read • You can do tricksy stuff in less lines of code.
  • 12. Grunt • The ultimate pre-processing tool: you can tell Grunt to watch everything that needs watching... Sass, Less, CoffeeScript, Haml, etc… • Grunt can also do cool stuff like compress images on-the-fly… might not sound that cool, but it’s a super annoying repetitive task. • Lint and Hint – to help keep your code clean, point out errors, security issues and other handy stuff the browser console won’t tell you.
  • 13. Aside: Yeoman • Yeoman is a hip new web app development tool which combines the power of Grunt, Yo and Bower. • Yo is a scaffolding tool which fleshes out an application and sets up Grunt configuration. • Bower goes off and fetches all the additional scripts and resources, then keeps them up to date. • Unfortunately at the moment Yeoman works on Mac  but it looks pretty handy…
  • 14. Haml & other templating languages • Just like CSS and JavaScript, HTML has also become one of the bottlenecks in front-end development. This is where the ‘templating languages’ come in handy. • Haml is another rails tool which is used to make templating a breeze. Once again, it uses an indent-based syntax to make mark-up cleaner, simpler and easier to read.
  • 15. The magic of jQuery • Most of you have probably already heard of jQuery; the JavaScript library that lets designers do the coding. • jQuery UI is a massive library that includes a standardised collection of interactive elements which are incredibly fast and easy to implement into a project. • jQuery Mobile has been built from the ground up to help devs get a mobile version of a website or app up and running quickly. • It includes listeners for mobile device inputs like multitouch, swipe and pinch gestures. • It means you can build a web app with behaviour similar to a native app!
  • 16. Other great front-end tools available • The development landscape is always changing, and new tools are popping up all the time. • Check out PhoneGap – a platform for making web apps which function and behave like native apps. • JavaScript application frameworks like AngularJS, Backbone and Ember.
  • 17. To wrap things up… • These are all handy tools to have at your disposal, go out and give them a go on your next project. Keep an eye for more, and don’t get too attached to any one tool! • Front-end work doesn’t have to be a hassle, if anything ever seems dull, tedious or repetitive, there’s a 99% chance that somebody’s built a fancy tool to make it easier and more fun… Hell, that’s what development is all about.