SlideShare a Scribd company logo
choosing the right
JavaScript Library/Framework/Toolkit
for your project
Presentation goals
• Give directions
• Compare few major libraries, frameworks &
toolkits
• Statistics
Who am I?
Who am I?
Your project?
•
•
•
•

Type
How big is it
Features
Future expectations
Definitions
• What is library?
• What is framework?
• What is toolkit?
Library
Bits of functionality that you can call.
• jQuery
Framework
Universal, reusable software platform, foundation
of applications, products and solutions.
• MooTools
• AngularJS
• BackboneJS
Toolkit
A set of independent libraries, designed to work
well together, that you can pick and choose from.
• Dojo
• YUI
Features Comparison Table

• all available over CDN*
• all cross-browser**
Selector Engine performance

• all available over CDN*
• all cross-browser**
Size
• Content

• Size does not matter much
if the resources are
distributed over CDN
• cdnjs.com
Modularity
• MooTools provide configurable download

• Async Module Definition - YUI, Dojo
Code structure - jQuery's bad practices
The never-ending callback nesting
Code structure
• Classes for reusable components
• Constructor options
• Use synchronization API instead of nested
callbacks
Code structure
The MooTools way
Code structure
The MooTools way
Utilities
• A utility should first try to delegate to native
and in case it fails - use it’s own implementation
• The more utilities, the better
Commonly needed utilities
• String
trim() hyphenate() camelCase()
escapeRegExp() toInt() toFloat()
substitute()

• Object & Array
each() some() every()
map() empty() append()

filter()

contains()
Commonly needed utilities
• Object
values() keys()
toQueryString()

clone()

merge()

• Array
associate()

clean()

unique()

flatten()
User Interface
• Should be easy to style
(jQueryUI provides a great theme development tool)
User Interface
• API should provide full control
o destroy()
o DatePicker should be able to have its value set from
outside
o Tabs should provide API for selecting tab dynamically
MV*, or not MV*?
that is the question
When to use MV*
• AJAX-heavy web apps
• JSON data structure
• Need to render data in different ways on the same
page
• A lot of user interaction that triggers updates
When NOT to use MV*
•
•
•
•

Your server cannot handle all the requests
Your app has little interactions on the page
Data changes rarely
MV* may be overkill for small projects
o Heavy to implement - if you could have gotten away
with 1 class, you now have 3
You can always combine MV*
with some other framework

Ем виси, ем не виси :)
Releases
•
•
•
•

When was the latest version released?
How often do they release new version?
Are there currently any betas?
Is there huge incompatibility between versions?
Support
• How many opened issues are there?
• Is the documentation rich & easy to use?
• How steeper is the learning curve?
Community
• Which big projects use the framework?
• How big & active the community is?
Usage Statistics
• Content

• Statistics from
goo.gl/lJrPpl
Tips
• Spend some time browsing the source code
• Read other people’s opinion, but don’t count on
them!
Tips
• Write a module/component for your App in plain
JavaScript or pseudo code; then migrate to the
selected library/framework and see how it feels
• TodoMVC has implementations in several MV*
frameworks - check it out at todomvc.com
Are there any Questions?
****

, ask me :)
Thanks for listening!

github.com/ickata
wpbgug.org
blog.ickata.net
sitekreator.com
And thanks to our Sponsors:
Diamond Sponsor:

Gold Sponsors:

Silver Sponsors:
Technological Partners:
Bronze Partners:
Swag Sponsors:

Media Partners:

More Related Content

What's hot (20)

PDF
Testing Mobile JavaScript
jeresig
 
PDF
Avoiding Common Pitfalls in Ember.js
Alex Speller
 
PPTX
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
MarkupBox
 
PDF
jQuery Conference San Diego 2014 - Web Performance
dmethvin
 
PPTX
jQuery Conference 2012 keynote
dmethvin
 
PDF
jQuery Chicago 2014 - Next-generation JavaScript Testing
Vlad Filippov
 
