SlideShare a Scribd company logo
JavaScript Library Toolbox
Essential JavaScript Libraries for Frontend Designers
and Developers
Justin Hu web developer at EMU Design
Email Justinhu-cg@msn.com
Why there are so many JavaScript libraries ?
Why we should invest time to learn them?
What can JavaScript libraries do ?
How to choose a JavaScript wisely ?
How to effectively learn JavaScript and
libraries ?
Structure of This Talk
• Why ?
• What ?
• How ?
• Resource
Why ? Why there are so many JavaScript libraries ?
Why ? we should invest time to learn them?
There is a fuzzy grey area to consider in frontend web
development for dynamic content.
The solution is JavaScript and this boost the popularity of
libraries, frameworks and plugins such as
query, Backbone.js, Require.js etc.
Frontend Backend
Why ? we should invest time to learn them?
Why ? we should invest time to learn them?
1. For better team communication
2. For career path – strong marketable skill
3. For self-development – logical thinking skills
4. For Fun
Old days
1. Solve browser issues
2. Dynamic and Interactive UI elements
What ? What can JavaScript libraries do ?
Now and the future
1. Solve browser issues
2. Dynamic and Interactive UI elements
3. Advanced web applications – MVC, Modulate
4. Server-Side JavaScript
What ? What can JavaScript libraries do ?
What ? What can JavaScript libraries do ?
JavaScript Libraries
UI
Elements
UI
Elements
Multimedia
Graphics
Multimedia
Animation
Audio
Video
Players
Graphics
Data Visualization
WebGL
Mapping
the top of the Iceberg
What ? Checklist for Web site project
Libraries Responsibility
Essential
query UI Web UI elements
query Mobile Mobile friendly widgets
Bootstrap Responsive layout and
visual elements
Modernizr Feature Detector
Optional
TweenLite Animation
soundmanager2 audio
Jquery.easing.js Transition
Jquery.cookie.js Cookie
Jquery.history.js History
What ? JavaScript is not just ‘JavaScript’ anymore
JavaScript Libraries
Visual
UI Elements
Multimedia
Graphics
Development
Package
Management
Compilers
Debugging
Build Utilities
Testing
Data
Data
Structure
Storage
Validation
File Formats
Architecture
App
Frameworks
Mobile
Desktop GUI
Dependency
management
Templating
Misc.
Class System
i18n
DOM
Routing
Server-Side
The Full Picture
What ? Sample Site – ANZ
http://www.anz.com.au/personal/travel-foreign-exchange/currency-
converter/
Technology:
Backbone.js - MVC
Handlebar.js - Templating
jQueryUI - Buttons
What ? Checklist for Web application project
Libraries Responsibility Alternative Libraries
Require.js Module, dependency
management
Backbone.js Model-View-Controller Knockout.js
Handlerbar.js Templating Engine Mustache.js
Modernizr Browser issue handling
Bootstrap Responsive layout Fondation, BluePrint
query UI, query Mobile UI widgets Zepto.js
D3.js Data Visualization
Node.js Server-side
development
Rich text editor
Autocompletion tools
HTML generation tools
Widgets themeable / skinnable
GUI resizable panels and modal
dialogs
GUI page layout
Canvas support
Mobile/ tablet support ( touch
events)
Accessibility / graceful degradation
ARIA compliant
Developer tools, Visual design
offline storage
Cross-browser 2d Vector
Charting & Dashboard
RTL Support in UI Components
How ? How to choose a JavaScript wisely ?
Things to consider :
feature detection
DOM wrapped
XMLHttpRequest data retrieval
JSON data retrieval
Server puch data retrieval
Other data retrieval
Drag and drop
Simple visual effects
Animation/ advanced visual effects
event handling
back button support/ history
management
Input form widgets & validation
Grid
Hierarchical Tree
How ? How to choose a JavaScript wisely ?
My JavaScript library decision making workflow - MCMT
Sample Site – ANZ Currency Converter
http://www.anz.com.au/personal/travel-foreign-exchange/currency-
converter/
Technology Analysis:
Application Architecture -
MVC – Backbone.js
Templating - Handlebars.js
Module loader – Require.js
UI elements –
lightbox
button dropdowns
button groups
tabs
pager
Effect - Flip
How ? How to choose a JavaScript wisely ?
Item Library candidates
‘Visible’ part
UI - Light box Colorbox facyBox
UI - Button
dropdown
Bootstrap jQuery
UI - Button group Bootstrap jQueryUI jQuery
UI - Tabs Bootstrap jQueryUI jQuery
UI - Pager Bootstrap jQueryUI jQuery
Effect - Flip Flippy Flip! jQuery
‘Invisible’ part
MVC Backbone.js Spine.js Knockout.js
Angular.js
Templating Mustache.js Handlebars
Module loader Require.js
Step 1 Make a list of UI items need to be used for the project
Criteria for UI libraries:
ct - customizable theme
ca - customizable animation
in - integration – nesting, AJAX
support
bf - * browser friendly
mf - * mobile friendly - responsive
How ? How to choose a JavaScript wisely ?
General criteria:
ds - data retrieving support
ap - application
performance
v - version
doc - documentation
com - community
How ? How to choose a JavaScript wisely ?
Component Bootstrap Fuel UX MetroUI …
ct,ca,in,bf,mf,ds,
ap,v
ct,ca,in,bf,mf,
v
ct,bf,mf,ds,ap,v
Tiles *
Menu * *
Sidebar * *
spinner *
Accordion * *
Buttons set * ?
Rating *
Progress bars *
Carousel
List view *
Slider *
….
Step 2 Check UI Components Comparison Table
How ? How to choose a JavaScript wisely ?
Item Library Notes Backup
‘Visible’ part
UI - Light box Colorbox No browser issue
UI - Button
dropdown
Bootstrap
UI - Button group Bootstrap
UI - Tabs Bootstrap
UI - Pager Bootstrap
Effect - Flip Flip! Non javascript
animation
‘Invisible’ part
MVC Backbone.js Community
support
Templating Handlebars Learning curve
Module loader Require.js Optional
Step 3 Make a decision
How ? How to choose a JavaScript wisely ?
Step 4 - Test , Implement - Doesn’t work 100% ? Don’t give up!
Common Scenarios (rank by complexity level )
• one UI library solve all problem - yippee !
• one UI library + one or two support plugins
example : jQueryUI + jQuery UI Touch Punch
• one UI library ( + one or two plugins ) + browser support +
conflict solving
example : x + y + modernizr.js
x + y + old school JavaScript debugging
Mobile generation -> Rich interactive web
application and dynamic content -> A niche
job market is opened up which is full of
potential
With the support of large library community,
JavaScript still does what it does for stunning
visual experience and it is secretly expanding
to nearly every corner of web development
4 steps workflow for effective decision
making - MCMT
Wrap it up
• Why ?
• What ?
• How ?
Grid / Spreadsheet: SlickGrid
Windows 8 style tiles: Metro UI
Drag-and –drop grid: gridster.js
Flip book: Turn.js
Twitter Bootstrap Extension : Fuel UX
Light weight bootstrap substitution: w2ui
Small helper libraries: jquery.imgpreload, jquery-cookie
events support:
Cascading grid layout: Isotope , Masonry.js
Sliders: Royal slider , circular, Flexslider2
Resources - short list of small libraries worth taking a look
Repository and Resource Sites :
https://github.com/ - large community
http://jster.net/catalog - handy JavaScript library review site
http://stackoverflow.com/ - find answers to JavaScript issues
http://jsfiddle.net/ - test libraries online
Blogs :
http://www.paulirish.com/
http://ejohn.org/category/blog/
http://addyosmani.com/blog/
http://benalman.com/
http://james.padolsey.com/
http://www.jspatterns.com/
Resources
{ Thank You }
Essential JavaScript Libraries for Frontend Designers
and Developers
Justin Hu web developer at EMU Design
Email Justinhu-cg@msn.com

