SlideShare a Scribd company logo
YUI for your hacks Subramanyan Murali Web Developer, Hacker, Photographer Yahoo! Content Engineering
“The browser is an inefficient and inconsistent  application platform” - Douglas Crockford
It is an dynamic environment with a lot of inconsistencies and challenges forus engineers  to think harder   3
… hence we end up spending more time fixing the mess, rather than developing something cool   4
So we decided to dust the mess under the covers and give you  5
YUI is all about doing more with less  6
YUI 2.x gave you over 30 components to play with 7
YUI 2.x gave the developer the ability to quickly build up great web interactions …   8
But YUI 2.x was fun for Open hack day 2009 9
Step aside YAHOO,  here comes YUI 10
YUI.use(‘lighter’, function(Y) {  Y.all(‘.fasterli’).each( function(li) {   li.set(‘innerHTML’, ‘easier’);       });  }); 11
YUI 3 was built to be lighter, faster and easier to work with 12
YUI 3 is Lighter  Load only the stuff you need  YUI 3 automatically determines the dependencies and loads it on your page  Code is optimized  Learnt from mistakes in YUI 2  Better version support  13
YUI 3 is Faster  Code was re-factored for better performance  Ability to sandbox your code 14
YUI 3 is Easier  Consistent API Support for chaining  Selectors support to easily traverse the DOM tree Ability to use YUI 2 and YUI 3 together Dependencies are self populating  15
<script src=“yui-min.js”> <script>  <script type=‘text/javascript’> YUI().use(“anim”, function(Y)  { varx = new Y.Anim({             node    : “#some”,                             easing : Y.Easing.bounceOut          }); x.run()      });  </script>  16
Node is the core for YUI 3 DOM manipulation Normalized event handling 17
18 // Native Events Y.one(‘.cona’).on(‘click’, handler); // Custom Events slider.on(‘valueChange’, handler);
YUI 3 has better support for ‘interesting moments’ on the page 19
//Create a YUI instance YUI().use(‘event-custom’, function(Y)  {      function publisher() { Y.fire(‘my-app:started’);     }    ….    function subscriber()  { Y.on(‘my-app:started’, function(e) { e.preventDefault();         }; Y.after(‘my-app:started’, function(e) {             ….         };       } });   20
Node can be batched as NodeList, operations can be batched on NodeListas well 21
22 // Node List Y.all(‘.conli’).addClass(‘some’); // Helper Functions on Node List Y.all(‘.conli’).each(function(item, i){ item.set(‘innerHTML’, ‘wow ’+i); });
Fetching data has never been easier, same domain or X-domain  23
// Create a YUI instance using io-base module. YUI().use(‘io-base’, function(Y) {  varuri = “get.php?foo=bar”;        function complete(id, o, args) {  var id      = id,                           // Transaction ID                data = o.responseText, // Response data args = args[1];                 // ‘a’     };       // Subscribe to event io:complete Y.on(‘io:complete’, complete, Y, [‘a’, ‘b’]);       // Make an HTTP request to get.php var request = Y.io(uri);  });  24
// Create a YUI instance using io-xdr module. YUI().use(‘io-xdr’, function(Y) { varxdrCfg = { src : ‘io.swf’	}; Y.io.transport( xdrCfg ); varcfg = { xdr         : { use : ‘flash’ }, 	  data       : ‘foo=bar&baz=boo’, 	  timeout : 3000,  	}; Y.on( ‘io:success’, function( id, o, args ) { var data = o.responseText;  // handle data },this); 	// Start the transaction var request = Y.io( uri, cfg); }); 25
We handle the browser mess, you concentrate on your Hack 26
YUI 3 is Open source and you can contribute … http://yuilibrary.com/projects/yui3/  27
You can even use YUI 2 modules within a YUI 3 sandbox …  28
YUI().use(‘dd-drag’, ‘yui2-calendar’,  function(Y) {  //Will run YUI 2 code unmodified  var YAHOO    = Y.YUI2;    varCalender = YAHOO.widget.Calender; var cal = new Calendar(‘calCont’);  cal.renderEvent.subscribe(function() { vardd = new Y.DD.Drag({               node: ‘#calCont’           }).addHandle(‘div.calheader’);        }); cal.render();        }); 29
Or use the cool things that others have already created … http://yuilibrary.com/gallery/ 30
YUI().use(‘node’,                     ‘gallery-storage-lite’,                     ‘yui2-editor’,  function(Y) {    var YAHOO = Y.YUI2; var STORE = Y.StorageLite;               …..        } );  31
YUI has a lot of documentation, examples and is backed by a strong community http://developer.yahoo.com/yui/3/ http://developer.yahoo.com/yui/3/examples/ http://yuilibrary.com/gallery/ http://yuiblog.com/ 32
Start with an Idea Search the Data  Solve the problem  Present it with YUI  33
“An idea can transform the world and rewrite all the rules ”    ,[object Object],Happy Hacking !!! 34
Contact  Photos  http://flickr.com/photos/rmsguhan Blog  http://rmsguhan.com Twitter  @rmsguhan 35

More Related Content

What's hot

Get started with YUI
Get started with YUIGet started with YUI
Get started with YUIAdam Lu
 
How Kris Writes Symfony Apps
How Kris Writes Symfony AppsHow Kris Writes Symfony Apps
How Kris Writes Symfony Apps
Kris Wallsmith
 
How kris-writes-symfony-apps-london
How kris-writes-symfony-apps-londonHow kris-writes-symfony-apps-london
How kris-writes-symfony-apps-london
Kris Wallsmith
 
Leveraging jQuery's Special Events API (JSConf 2012)
Leveraging jQuery's Special Events API (JSConf 2012)Leveraging jQuery's Special Events API (JSConf 2012)
Leveraging jQuery's Special Events API (JSConf 2012)
James Greene
 
Hack with YUI
Hack with YUIHack with YUI
Hack with YUI
Jai Santhosh
 
Special Events
Special EventsSpecial Events
Special Events
Brandon Aaron
 
Jquery introduce
Jquery introduceJquery introduce
Jquery introduceMajor Ye
 
Kick start with j query
Kick start with j queryKick start with j query
Kick start with j queryMd. Ziaul Haq
 
Utility libraries to make your life easier
Utility libraries to make your life easierUtility libraries to make your life easier
Utility libraries to make your life easier
Oleksii Prohonnyi
 
Matters of State
Matters of StateMatters of State
Matters of State
Kris Wallsmith
 
Building Large jQuery Applications
Building Large jQuery ApplicationsBuilding Large jQuery Applications
Building Large jQuery Applications
Rebecca Murphey
 
Functionality Focused Code Organization
Functionality Focused Code OrganizationFunctionality Focused Code Organization
Functionality Focused Code Organization
Rebecca Murphey
 
Leaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGLLeaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGL
gerbille
 
Awesome State Management for React and Other Virtual-Dom Libraries
Awesome State Management for React and Other Virtual-Dom LibrariesAwesome State Management for React and Other Virtual-Dom Libraries
Awesome State Management for React and Other Virtual-Dom Libraries
FITC
 
Js Project - Architecture
Js Project - ArchitectureJs Project - Architecture
Js Project - Architecture
Rafael Araujo Diniz
 
DOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryDOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQuery
Remy Sharp
 
Javascript session june 2013 (iii) jquery json
Javascript session june 2013 (iii) jquery   jsonJavascript session june 2013 (iii) jquery   json
Javascript session june 2013 (iii) jquery json
abksharma
 
20120121
2012012120120121
20120121
komarineko
 

What's hot (20)

Get started with YUI
Get started with YUIGet started with YUI
Get started with YUI
 
How Kris Writes Symfony Apps
How Kris Writes Symfony AppsHow Kris Writes Symfony Apps
How Kris Writes Symfony Apps
 
How kris-writes-symfony-apps-london
How kris-writes-symfony-apps-londonHow kris-writes-symfony-apps-london
How kris-writes-symfony-apps-london
 
Leveraging jQuery's Special Events API (JSConf 2012)
Leveraging jQuery's Special Events API (JSConf 2012)Leveraging jQuery's Special Events API (JSConf 2012)
Leveraging jQuery's Special Events API (JSConf 2012)
 
Hack with YUI
Hack with YUIHack with YUI
Hack with YUI
 
Special Events
Special EventsSpecial Events
Special Events
 
Jquery introduce
Jquery introduceJquery introduce
Jquery introduce
 
Glade & PYGTK
Glade & PYGTKGlade & PYGTK
Glade & PYGTK
 
Kick start with j query
Kick start with j queryKick start with j query
Kick start with j query
 
Utility libraries to make your life easier
Utility libraries to make your life easierUtility libraries to make your life easier
Utility libraries to make your life easier
 
Matters of State
Matters of StateMatters of State
Matters of State
 
Building Large jQuery Applications
Building Large jQuery ApplicationsBuilding Large jQuery Applications
Building Large jQuery Applications
 
Functionality Focused Code Organization
Functionality Focused Code OrganizationFunctionality Focused Code Organization
Functionality Focused Code Organization
 
Leaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGLLeaving Flatland: getting started with WebGL
Leaving Flatland: getting started with WebGL
 
YUI3 - IIT Madras HackU
YUI3 - IIT Madras HackU YUI3 - IIT Madras HackU
YUI3 - IIT Madras HackU
 
Awesome State Management for React and Other Virtual-Dom Libraries
Awesome State Management for React and Other Virtual-Dom LibrariesAwesome State Management for React and Other Virtual-Dom Libraries
Awesome State Management for React and Other Virtual-Dom Libraries
 
Js Project - Architecture
Js Project - ArchitectureJs Project - Architecture
Js Project - Architecture
 
DOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryDOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQuery
 
Javascript session june 2013 (iii) jquery json
Javascript session june 2013 (iii) jquery   jsonJavascript session june 2013 (iii) jquery   json
Javascript session june 2013 (iii) jquery json
 
20120121
2012012120120121
20120121
 

Viewers also liked

Tabela da Série A 2012 - Campeonato Brasileiro
Tabela da Série A 2012 - Campeonato BrasileiroTabela da Série A 2012 - Campeonato Brasileiro
Tabela da Série A 2012 - Campeonato Brasileiro
Portal NE10
 
Do it Best POS - Microsoft RMS
Do it Best POS - Microsoft RMSDo it Best POS - Microsoft RMS
Do it Best POS - Microsoft RMSSystem Solutions
 
Power Production Fuels & Jamaica
Power Production Fuels & JamaicaPower Production Fuels & Jamaica
Power Production Fuels & Jamaica
tomlinson_n
 
What to Blog about @ Academic Libraries
What to Blog about @ Academic LibrariesWhat to Blog about @ Academic Libraries
What to Blog about @ Academic Libraries
Sophie vd Walt
 
Yahoo! Frontend Building Blocks
Yahoo! Frontend Building BlocksYahoo! Frontend Building Blocks
Yahoo! Frontend Building Blocks
Subramanyan Murali
 
Is it good to be paranoid ?
Is it good to be paranoid ?Is it good to be paranoid ?
Is it good to be paranoid ?
Subramanyan Murali
 
Get me my data !
Get me my data !Get me my data !
Get me my data !
Subramanyan Murali
 
Study of Aerodynamics of a Cricket Ball
Study of Aerodynamics of a Cricket BallStudy of Aerodynamics of a Cricket Ball
Study of Aerodynamics of a Cricket Ball
Dr. Bhuiyan S. M. Ebna Hai
 
Yahoo! Geo Technologies-IITD
Yahoo! Geo Technologies-IITDYahoo! Geo Technologies-IITD
Yahoo! Geo Technologies-IITD
Subramanyan Murali
 
Asynchronous Javascript and Rich Internet Aplications
Asynchronous Javascript and Rich Internet AplicationsAsynchronous Javascript and Rich Internet Aplications
Asynchronous Javascript and Rich Internet Aplications
Subramanyan Murali
 
When Why What of WWW
When Why What of WWWWhen Why What of WWW
When Why What of WWW
Subramanyan Murali
 
Location aware Web Applications
Location aware Web ApplicationsLocation aware Web Applications
Location aware Web ApplicationsSubramanyan Murali
 

Viewers also liked (20)

PSC 2011.1 - Apresentação Geral
PSC 2011.1 - Apresentação GeralPSC 2011.1 - Apresentação Geral
PSC 2011.1 - Apresentação Geral
 
Tabela da Série A 2012 - Campeonato Brasileiro
Tabela da Série A 2012 - Campeonato BrasileiroTabela da Série A 2012 - Campeonato Brasileiro
Tabela da Série A 2012 - Campeonato Brasileiro
 
Do it Best POS - Microsoft RMS
Do it Best POS - Microsoft RMSDo it Best POS - Microsoft RMS
Do it Best POS - Microsoft RMS
 
Candidatos São Paulo
Candidatos São PauloCandidatos São Paulo
Candidatos São Paulo
 
Power Production Fuels & Jamaica
Power Production Fuels & JamaicaPower Production Fuels & Jamaica
Power Production Fuels & Jamaica
 
Bs Vs I P
Bs Vs I PBs Vs I P
Bs Vs I P
 
What to Blog about @ Academic Libraries
What to Blog about @ Academic LibrariesWhat to Blog about @ Academic Libraries
What to Blog about @ Academic Libraries
 
A simple model of the liver microcirculation
A simple model of the liver microcirculationA simple model of the liver microcirculation
A simple model of the liver microcirculation
 
Clipboard support on Y! mail
Clipboard support on Y! mailClipboard support on Y! mail
Clipboard support on Y! mail
 
Yahoo! Frontend Building Blocks
Yahoo! Frontend Building BlocksYahoo! Frontend Building Blocks
Yahoo! Frontend Building Blocks
 
Professional Css
Professional CssProfessional Css
Professional Css
 
Is it good to be paranoid ?
Is it good to be paranoid ?Is it good to be paranoid ?
Is it good to be paranoid ?
 
What the Hack??
What the Hack??What the Hack??
What the Hack??
 
Get me my data !
Get me my data !Get me my data !
Get me my data !
 
Study of Aerodynamics of a Cricket Ball
Study of Aerodynamics of a Cricket BallStudy of Aerodynamics of a Cricket Ball
Study of Aerodynamics of a Cricket Ball
 
Yahoo! Geo Technologies-IITD
Yahoo! Geo Technologies-IITDYahoo! Geo Technologies-IITD
Yahoo! Geo Technologies-IITD
 
Asynchronous Javascript and Rich Internet Aplications
Asynchronous Javascript and Rich Internet AplicationsAsynchronous Javascript and Rich Internet Aplications
Asynchronous Javascript and Rich Internet Aplications
 
When Why What of WWW
When Why What of WWWWhen Why What of WWW
When Why What of WWW
 
Location aware Web Applications
Location aware Web ApplicationsLocation aware Web Applications
Location aware Web Applications
 
A2 A Ppt
A2 A PptA2 A Ppt
A2 A Ppt
 

Similar to YUI for your Hacks

Hack U - YUI - 2012 IIT Kharagpur
Hack U - YUI - 2012 IIT KharagpurHack U - YUI - 2012 IIT Kharagpur
Hack U - YUI - 2012 IIT Kharagpur
Sumana Hariharan
 
夜宴52期《从函数构造到YUI沙箱》
夜宴52期《从函数构造到YUI沙箱》夜宴52期《从函数构造到YUI沙箱》
夜宴52期《从函数构造到YUI沙箱》Koubei Banquet
 
Hack with YUI
Hack with YUIHack with YUI
Hack with YUI
Luke Smith
 
YUI 3
YUI 3YUI 3
YUI 3
Dav Glass
 
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetTom Croucher
 
YUI for control freaks - a presentation at The Ajax Experience
YUI for control freaks - a presentation at The Ajax ExperienceYUI for control freaks - a presentation at The Ajax Experience
YUI for control freaks - a presentation at The Ajax ExperienceChristian Heilmann
 
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
Eduardo Lundgren
 
Y hack-china-2013
Y hack-china-2013Y hack-china-2013
Y hack-china-2013Syu-jhih Wu
 
YUI on the go
YUI on the goYUI on the go
YUI on the go
Christian Heilmann
 
Yui3在美团 2
Yui3在美团 2Yui3在美团 2
Yui3在美团 2Kai Cui
 
YUI introduction to build hack interfaces
YUI introduction to build hack interfacesYUI introduction to build hack interfaces
YUI introduction to build hack interfacesChristian Heilmann
 
Prototype UI
Prototype UIPrototype UI
Prototype UI
Sébastien Gruhier
 
YUI (Advanced)
YUI (Advanced)YUI (Advanced)
YUI (Advanced)
Jai Santhosh
 
YUI for your Hacks-IITB
YUI for your Hacks-IITBYUI for your Hacks-IITB
YUI for your Hacks-IITB
Subramanyan Murali
 
Embracing YUI3 and Frontend Perf
Embracing YUI3 and Frontend PerfEmbracing YUI3 and Frontend Perf
Embracing YUI3 and Frontend Perf
Morgan Cheng
 
JavaScript APIs - The Web is the Platform - MDN Hack Day, Montevideo
JavaScript APIs - The Web is the Platform - MDN Hack Day, MontevideoJavaScript APIs - The Web is the Platform - MDN Hack Day, Montevideo
JavaScript APIs - The Web is the Platform - MDN Hack Day, MontevideoRobert Nyman
 
2009 Hackday Taiwan Yui
2009 Hackday Taiwan Yui2009 Hackday Taiwan Yui
2009 Hackday Taiwan Yui
JH Lee
 
JavaScript APIs - The Web is the Platform - MozCamp, Buenos Aires
JavaScript APIs - The Web is the Platform - MozCamp, Buenos AiresJavaScript APIs - The Web is the Platform - MozCamp, Buenos Aires
JavaScript APIs - The Web is the Platform - MozCamp, Buenos AiresRobert Nyman
 
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, ChileJavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, ChileRobert Nyman
 

Similar to YUI for your Hacks (20)

Hack U - YUI - 2012 IIT Kharagpur
Hack U - YUI - 2012 IIT KharagpurHack U - YUI - 2012 IIT Kharagpur
Hack U - YUI - 2012 IIT Kharagpur
 
夜宴52期《从函数构造到YUI沙箱》
夜宴52期《从函数构造到YUI沙箱》夜宴52期《从函数构造到YUI沙箱》
夜宴52期《从函数构造到YUI沙箱》
 
Hack with YUI
Hack with YUIHack with YUI
Hack with YUI
 
Yui intro
Yui introYui intro
Yui intro
 
YUI 3
YUI 3YUI 3
YUI 3
 
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yet
 
YUI for control freaks - a presentation at The Ajax Experience
YUI for control freaks - a presentation at The Ajax ExperienceYUI for control freaks - a presentation at The Ajax Experience
YUI for control freaks - a presentation at The Ajax Experience
 
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
YUI3 and AlloyUI Introduction for Pernambuco.JS 2012
 
Y hack-china-2013
Y hack-china-2013Y hack-china-2013
Y hack-china-2013
 
YUI on the go
YUI on the goYUI on the go
YUI on the go
 
Yui3在美团 2
Yui3在美团 2Yui3在美团 2
Yui3在美团 2
 
YUI introduction to build hack interfaces
YUI introduction to build hack interfacesYUI introduction to build hack interfaces
YUI introduction to build hack interfaces
 
Prototype UI
Prototype UIPrototype UI
Prototype UI
 
YUI (Advanced)
YUI (Advanced)YUI (Advanced)
YUI (Advanced)
 
YUI for your Hacks-IITB
YUI for your Hacks-IITBYUI for your Hacks-IITB
YUI for your Hacks-IITB
 
Embracing YUI3 and Frontend Perf
Embracing YUI3 and Frontend PerfEmbracing YUI3 and Frontend Perf
Embracing YUI3 and Frontend Perf
 
JavaScript APIs - The Web is the Platform - MDN Hack Day, Montevideo
JavaScript APIs - The Web is the Platform - MDN Hack Day, MontevideoJavaScript APIs - The Web is the Platform - MDN Hack Day, Montevideo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Montevideo
 
2009 Hackday Taiwan Yui
2009 Hackday Taiwan Yui2009 Hackday Taiwan Yui
2009 Hackday Taiwan Yui
 
JavaScript APIs - The Web is the Platform - MozCamp, Buenos Aires
JavaScript APIs - The Web is the Platform - MozCamp, Buenos AiresJavaScript APIs - The Web is the Platform - MozCamp, Buenos Aires
JavaScript APIs - The Web is the Platform - MozCamp, Buenos Aires
 
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, ChileJavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
 

More from Subramanyan Murali

Yahoo Mail moving to React
Yahoo Mail moving to ReactYahoo Mail moving to React
Yahoo Mail moving to React
Subramanyan Murali
 
Web as a data resource
Web as a data resourceWeb as a data resource
Web as a data resource
Subramanyan Murali
 
Welcome to University Hack Day @ IIT Chennai
Welcome to University Hack Day @ IIT Chennai Welcome to University Hack Day @ IIT Chennai
Welcome to University Hack Day @ IIT Chennai
Subramanyan Murali
 
YUI open for all !
YUI open for all !YUI open for all !
YUI open for all !
Subramanyan Murali
 
Basics of Rich Internet Applications
Basics of Rich Internet ApplicationsBasics of Rich Internet Applications
Basics of Rich Internet Applications
Subramanyan Murali
 

More from Subramanyan Murali (7)

Yahoo Mail moving to React
Yahoo Mail moving to ReactYahoo Mail moving to React
Yahoo Mail moving to React
 
Web as a data resource
Web as a data resourceWeb as a data resource
Web as a data resource
 
Welcome to University Hack Day @ IIT Chennai
Welcome to University Hack Day @ IIT Chennai Welcome to University Hack Day @ IIT Chennai
Welcome to University Hack Day @ IIT Chennai
 
YUI open for all !
YUI open for all !YUI open for all !
YUI open for all !
 
Fixing the developer Mindset
Fixing the developer MindsetFixing the developer Mindset
Fixing the developer Mindset
 
Basics of Rich Internet Applications
Basics of Rich Internet ApplicationsBasics of Rich Internet Applications
Basics of Rich Internet Applications
 
Javascript Design Patterns
Javascript Design PatternsJavascript Design Patterns
Javascript Design Patterns
 

Recently uploaded

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 

Recently uploaded (20)

Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 

YUI for your Hacks

  • 1. YUI for your hacks Subramanyan Murali Web Developer, Hacker, Photographer Yahoo! Content Engineering
  • 2. “The browser is an inefficient and inconsistent application platform” - Douglas Crockford
  • 3. It is an dynamic environment with a lot of inconsistencies and challenges forus engineers to think harder  3
  • 4. … hence we end up spending more time fixing the mess, rather than developing something cool  4
  • 5. So we decided to dust the mess under the covers and give you 5
  • 6. YUI is all about doing more with less 6
  • 7. YUI 2.x gave you over 30 components to play with 7
  • 8. YUI 2.x gave the developer the ability to quickly build up great web interactions … 8
  • 9. But YUI 2.x was fun for Open hack day 2009 9
  • 10. Step aside YAHOO, here comes YUI 10
  • 11. YUI.use(‘lighter’, function(Y) { Y.all(‘.fasterli’).each( function(li) { li.set(‘innerHTML’, ‘easier’); }); }); 11
  • 12. YUI 3 was built to be lighter, faster and easier to work with 12
  • 13. YUI 3 is Lighter Load only the stuff you need YUI 3 automatically determines the dependencies and loads it on your page Code is optimized Learnt from mistakes in YUI 2 Better version support 13
  • 14. YUI 3 is Faster Code was re-factored for better performance Ability to sandbox your code 14
  • 15. YUI 3 is Easier Consistent API Support for chaining Selectors support to easily traverse the DOM tree Ability to use YUI 2 and YUI 3 together Dependencies are self populating 15
  • 16. <script src=“yui-min.js”> <script> <script type=‘text/javascript’> YUI().use(“anim”, function(Y) { varx = new Y.Anim({ node : “#some”, easing : Y.Easing.bounceOut }); x.run() }); </script> 16
  • 17. Node is the core for YUI 3 DOM manipulation Normalized event handling 17
  • 18. 18 // Native Events Y.one(‘.cona’).on(‘click’, handler); // Custom Events slider.on(‘valueChange’, handler);
  • 19. YUI 3 has better support for ‘interesting moments’ on the page 19
  • 20. //Create a YUI instance YUI().use(‘event-custom’, function(Y) { function publisher() { Y.fire(‘my-app:started’); } …. function subscriber() { Y.on(‘my-app:started’, function(e) { e.preventDefault(); }; Y.after(‘my-app:started’, function(e) { …. }; } });   20
  • 21. Node can be batched as NodeList, operations can be batched on NodeListas well 21
  • 22. 22 // Node List Y.all(‘.conli’).addClass(‘some’); // Helper Functions on Node List Y.all(‘.conli’).each(function(item, i){ item.set(‘innerHTML’, ‘wow ’+i); });
  • 23. Fetching data has never been easier, same domain or X-domain 23
  • 24. // Create a YUI instance using io-base module. YUI().use(‘io-base’, function(Y) { varuri = “get.php?foo=bar”;   function complete(id, o, args) { var id = id, // Transaction ID data = o.responseText, // Response data args = args[1]; // ‘a’ };   // Subscribe to event io:complete Y.on(‘io:complete’, complete, Y, [‘a’, ‘b’]);   // Make an HTTP request to get.php var request = Y.io(uri); }); 24
  • 25. // Create a YUI instance using io-xdr module. YUI().use(‘io-xdr’, function(Y) { varxdrCfg = { src : ‘io.swf’ }; Y.io.transport( xdrCfg ); varcfg = { xdr : { use : ‘flash’ }, data : ‘foo=bar&baz=boo’, timeout : 3000, }; Y.on( ‘io:success’, function( id, o, args ) { var data = o.responseText; // handle data },this); // Start the transaction var request = Y.io( uri, cfg); }); 25
  • 26. We handle the browser mess, you concentrate on your Hack 26
  • 27. YUI 3 is Open source and you can contribute … http://yuilibrary.com/projects/yui3/ 27
  • 28. You can even use YUI 2 modules within a YUI 3 sandbox … 28
  • 29. YUI().use(‘dd-drag’, ‘yui2-calendar’, function(Y) { //Will run YUI 2 code unmodified var YAHOO = Y.YUI2;   varCalender = YAHOO.widget.Calender; var cal = new Calendar(‘calCont’); cal.renderEvent.subscribe(function() { vardd = new Y.DD.Drag({ node: ‘#calCont’ }).addHandle(‘div.calheader’); }); cal.render(); }); 29
  • 30. Or use the cool things that others have already created … http://yuilibrary.com/gallery/ 30
  • 31. YUI().use(‘node’, ‘gallery-storage-lite’, ‘yui2-editor’, function(Y) {   var YAHOO = Y.YUI2; var STORE = Y.StorageLite; ….. } ); 31
  • 32. YUI has a lot of documentation, examples and is backed by a strong community http://developer.yahoo.com/yui/3/ http://developer.yahoo.com/yui/3/examples/ http://yuilibrary.com/gallery/ http://yuiblog.com/ 32
  • 33. Start with an Idea Search the Data Solve the problem Present it with YUI  33
  • 34.
  • 35. Contact Photos http://flickr.com/photos/rmsguhan Blog http://rmsguhan.com Twitter @rmsguhan 35