PDF
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible
 
PDF
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Matt Raible
 
PDF
jQuery Keynote - Fall 2010
jeresig
 
PDF
Testing Angular 2 Applications - HTML5 Denver 2016
Matt Raible
 
PDF
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Dan Gribbin
 
PDF
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015
Matt Raible
 
PDF
Testing Angular 2 Applications - Rich Web 2016
Matt Raible
 
PDF
Going Node.js at Netflix
micahr
 
PDF
ITT Flisol 2013
Domingo Suarez Torres
 
PDF
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016
Matt Raible
 
PDF
Testing Angular Applications - Jfokus 2017
Matt Raible
 
PDF
The Onion
JĂśrn Zaefferer
 
PDF
Building a Single-Page App: Backbone, Node.js, and Beyond
Spike Brehm
 
PDF
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016
Matt Raible
 
Testing Mobile JavaScript
jeresig
 
Avoiding Common Pitfalls in Ember.js
Alex Speller
 
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
MarkupBox
 
jQuery Conference San Diego 2014 - Web Performance
dmethvin
 
jQuery Conference 2012 keynote
dmethvin
 
jQuery Chicago 2014 - Next-generation JavaScript Testing
Vlad Filippov
 
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Matt Raible
 
jQuery Keynote - Fall 2010
jeresig
 
Testing Angular 2 Applications - HTML5 Denver 2016
Matt Raible
 
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Dan Gribbin
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015
Matt Raible
 
Testing Angular 2 Applications - Rich Web 2016
Matt Raible
 
Going Node.js at Netflix
micahr
 
ITT Flisol 2013
Domingo Suarez Torres
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016
Matt Raible
 
Testing Angular Applications - Jfokus 2017
Matt Raible
 
The Onion
JĂśrn Zaefferer
 
Building a Single-Page App: Backbone, Node.js, and Beyond
Spike Brehm
 
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016
Matt Raible
 

Viewers also liked (18)

PPTX
Cross-platform JavaScript
Hristo Chakarov
 
PPT
Megan's Bucket List
Caleb Fountain
 
PPT
Caleb bucket list
Caleb Fountain
 
PPT
Caleb bucket list
Caleb Fountain
 
PPTX
Dispositivos electronicos michael perez (2)
michael_10
 
PDF
Choosing the right JavaScript library/framework/toolkit for our project
Hristo Chakarov
 
PDF
Armadura oxidada robert fish
Vero Ponce
 
PDF
DOM Performance (JSNext Bulgaria)
Hristo Chakarov
 
DOCX
Tổng quan về số tự nhiên
Nhập Vân Long
 
PDF
WP-Boot
Hristo Chakarov
 
DOCX
Tính Tổng Với Các Số Hạng Là Phân Số
Nhập Vân Long
 
PDF
Hướng dẫn phụ huynh chương trình giảng dạy lớp 5
Nhập Vân Long
 
DOCX
Chứng minh hai đoạn thẳng bằng nhau
Nhập Vân Long
 
PDF
Một Số Kỹ Năng Giải Hệ Luyện Thi Đại Học
Nhập Vân Long
 
DOC
1440cauhoiluyenthiquocgiatbkhap1daodongco
Nhập Vân Long
 
DOCX
Sử dụng quan hệ giữa đường vuông góc , đường xiên , hình chiếu. Để giải các b...
Nhập Vân Long
 
DOCX
Bài Luyện Tập Về Phân Số Lớp 5
Nhập Vân Long
 
DOCX
Dang 3: Chứng minh ba điểm thẳng hàng
Nhập Vân Long
 
Cross-platform JavaScript
Hristo Chakarov
 
Megan's Bucket List
Caleb Fountain
 
Caleb bucket list
Caleb Fountain
 
Caleb bucket list
Caleb Fountain
 
Dispositivos electronicos michael perez (2)
michael_10
 
Choosing the right JavaScript library/framework/toolkit for our project
Hristo Chakarov
 