More Related Content

PPTX
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
DOC
Sai Sharan_UI_Resume
PDF
HTML CSS JavaScript jQuery Training
PDF
Evaluation and prototyping of an HTML5 Client for iOS devices
PDF
Mobile Ajax Workshop
PDF
The Days of Web Standards "IA" 20070715
PPTX
Client Side Frameworks
ODP
Evaluation and prototyping of an HTML5 Client for iOS devices
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Sai Sharan_UI_Resume
HTML CSS JavaScript jQuery Training
Evaluation and prototyping of an HTML5 Client for iOS devices
Mobile Ajax Workshop
The Days of Web Standards "IA" 20070715
Client Side Frameworks
Evaluation and prototyping of an HTML5 Client for iOS devices

Viewers also liked (7)

PPT
JavaScript - Programming Languages course
PPTX
Java Script Overview
PDF
JavaScript
KEY
Introduction to the wonderful world of JavaScript
PDF
Predictive Modelling
KEY
The JavaScript Programming Primer
PPT
Java script anywhere. What Nombas was doing pre-acquisition.
JavaScript - Programming Languages course
Java Script Overview
JavaScript
Introduction to the wonderful world of JavaScript
Predictive Modelling
The JavaScript Programming Primer
Java script anywhere. What Nombas was doing pre-acquisition.
Ad

Similar to Javascript library toolbox (20)

