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

PPTX
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
PDF
On Selecting JavaScript Frameworks (Women Who Code 10/15)
PDF
JavaScript MV* Framework - Making the Right Choice
PPTX
Mvvm knockout vs angular
PPTX
Javascript Frameworks Comparison
PPTX
PPT
Javascript Frameworks
PDF
JS Framework Comparison - An infographic
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
On Selecting JavaScript Frameworks (Women Who Code 10/15)
JavaScript MV* Framework - Making the Right Choice
Mvvm knockout vs angular
Javascript Frameworks Comparison
Javascript Frameworks
JS Framework Comparison - An infographic

What's hot (20)

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

Viewers also liked (18)

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

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

KEY
Drupal at the EBI
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
PDF
Understanding Microservices
PPTX
Edy Dawson Notes on SF HTML5 Dev Conf
PDF
UI Dev in Big data world using open source
PPTX
Full stack development using javascript what and why - ajay chandravadiya
PDF
2014 Picking a Platform by Anand Kulkarni
PPT
Top 10 web application development frameworks 2016
PPTX
After the LAMP, it's time to get MEAN
PPTX
Frontend War: Angular vs React vs Vue
PPTX
Angular vs React vs Vue
PDF
Prototyping like it is 2022
PDF
Presentation 1 Web--dev
PDF
Service-Oriented Design and Implement with Rails3
PPTX
Reactive Development: Commands, Actors and Events. Oh My!!
PPTX
Top 10 frameworks of node js
PPTX
DIGIT Noe 2016 - Overview of front end development today
PDF
Jumpstart Your Web App
PPT
Dmdh workshop #6
PPT
5 Common Mistakes You are Making on your Website
Drupal at the EBI
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Understanding Microservices
Edy Dawson Notes on SF HTML5 Dev Conf
UI Dev in Big data world using open source
Full stack development using javascript what and why - ajay chandravadiya
2014 Picking a Platform by Anand Kulkarni
Top 10 web application development frameworks 2016
After the LAMP, it's time to get MEAN
Frontend War: Angular vs React vs Vue
Angular vs React vs Vue
Prototyping like it is 2022
Presentation 1 Web--dev
Service-Oriented Design and Implement with Rails3
Reactive Development: Commands, Actors and Events. Oh My!!
Top 10 frameworks of node js
DIGIT Noe 2016 - Overview of front end development today
Jumpstart Your Web App
Dmdh workshop #6
5 Common Mistakes You are Making on your Website

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
A Presentation on Artificial Intelligence
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Mushroom cultivation and it's methods.pdf
PDF
August Patch Tuesday
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
Teaching material agriculture food technology
PPTX
Tartificialntelligence_presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
Digital-Transformation-Roadmap-for-Companies.pptx
Network Security Unit 5.pdf for BCA BBA.
SOPHOS-XG Firewall Administrator PPT.pptx
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...
Reach Out and Touch Someone: Haptics and Empathic Computing
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
A Presentation on Artificial Intelligence
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Mushroom cultivation and it's methods.pdf
August Patch Tuesday
A comparative analysis of optical character recognition models for extracting...
Machine learning based COVID-19 study performance prediction
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Teaching material agriculture food technology
Tartificialntelligence_presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25-Week II

Choosing the best JavaScript framework/library/toolkit