SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
integration technologies




                           jQueryCamp07, Jörn Zaefferer
                             joern.zaefferer@gmail.com
                                http://bassistance.de



                               The Onion

          How to add features without
               adding features
>> Outline
         • Review of existing structures
           ● jQuery core
           ● metaplugins

         • Wrapper plugins
         • Summary
         • Questions and answers


               The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 2
>> jQuery ecosystem
                             plugins
                                 metaplugins


                                    jQuery
                                     Core




             The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 3
>> Wait a minute…




            The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 4
>> jQuery Core
         • Provides basic features for common tasks
         • Provides plugin extension point
         • Provides everything else via plugins




               The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 5
>> Metaplugins
         • You could implement it yourself with
             jQuery
         •   Getting it work across browsers can be
             very difficult (eg. dimensions plugin)
         •   Users won't notice it when it does its job




                 The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 6
>> Metaplugin Examples: bgiframe




            The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 7
>> Metaplugin Examples: pngfix




            The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 8
>> How to avoid bloat in your own plugins?
         • Usually users keep asking for features
         • Adding them all results in a monster
         • Declining them results in someone else
             doing it
         •   Results in fragmentation of code and
             community



                 The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 9
>> Wrapper plugins
          • Start with one plugin
          • Add extensions points
          • Wrap plugin with another




                The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 10
>> Treeview
          • treeview plugin transforms nested lists into
              a tree
          •   adds CSS and events to expand and
              collapse branches
          •   provides extension points
               ● callback when toggling branches
               ● adding new branches



                  The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 11
>> Treeview Demo
          •   http://dev.jquery.com/view/trunk/plugins/treeview/simple.html




                     The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 12
>> Can you add Ajax support?
          • I don't want to add Ajax support
          • I want to add Ajax support
          • How to add features without adding
              features?
          •   What to do?




                  The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 13
>> Wrapping Treeview: Putting Ajax around


                                asynctreeview



                                   treeview




            The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 14
>> Async Treeview Demo
          •   http://dev.jquery.com/view/trunk/plugins/treeview/async.html




                     The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 15
>> Summary
          • Add features while avoiding bloat
          • By wrapping plugins around jQuery core
              and other plugins
          •   Possible through extension points
               ● jQuery plugins
               ● anything plugin specific, like callbacks




                  The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 16
>> Ideas? Questions?




            The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07
Page 17

Más contenido relacionado

La actualidad más candente

jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
dmethvin
 
jQuery UI & Mobile - The Great Merger
jQuery UI & Mobile - The Great MergerjQuery UI & Mobile - The Great Merger
jQuery UI & Mobile - The Great Merger
scottgonzalez
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
dmethvin
 
AngularJS for Legacy Apps
AngularJS for Legacy AppsAngularJS for Legacy Apps
AngularJS for Legacy Apps
Peter Drinnan
 

La actualidad más candente (20)

jQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
 
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable MasterpieceTransforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
 
Real World Web components
Real World Web componentsReal World Web components
Real World Web components
 
Going Node.js at Netflix
Going Node.js at NetflixGoing Node.js at Netflix
Going Node.js at Netflix
 
HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015
 
Learning jQuery @ MIT
Learning jQuery @ MITLearning jQuery @ MIT
Learning jQuery @ MIT
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angular
 
jQuery UI & Mobile - The Great Merger
jQuery UI & Mobile - The Great MergerjQuery UI & Mobile - The Great Merger
jQuery UI & Mobile - The Great Merger
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
 
Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010
 
Vue.js Getting Started
Vue.js Getting StartedVue.js Getting Started
Vue.js Getting Started
 
JavaScript MV* Framework - Making the Right Choice
JavaScript MV* Framework - Making the Right ChoiceJavaScript MV* Framework - Making the Right Choice
JavaScript MV* Framework - Making the Right Choice
 
introduction to Vue.js 3
introduction to Vue.js 3 introduction to Vue.js 3
introduction to Vue.js 3
 
Don't Over-React - just use Vue!
Don't Over-React - just use Vue!Don't Over-React - just use Vue!
Don't Over-React - just use Vue!
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
 
AngularJS for Legacy Apps
AngularJS for Legacy AppsAngularJS for Legacy Apps
AngularJS for Legacy Apps
 