PDF
Javascript spaghetti stirtrek_5_17
PPT
Building Rich User Experiences Without JavaScript Spaghetti
PDF
About javascript libraries
PPTX
Advanced JavaScript
PPTX
JavaScript front end performance optimizations
PPTX
Front End Development | Introduction
PDF
Kann JavaScript elegant sein?
PDF
Selecting the Best Javascript Web Framework
PDF
Session at Oredev 2016.
PPTX
f8db413453b33e4ffrointend development bbasics.pptx
PPTX
Professionalizing the Front-end
PPTX
Going Offline with JS
PPT
Intro to SPA using JavaScript & ASP.NET
PDF
Advancing JavaScript with Libraries (Yahoo Tech Talk)
PDF
Javascript Libraries
PPTX
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
PPTX
How to build a JavaScript toolkit
PPTX
SharePoint and the User Interface with JavaScript
PPTX
Angular JS - UI Development Online Training
PPTX
Revolutionizing-User-Interactions-The-Role-of-JavaScript-in-Web-Development.pptx
Javascript spaghetti stirtrek_5_17
Building Rich User Experiences Without JavaScript Spaghetti
About javascript libraries
Advanced JavaScript
JavaScript front end performance optimizations
Front End Development | Introduction
Kann JavaScript elegant sein?
Selecting the Best Javascript Web Framework
Session at Oredev 2016.
f8db413453b33e4ffrointend development bbasics.pptx
Professionalizing the Front-end
Going Offline with JS
Intro to SPA using JavaScript & ASP.NET
Advancing JavaScript with Libraries (Yahoo Tech Talk)
Javascript Libraries
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
How to build a JavaScript toolkit
SharePoint and the User Interface with JavaScript
Angular JS - UI Development Online Training
Revolutionizing-User-Interactions-The-Role-of-JavaScript-in-Web-Development.pptx
Ad

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Cloud computing and distributed systems.
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
KodekX | Application Modernization Development
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
Unlocking AI with Model Context Protocol (MCP)
Programs and apps: productivity, graphics, security and other tools
Mobile App Security Testing_ A Comprehensive Guide.pdf
sap open course for s4hana steps from ECC to s4
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Cloud computing and distributed systems.
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx

