Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Uncommon Javascript Libraries
Search
ramiabraham
October 18, 2014
Programming
0
570
Uncommon Javascript Libraries
Talk given at WordCamp Baltimore 2014
ramiabraham
October 18, 2014
Tweet
Share
More Decks by ramiabraham
See All by ramiabraham
JavaScript in WordPress: A Crash Course
ramiabraham
0
74
WordPress: the Next Generation
ramiabraham
0
310
Creating Private Networks with BuddyPress
ramiabraham
0
92
Avoiding Dangerous Plugins and Themes
ramiabraham
1
460
Maintaining sites with Preventive Development
ramiabraham
0
500
Maintaining Sites with Preventive Development
ramiabraham
0
800
Other Decks in Programming
See All in Programming
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
160
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
160
Java 22 Overview
kishida
1
180
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
120
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
470
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
130
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
630
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
140
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
190
コードレビューで学ぶ!Kotlinオブジェクト指向デザインパターン
akkie76
2
190
Ruby Function Composition
bkuhlmann
1
330
Featured
See All Featured
Atom: Resistance is Futile
akmur
258
25k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Documentation Writing (for coders)
carmenintech
59
3.9k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
Building an army of robots
kneath
300
41k
For a Future-Friendly Web
brad_frost
171
8.9k
Web Components: a chance to create the future
zenorocha
305
41k
No one is an island. Learnings from fostering a developers community.
thoeni
15
2.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
344
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
Transcript
hi
Uncommon JavaScript Libraries in WordPress @RamiAbraham rami.nu/WCBalt2014
Libraries not used in ‘typical’ development. What do you mean
“uncommon”?
Ok, but what is “typical development”?
I don’t know.
Parse data from objects Add/remove attributes of nodes Add/remove nodes
Populate nodes Animate nodes Validate data Make something wiggle a little on :hover Time Travel Some common JavaScript tasks:
None
But I try to live by these wise words... JavaScript
can do anything.
“Never do with JavaScript what you can with... not JavaScript.”
- Abraham Lincoln
A few libraries we’re all familiar with: jQuery Grunt and
Gulp MooTools Chosen Backbone Angular Ember Scriptaculous ...yadda yadda who cares
There are two primary reasons ...to use an unfamiliar JavaScript
library...
1. Use a different approach to solve a recurring problem.
Why? Learn something new. - Consider a fresh approach to
an old problem - Learn new skills - Have fun - Learning - Learn - Learn stuff - Learn things about stuff
2. The new library is required by the project.
Ok, but what’s included in core?
Let’s take a look...
jQuery (core, multiple sub-libraries) jQuery UI (core, multiple sub-libraries) Thickbox
Iris MediaElement TinyMCE Underscore Backbone ..and some others, as well as core js, such as media-upload, admin-gallery, wp-ajax-response
There are many. Check out the wp_scripts global.
Whenever possible, use core. Don’t leave the house for milk
if there’s already perfectly good milk in your refrigerator.
However, core might not be what the project needs.
Here are some fancy use-cases. One possible solution will follow,
in the form of a cool JavaScript library.
Use Case: “I need this data to be represented as
an infinite landscape of constantly- scrolling waffles”
Sure, I’ll use Three.js. also I’ll need a deposit of
twenty-thousand dollars
Use Case: “I need a detailed, scrolling timeline of events”
Timeline.js
Use Case: “I need to make a complex, multi-thread timeline-based
animation”
Greensock Animation Platform
Use Case: “I need safe, reliable form validation”
Use Gravity Forms, what’s wrong with you
j/k, sometimes it needs to be custom Parsley is a
popular option for form validation.
Use Case: “I need a library that generates a fart
sound when a user scrolls up or down a page”
Wow. Maybe talk with your client.
But yes, there’s a library for that.
Ok, no more examples.
What are some risks? How weird can this get?
Risks: Things to ask when adding a library Does core
have a version of this library already?
Risks: Things to ask when adding a library Does core
have a version of this library already? Yes?
Risks: Things to ask when adding a library Does core
have a version of this library already? Yes? Yes?
Risks: Things to ask when adding a library Does core
have a version of this library already? Yes? Yes? It does?
Then what are you doing?
Then what are you doing? .......is it jQuery?
Is it jQuery?
Is it jQuery? IS IT????!
ARE YOU ENQUEUEING YOUR OWN JQUERY?!?
(Please don’t do that)
“Search through core before adding more.” - Burt Reynolds
Risks: Things to ask when adding a library How will
this affect DOM scope?
Risks: Things to ask when adding a library How late
can I defer loading?
Risks: Things to ask when adding a library Should I
consider a no-js fallback?
developer ...and Director of Snarky Comments about Slider Plugins @RamiAbraham
rami.nu/WCBalt2014
Thank you. k bye @RamiAbraham