Drupal point of vue
Drupal point of vueDrupal point of vue
Drupal point of vue
 
Frontend architecture design for large(r) team final
Frontend architecture design for large(r) team   finalFrontend architecture design for large(r) team   final
Frontend architecture design for large(r) team final
 
jQuery 1.9 and 2.0 - Present and Future
jQuery 1.9 and 2.0 - Present and FuturejQuery 1.9 and 2.0 - Present and Future
jQuery 1.9 and 2.0 - Present and Future
 
Vuejs getting-started - Extended Version
Vuejs getting-started - Extended VersionVuejs getting-started - Extended Version
Vuejs getting-started - Extended Version
 

Destacado (8)

SMALL IS THE NEW BIG - TEDx Xavier School, Mark Ruiz
SMALL IS THE NEW BIG - TEDx Xavier School, Mark RuizSMALL IS THE NEW BIG - TEDx Xavier School, Mark Ruiz
SMALL IS THE NEW BIG - TEDx Xavier School, Mark Ruiz
 
ALL IN
ALL INALL IN
ALL IN
 
Hapinoy 3rd Year Anniversary
Hapinoy 3rd Year AnniversaryHapinoy 3rd Year Anniversary
Hapinoy 3rd Year Anniversary
 
LS145 Business Innovation Management Class Intro!
LS145 Business Innovation Management Class Intro!LS145 Business Innovation Management Class Intro!
LS145 Business Innovation Management Class Intro!
 
WhyNot?Forum 2.0 Darwin Flores
WhyNot?Forum 2.0 Darwin FloresWhyNot?Forum 2.0 Darwin Flores
WhyNot?Forum 2.0 Darwin Flores
 
WhyNot?Forum 4.0 Dakila
WhyNot?Forum 4.0 DakilaWhyNot?Forum 4.0 Dakila
WhyNot?Forum 4.0 Dakila
 
INNOVATION CLASS
INNOVATION CLASSINNOVATION CLASS
INNOVATION CLASS
 
Rags2Riches Rajo Laurel 2012 Athletenique Collection
Rags2Riches Rajo Laurel 2012 Athletenique CollectionRags2Riches Rajo Laurel 2012 Athletenique Collection
Rags2Riches Rajo Laurel 2012 Athletenique Collection
 

Similar a The Onion

JWebPane presentation at JavaOne 2009
JWebPane presentation at JavaOne 2009JWebPane presentation at JavaOne 2009
JWebPane presentation at JavaOne 2009
Alexey Ushakov
 
Ajax World Oracle Ria
Ajax World Oracle RiaAjax World Oracle Ria
Ajax World Oracle Ria
rajivmordani
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages
Mark Roden
 
JS Frameworks - Angular Vs Backbone
JS Frameworks - Angular Vs BackboneJS Frameworks - Angular Vs Backbone
JS Frameworks - Angular Vs Backbone
Gourav Jain, MCTS®
 

Similar a The Onion (20)

Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014
 
Modern Web Application Development Workflow - EclipseCon Europe 2014
Modern Web Application Development Workflow - EclipseCon Europe 2014Modern Web Application Development Workflow - EclipseCon Europe 2014
Modern Web Application Development Workflow - EclipseCon Europe 2014
 
JWebPane presentation at JavaOne 2009
JWebPane presentation at JavaOne 2009JWebPane presentation at JavaOne 2009
JWebPane presentation at JavaOne 2009
 
jQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UIjQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UI
 
Ajax World Oracle Ria
Ajax World Oracle RiaAjax World Oracle Ria
Ajax World Oracle Ria
 
JavaScript Library Overview
JavaScript Library OverviewJavaScript Library Overview
JavaScript Library Overview
 
Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014
 
jQuery - Boston IxDA
jQuery - Boston IxDAjQuery - Boston IxDA
jQuery - Boston IxDA
 
Frontend Workflow
Frontend WorkflowFrontend Workflow
Frontend Workflow
 
Symfony for non-techies
Symfony for non-techiesSymfony for non-techies
Symfony for non-techies
 
Enhancing your catalogue with open source
Enhancing your catalogue with open sourceEnhancing your catalogue with open source
Enhancing your catalogue with open source
 
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
 