Javascript library toolbox

  • 1. JavaScript Library Toolbox Essential JavaScript Libraries for Frontend Designers and Developers Justin Hu web developer at EMU Design Email Justinhu-cg@msn.com
  • 2. Why there are so many JavaScript libraries ? Why we should invest time to learn them? What can JavaScript libraries do ? How to choose a JavaScript wisely ? How to effectively learn JavaScript and libraries ? Structure of This Talk • Why ? • What ? • How ? • Resource
  • 3. Why ? Why there are so many JavaScript libraries ?
  • 4. Why ? we should invest time to learn them? There is a fuzzy grey area to consider in frontend web development for dynamic content. The solution is JavaScript and this boost the popularity of libraries, frameworks and plugins such as query, Backbone.js, Require.js etc. Frontend Backend
  • 5. Why ? we should invest time to learn them?
  • 6. Why ? we should invest time to learn them? 1. For better team communication 2. For career path – strong marketable skill 3. For self-development – logical thinking skills 4. For Fun
  • 7. Old days 1. Solve browser issues 2. Dynamic and Interactive UI elements What ? What can JavaScript libraries do ?
  • 8. Now and the future 1. Solve browser issues 2. Dynamic and Interactive UI elements 3. Advanced web applications – MVC, Modulate 4. Server-Side JavaScript What ? What can JavaScript libraries do ?
  • 9. What ? What can JavaScript libraries do ? JavaScript Libraries UI Elements UI Elements Multimedia Graphics Multimedia Animation Audio Video Players Graphics Data Visualization WebGL Mapping the top of the Iceberg
  • 10. What ? Checklist for Web site project Libraries Responsibility Essential query UI Web UI elements query Mobile Mobile friendly widgets Bootstrap Responsive layout and visual elements Modernizr Feature Detector Optional TweenLite Animation soundmanager2 audio Jquery.easing.js Transition Jquery.cookie.js Cookie Jquery.history.js History
  • 11. What ? JavaScript is not just ‘JavaScript’ anymore JavaScript Libraries Visual UI Elements Multimedia Graphics Development Package Management Compilers Debugging Build Utilities Testing Data Data Structure Storage Validation File Formats Architecture App Frameworks Mobile Desktop GUI Dependency management Templating Misc. Class System i18n DOM Routing Server-Side The Full Picture
  • 12. What ? Sample Site – ANZ http://www.anz.com.au/personal/travel-foreign-exchange/currency- converter/ Technology: Backbone.js - MVC Handlebar.js - Templating jQueryUI - Buttons
  • 13. What ? Checklist for Web application project Libraries Responsibility Alternative Libraries Require.js Module, dependency management Backbone.js Model-View-Controller Knockout.js Handlerbar.js Templating Engine Mustache.js Modernizr Browser issue handling Bootstrap Responsive layout Fondation, BluePrint query UI, query Mobile UI widgets Zepto.js D3.js Data Visualization Node.js Server-side development
  • 14. Rich text editor Autocompletion tools HTML generation tools Widgets themeable / skinnable GUI resizable panels and modal dialogs GUI page layout Canvas support Mobile/ tablet support ( touch events) Accessibility / graceful degradation ARIA compliant Developer tools, Visual design offline storage Cross-browser 2d Vector Charting & Dashboard RTL Support in UI Components How ? How to choose a JavaScript wisely ? Things to consider : feature detection DOM wrapped XMLHttpRequest data retrieval JSON data retrieval Server puch data retrieval Other data retrieval Drag and drop Simple visual effects Animation/ advanced visual effects event handling back button support/ history management Input form widgets & validation Grid Hierarchical Tree
  • 15. How ? How to choose a JavaScript wisely ? My JavaScript library decision making workflow - MCMT
  • 16. Sample Site – ANZ Currency Converter http://www.anz.com.au/personal/travel-foreign-exchange/currency- converter/ Technology Analysis: Application Architecture - MVC – Backbone.js Templating - Handlebars.js Module loader – Require.js UI elements – lightbox button dropdowns button groups tabs pager Effect - Flip
  • 17. How ? How to choose a JavaScript wisely ? Item Library candidates ‘Visible’ part UI - Light box Colorbox facyBox UI - Button dropdown Bootstrap jQuery UI - Button group Bootstrap jQueryUI jQuery UI - Tabs Bootstrap jQueryUI jQuery UI - Pager Bootstrap jQueryUI jQuery Effect - Flip Flippy Flip! jQuery ‘Invisible’ part MVC Backbone.js Spine.js Knockout.js Angular.js Templating Mustache.js Handlebars Module loader Require.js Step 1 Make a list of UI items need to be used for the project
  • 18. Criteria for UI libraries: ct - customizable theme ca - customizable animation in - integration – nesting, AJAX support bf - * browser friendly mf - * mobile friendly - responsive How ? How to choose a JavaScript wisely ?
  • 19. General criteria: ds - data retrieving support ap - application performance v - version doc - documentation com - community How ? How to choose a JavaScript wisely ?
  • 20. Component Bootstrap Fuel UX MetroUI … ct,ca,in,bf,mf,ds, ap,v ct,ca,in,bf,mf, v ct,bf,mf,ds,ap,v Tiles * Menu * * Sidebar * * spinner * Accordion * * Buttons set * ? Rating * Progress bars * Carousel List view * Slider * …. Step 2 Check UI Components Comparison Table
  • 21. How ? How to choose a JavaScript wisely ? Item Library Notes Backup ‘Visible’ part UI - Light box Colorbox No browser issue UI - Button dropdown Bootstrap UI - Button group Bootstrap UI - Tabs Bootstrap UI - Pager Bootstrap Effect - Flip Flip! Non javascript animation ‘Invisible’ part MVC Backbone.js Community support Templating Handlebars Learning curve Module loader Require.js Optional Step 3 Make a decision
  • 22. How ? How to choose a JavaScript wisely ? Step 4 - Test , Implement - Doesn’t work 100% ? Don’t give up! Common Scenarios (rank by complexity level ) • one UI library solve all problem - yippee ! • one UI library + one or two support plugins example : jQueryUI + jQuery UI Touch Punch • one UI library ( + one or two plugins ) + browser support + conflict solving example : x + y + modernizr.js x + y + old school JavaScript debugging
  • 23. Mobile generation -> Rich interactive web application and dynamic content -> A niche job market is opened up which is full of potential With the support of large library community, JavaScript still does what it does for stunning visual experience and it is secretly expanding to nearly every corner of web development 4 steps workflow for effective decision making - MCMT Wrap it up • Why ? • What ? • How ?
  • 24. Grid / Spreadsheet: SlickGrid Windows 8 style tiles: Metro UI Drag-and –drop grid: gridster.js Flip book: Turn.js Twitter Bootstrap Extension : Fuel UX Light weight bootstrap substitution: w2ui Small helper libraries: jquery.imgpreload, jquery-cookie events support: Cascading grid layout: Isotope , Masonry.js Sliders: Royal slider , circular, Flexslider2 Resources - short list of small libraries worth taking a look
  • 25. Repository and Resource Sites : https://github.com/ - large community http://jster.net/catalog - handy JavaScript library review site http://stackoverflow.com/ - find answers to JavaScript issues http://jsfiddle.net/ - test libraries online Blogs : http://www.paulirish.com/ http://ejohn.org/category/blog/ http://addyosmani.com/blog/ http://benalman.com/ http://james.padolsey.com/ http://www.jspatterns.com/ Resources
  • 26. { Thank You } Essential JavaScript Libraries for Frontend Designers and Developers Justin Hu web developer at EMU Design Email Justinhu-cg@msn.com