Armadura oxidada robert fish
Vero Ponce
 
DOM Performance (JSNext Bulgaria)
Hristo Chakarov
 
Tổng quan về số tự nhiên
Nhập Vân Long
 
WP-Boot
Hristo Chakarov
 
Tính Tổng Với Các Số Hạng Là Phân Số
Nhập Vân Long
 
Hướng dẫn phụ huynh chương trình giảng dạy lớp 5
Nhập Vân Long
 
Chứng minh hai đoạn thẳng bằng nhau
Nhập Vân Long
 
Một Số Kỹ Năng Giải Hệ Luyện Thi Đại Học
Nhập Vân Long
 
1440cauhoiluyenthiquocgiatbkhap1daodongco
Nhập Vân Long
 
Sử dụng quan hệ giữa đường vuông góc , đường xiên , hình chiếu. Để giải các b...
Nhập Vân Long
 
Bài Luyện Tập Về Phân Số Lớp 5
Nhập Vân Long
 
Dang 3: Chứng minh ba điểm thẳng hàng
Nhập Vân Long
 
Ad

Similar to Choosing the best JavaScript framework/library/toolkit (20)

KEY
Drupal at the EBI
Francis Rowland
 
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
FITC
 
PDF
Understanding Microservices
M A Hossain Tonu
 
PPTX
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson
 
PDF
UI Dev in Big data world using open source
Tech Triveni
 
PPTX
Full stack development using javascript what and why - ajay chandravadiya
ajayrcgmail
 
PDF
2014 Picking a Platform by Anand Kulkarni
European Innovation Academy
 
PPT
Top 10 web application development frameworks 2016
iMOBDEV Technologies Pvt. Ltd.
 
PPTX
After the LAMP, it's time to get MEAN
Jeff Fox
 
PPTX
Frontend War: Angular vs React vs Vue
Marudi Subakti
 
PPTX
Angular vs React vs Vue
Hosein Mansouri
 
PDF
Prototyping like it is 2022
Michael Yagudaev
 
PDF
Presentation 1 Web--dev
altsav
 
PDF
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
 
PPTX
Reactive Development: Commands, Actors and Events. Oh My!!
David Hoerster
 
PPTX
Top 10 frameworks of node js
HabileLabs
 
PPTX
DIGIT Noe 2016 - Overview of front end development today
Bojan Veljanovski
 
PDF
Jumpstart Your Web App
Harvard Web Working Group
 
PPT
Dmdh workshop #6
Paige Morgan
 
PPT
5 Common Mistakes You are Making on your Website
Acquia
 
Drupal at the EBI
Francis Rowland
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
FITC
 
Understanding Microservices
M A Hossain Tonu
 
Edy Dawson Notes on SF HTML5 Dev Conf
Edy Dawson
 
UI Dev in Big data world using open source
Tech Triveni
 
Full stack development using javascript what and why - ajay chandravadiya
ajayrcgmail
 
2014 Picking a Platform by Anand Kulkarni
European Innovation Academy
 
Top 10 web application development frameworks 2016
iMOBDEV Technologies Pvt. Ltd.
 
After the LAMP, it's time to get MEAN
Jeff Fox
 
Frontend War: Angular vs React vs Vue
Marudi Subakti
 
Angular vs React vs Vue
Hosein Mansouri
 
Prototyping like it is 2022
Michael Yagudaev
 
Presentation 1 Web--dev
altsav
 
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
 
Reactive Development: Commands, Actors and Events. Oh My!!
David Hoerster
 
Top 10 frameworks of node js
HabileLabs
 
DIGIT Noe 2016 - Overview of front end development today
Bojan Veljanovski
 
Jumpstart Your Web App
Harvard Web Working Group
 
Dmdh workshop #6
Paige Morgan
 
5 Common Mistakes You are Making on your Website
Acquia
 
Ad

Recently uploaded (20)

PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 

Choosing the best JavaScript framework/library/toolkit