Yeoman Workflow
Yeoman WorkflowYeoman Workflow
Yeoman Workflow
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages
 
JavaScript Libraries (Kings of Code)
JavaScript Libraries (Kings of Code)JavaScript Libraries (Kings of Code)
JavaScript Libraries (Kings of Code)
 
jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)
 
Extracting Plugins And Gems From Rails Apps
Extracting Plugins And Gems From Rails AppsExtracting Plugins And Gems From Rails Apps
Extracting Plugins And Gems From Rails Apps
 
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
 
Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20
 
JS Frameworks - Angular Vs Backbone
JS Frameworks - Angular Vs BackboneJS Frameworks - Angular Vs Backbone
JS Frameworks - Angular Vs Backbone
 

Último

Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
Nauman Safdar
 
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in PakistanChallenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
vineshkumarsajnani12
 

Último (20)

Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdf
 
UAE Bur Dubai Call Girls ☏ 0564401582 Call Girl in Bur Dubai
UAE Bur Dubai Call Girls ☏ 0564401582 Call Girl in Bur DubaiUAE Bur Dubai Call Girls ☏ 0564401582 Call Girl in Bur Dubai
UAE Bur Dubai Call Girls ☏ 0564401582 Call Girl in Bur Dubai
 
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
 
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableBerhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
 
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
 
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
 
Cannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 UpdatedCannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 Updated
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
 
WheelTug Short Pitch Deck 2024 | Byond Insights
WheelTug Short Pitch Deck 2024 | Byond InsightsWheelTug Short Pitch Deck 2024 | Byond Insights
WheelTug Short Pitch Deck 2024 | Byond Insights
 
CROSS CULTURAL NEGOTIATION BY PANMISEM NS
CROSS CULTURAL NEGOTIATION BY PANMISEM NSCROSS CULTURAL NEGOTIATION BY PANMISEM NS
CROSS CULTURAL NEGOTIATION BY PANMISEM NS
 
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in PakistanChallenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTSDurg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
 
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
 

The Onion

  • 1. integration technologies jQueryCamp07, Jörn Zaefferer joern.zaefferer@gmail.com http://bassistance.de The Onion How to add features without adding features
  • 2. >> Outline • Review of existing structures ● jQuery core ● metaplugins • Wrapper plugins • Summary • Questions and answers The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 2
  • 3. >> jQuery ecosystem plugins metaplugins jQuery Core The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 3
  • 4. >> Wait a minute… The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 4
  • 5. >> jQuery Core • Provides basic features for common tasks • Provides plugin extension point • Provides everything else via plugins The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 5
  • 6. >> Metaplugins • You could implement it yourself with jQuery • Getting it work across browsers can be very difficult (eg. dimensions plugin) • Users won't notice it when it does its job The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 6
  • 7. >> Metaplugin Examples: bgiframe The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 7
  • 8. >> Metaplugin Examples: pngfix The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 8
  • 9. >> How to avoid bloat in your own plugins? • Usually users keep asking for features • Adding them all results in a monster • Declining them results in someone else doing it • Results in fragmentation of code and community The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 9
  • 10. >> Wrapper plugins • Start with one plugin • Add extensions points • Wrap plugin with another The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 10
  • 11. >> Treeview • treeview plugin transforms nested lists into a tree • adds CSS and events to expand and collapse branches • provides extension points ● callback when toggling branches ● adding new branches The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 11
  • 12. >> Treeview Demo • http://dev.jquery.com/view/trunk/plugins/treeview/simple.html The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 12
  • 13. >> Can you add Ajax support? • I don't want to add Ajax support • I want to add Ajax support • How to add features without adding features? • What to do? The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 13
  • 14. >> Wrapping Treeview: Putting Ajax around asynctreeview treeview The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 14
  • 15. >> Async Treeview Demo • http://dev.jquery.com/view/trunk/plugins/treeview/async.html The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 15
  • 16. >> Summary • Add features while avoiding bloat • By wrapping plugins around jQuery core and other plugins • Possible through extension points ● jQuery plugins ● anything plugin specific, like callbacks The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 16
  • 17. >> Ideas? Questions? The Onion – How to add features without adding features, Jörn Zaefferer, jQueryCamp07 Page 17