SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Enyo + Onyx
                              for JS Nerds
                              Ben Combee (@unwiredben)
                            Austin JavaScript Meetup, April 2012




Wednesday, April 18, 2012
Wednesday, April 18, 2012
We need 500 apps for
                      the TouchPad, stat!
                            (that was Enyo 1.0)




Wednesday, April 18, 2012
We want apps from
                              devs that aren’t
                            HTML+CSS experts.
                             They need to run
                               everywhere.

Wednesday, April 18, 2012
How?



Wednesday, April 18, 2012
Components.
                    As seen in Visual Basic.
                      They’re not sexy.
                         They work.

Wednesday, April 18, 2012
iOS & Android
                            Chrome & Safari
                             Firefox & IE8+
                              Open webOS
                               Windows 8

Wednesday, April 18, 2012
Open Source.
                             Apache 2.0.


Wednesday, April 18, 2012
All source is on
                            github.com/enyojs


Wednesday, April 18, 2012
Enyo 2.0: The Parts



Wednesday, April 18, 2012
boot - load all the
                                 source


Wednesday, April 18, 2012
package.js:

                enyo.depends(
                
 “app.js”,
                
 “../css/app.css”,
                
 “$lib/onyx”);




Wednesday, April 18, 2012
kernel - OOP, there it is



Wednesday, April 18, 2012
enyo.kind() is a
                            constructor factory


Wednesday, April 18, 2012
enyo.kind({
                
 name: “tv.NewGirl”,
                
 kind: “TelevisionShow”,
                	 show: function() {
                	 	 this.inherited(arguments);
                
 
 system.play(“ng001.mp4”);
                	 }
                });
                var ng = new NewGirl();




Wednesday, April 18, 2012
enyo.Object provides
                         property publishing


Wednesday, April 18, 2012
enyo.kind({
                
 name: “UPC”,
                	 kind: enyo.Object,
                
 published: { productID: “0000000000” },
                	 create: function() {
                	 	 this. productIDChanged();
                	 },
                	 productIDChanged: function(oldValue) {
                	 	 this.barcode = generate(this.productID);
                	 }
                });



Wednesday, April 18, 2012
var x = new UPC({
                
 productID: “123456789X”
                });

                x.setProductID(“5678900002”);
                pID = x.getProductID();




Wednesday, April 18, 2012
enyo.Component
                       enables encapsulation
                            and events


Wednesday, April 18, 2012
enyo.kind({
                
 name: “SithLord”,
                
 kind: “Jedi”,
                
 events: { onSpeak: “” },
                	 scream: function(message) {
                	 	 doSpeak({
                	 	 	 message: message,
                
 
 
 tone: “whiney” });
                	 })
                });



Wednesday, April 18, 2012
enyo.kind({
                
 name: “SithLords”,
                	 components: [
                
 
 { kind: SithLord, name: “DarthVader”,
                
 
 
 onSpeak: “listenToToys” },
                
 
 { kind: SithLord, name: “Palpatine” },
                
 
 { kind: SithLord, name: “DarthSidious” }
                	 ],
                	 listenToToys: function(inSender, inEvent) {
                	 	 alert(inEvent.mesage);
                	 }
                });



Wednesday, April 18, 2012
var toys = new SithLords;

                toys.$.DarthVader.setWeapon(lightsaber);
                toys.$.DarthVader.throw(toys.$.Palpatine);
                toys.$.DarthVader.scream(“NOOOOOOO!”);




Wednesday, April 18, 2012
enyo.UIComponent
                            provides hooks for
                              layout control


Wednesday, April 18, 2012
enyo.Signals is routing
                       for app-level events


Wednesday, April 18, 2012
lang.js - utilities
                                log.js - logging
                       job.js - setTimeout wrapper
                     animation.js - math + reqFrame
                         macroize.js - templates


Wednesday, April 18, 2012
dom - dealing with
                                 HTML


Wednesday, April 18, 2012
enyo.Control:
                      a rendering engine for
                             HTML


Wednesday, April 18, 2012
enyo.kind({
                  name: “BumperSticker”,
                  kind: enyo.Control,
                  tag: “div”,
                  content: “Keep Austin Weird!”,
                  style: “color: blue; font-size: 96pt”
                });

                var bs = new BumperSticker();
                bs.renderInto(document.body);




Wednesday, April 18, 2012
dispatcher.js:
                     hooks all the standard
                     DOM events into the
                        Enyo scheme

Wednesday, April 18, 2012
enyo.kind({
                
 name: “BumperSticker”,
                
 content: “Keep Austin Weird!”,
                
 style: “color: blue; font-size: 96pt”,
                	 tap: function() {
                
 
 alert(“someone bumped me!”); }
                });

                var bs = new BumperSticker();
                bs.renderInto(document.body);




Wednesday, April 18, 2012
ajax - data-access
                  through XHR & JSONP


Wednesday, April 18, 2012
function apiOK(inAsync, inValue) {
                
 alert( “success: “ + inValue ); }
                function apiFAIL(inAsync, inError) {
                
 alert( “FAIL: “ + inError ); }

                var a = new enyo.Ajax({
                
 url: “http://example.org/api”
                }).response(apiOK).error(apiFAIL).go();




Wednesday, April 18, 2012
ui - building blocks for
                 making themed widgets


Wednesday, April 18, 2012
Button.js      BaseLayout.js
                            Checkbox.js    DragAvatar.js
                             Image.js         Group.js
                              Input.js      GroupItem.js
                            Repeater.js      Selection.js
                            RichText.js   ToolDecorator.js
                             Select.js



Wednesday, April 18, 2012
touch - enyo.Scroller &
                    touchscreen support


Wednesday, April 18, 2012
enyo.Scroller handles
                     how to show 10 lbs of
                      content in a 2lb box


Wednesday, April 18, 2012
...and now, let’s
                                introduce
                                  ONYX


Wednesday, April 18, 2012
enyo is the core
                             (think jQuery)


Wednesday, April 18, 2012
Onyx is our jQuery UI



Wednesday, April 18, 2012
CSS themes +
                              JS behavior +
                            composite controls


Wednesday, April 18, 2012
Onyx Sampler - live
                    views of all Onyx
                 controls & sample code


Wednesday, April 18, 2012
Support and Samples



Wednesday, April 18, 2012
API Viewer - pulls inline
                  documentation from
                     live source tree
                      enyojs.com/api

Wednesday, April 18, 2012
CryptoTweets -
                             game using enyo &
                            onyx & web services
                     combee.net/cryptotweets


Wednesday, April 18, 2012
Community Gallery -
                          enyo.js/gallery


Wednesday, April 18, 2012
Community Forums -
                        forums.enyojs.com


Wednesday, April 18, 2012
Blog - blog.enyojs.com



Wednesday, April 18, 2012
Twitter: @enyojs



Wednesday, April 18, 2012

Mais conteúdo relacionado

Semelhante a Enyo + Onyx for JS Nerds

PHP Loves MongoDB - Dublin MUG (by Hannes)
PHP Loves MongoDB - Dublin MUG (by Hannes)PHP Loves MongoDB - Dublin MUG (by Hannes)
PHP Loves MongoDB - Dublin MUG (by Hannes)Mark Hillick
 
Introduction to j query
Introduction to j queryIntroduction to j query
Introduction to j querythewarlog
 
Drupal Security Dive Into the Code
Drupal Security Dive Into the CodeDrupal Security Dive Into the Code
Drupal Security Dive Into the CodeGreg Knaddison
 
Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012
Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012
Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012Treasure Data, Inc.
 
Integrate Spring MVC with RequireJS & Backbone.js & Spring Data JPA
Integrate Spring MVC with RequireJS & Backbone.js & Spring Data JPAIntegrate Spring MVC with RequireJS & Backbone.js & Spring Data JPA
Integrate Spring MVC with RequireJS & Backbone.js & Spring Data JPACheng Ta Yeh
 

Semelhante a Enyo + Onyx for JS Nerds (8)

PHP Loves MongoDB - Dublin MUG (by Hannes)
PHP Loves MongoDB - Dublin MUG (by Hannes)PHP Loves MongoDB - Dublin MUG (by Hannes)
PHP Loves MongoDB - Dublin MUG (by Hannes)
 
Introduction to j query
Introduction to j queryIntroduction to j query
Introduction to j query
 
Drupal Security Dive Into the Code
Drupal Security Dive Into the CodeDrupal Security Dive Into the Code
Drupal Security Dive Into the Code
 
Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012
Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012
Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012
 
Oops lecture 1,2
Oops lecture 1,2Oops lecture 1,2
Oops lecture 1,2
 
The Heron Mapping Client
The Heron Mapping ClientThe Heron Mapping Client
The Heron Mapping Client
 
Integrate Spring MVC with RequireJS & Backbone.js & Spring Data JPA
Integrate Spring MVC with RequireJS & Backbone.js & Spring Data JPAIntegrate Spring MVC with RequireJS & Backbone.js & Spring Data JPA
Integrate Spring MVC with RequireJS & Backbone.js & Spring Data JPA
 
The Heron Mapping Client
The Heron Mapping ClientThe Heron Mapping Client
The Heron Mapping Client
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Enyo + Onyx for JS Nerds

  • 1. Enyo + Onyx for JS Nerds Ben Combee (@unwiredben) Austin JavaScript Meetup, April 2012 Wednesday, April 18, 2012
  • 3. We need 500 apps for the TouchPad, stat! (that was Enyo 1.0) Wednesday, April 18, 2012
  • 4. We want apps from devs that aren’t HTML+CSS experts. They need to run everywhere. Wednesday, April 18, 2012
  • 6. Components. As seen in Visual Basic. They’re not sexy. They work. Wednesday, April 18, 2012
  • 7. iOS & Android Chrome & Safari Firefox & IE8+ Open webOS Windows 8 Wednesday, April 18, 2012
  • 8. Open Source. Apache 2.0. Wednesday, April 18, 2012
  • 9. All source is on github.com/enyojs Wednesday, April 18, 2012
  • 10. Enyo 2.0: The Parts Wednesday, April 18, 2012
  • 11. boot - load all the source Wednesday, April 18, 2012
  • 12. package.js: enyo.depends( “app.js”, “../css/app.css”, “$lib/onyx”); Wednesday, April 18, 2012
  • 13. kernel - OOP, there it is Wednesday, April 18, 2012
  • 14. enyo.kind() is a constructor factory Wednesday, April 18, 2012
  • 15. enyo.kind({ name: “tv.NewGirl”, kind: “TelevisionShow”, show: function() { this.inherited(arguments); system.play(“ng001.mp4”); } }); var ng = new NewGirl(); Wednesday, April 18, 2012
  • 16. enyo.Object provides property publishing Wednesday, April 18, 2012
  • 17. enyo.kind({ name: “UPC”, kind: enyo.Object, published: { productID: “0000000000” }, create: function() { this. productIDChanged(); }, productIDChanged: function(oldValue) { this.barcode = generate(this.productID); } }); Wednesday, April 18, 2012
  • 18. var x = new UPC({ productID: “123456789X” }); x.setProductID(“5678900002”); pID = x.getProductID(); Wednesday, April 18, 2012
  • 19. enyo.Component enables encapsulation and events Wednesday, April 18, 2012
  • 20. enyo.kind({ name: “SithLord”, kind: “Jedi”, events: { onSpeak: “” }, scream: function(message) { doSpeak({ message: message, tone: “whiney” }); }) }); Wednesday, April 18, 2012
  • 21. enyo.kind({ name: “SithLords”, components: [ { kind: SithLord, name: “DarthVader”, onSpeak: “listenToToys” }, { kind: SithLord, name: “Palpatine” }, { kind: SithLord, name: “DarthSidious” } ], listenToToys: function(inSender, inEvent) { alert(inEvent.mesage); } }); Wednesday, April 18, 2012
  • 22. var toys = new SithLords; toys.$.DarthVader.setWeapon(lightsaber); toys.$.DarthVader.throw(toys.$.Palpatine); toys.$.DarthVader.scream(“NOOOOOOO!”); Wednesday, April 18, 2012
  • 23. enyo.UIComponent provides hooks for layout control Wednesday, April 18, 2012
  • 24. enyo.Signals is routing for app-level events Wednesday, April 18, 2012
  • 25. lang.js - utilities log.js - logging job.js - setTimeout wrapper animation.js - math + reqFrame macroize.js - templates Wednesday, April 18, 2012
  • 26. dom - dealing with HTML Wednesday, April 18, 2012
  • 27. enyo.Control: a rendering engine for HTML Wednesday, April 18, 2012
  • 28. enyo.kind({ name: “BumperSticker”, kind: enyo.Control, tag: “div”, content: “Keep Austin Weird!”, style: “color: blue; font-size: 96pt” }); var bs = new BumperSticker(); bs.renderInto(document.body); Wednesday, April 18, 2012
  • 29. dispatcher.js: hooks all the standard DOM events into the Enyo scheme Wednesday, April 18, 2012
  • 30. enyo.kind({ name: “BumperSticker”, content: “Keep Austin Weird!”, style: “color: blue; font-size: 96pt”, tap: function() { alert(“someone bumped me!”); } }); var bs = new BumperSticker(); bs.renderInto(document.body); Wednesday, April 18, 2012
  • 31. ajax - data-access through XHR & JSONP Wednesday, April 18, 2012
  • 32. function apiOK(inAsync, inValue) { alert( “success: “ + inValue ); } function apiFAIL(inAsync, inError) { alert( “FAIL: “ + inError ); } var a = new enyo.Ajax({ url: “http://example.org/api” }).response(apiOK).error(apiFAIL).go(); Wednesday, April 18, 2012
  • 33. ui - building blocks for making themed widgets Wednesday, April 18, 2012
  • 34. Button.js BaseLayout.js Checkbox.js DragAvatar.js Image.js Group.js Input.js GroupItem.js Repeater.js Selection.js RichText.js ToolDecorator.js Select.js Wednesday, April 18, 2012
  • 35. touch - enyo.Scroller & touchscreen support Wednesday, April 18, 2012
  • 36. enyo.Scroller handles how to show 10 lbs of content in a 2lb box Wednesday, April 18, 2012
  • 37. ...and now, let’s introduce ONYX Wednesday, April 18, 2012
  • 38. enyo is the core (think jQuery) Wednesday, April 18, 2012
  • 39. Onyx is our jQuery UI Wednesday, April 18, 2012
  • 40. CSS themes + JS behavior + composite controls Wednesday, April 18, 2012
  • 41. Onyx Sampler - live views of all Onyx controls & sample code Wednesday, April 18, 2012
  • 43. API Viewer - pulls inline documentation from live source tree enyojs.com/api Wednesday, April 18, 2012
  • 44. CryptoTweets - game using enyo & onyx & web services combee.net/cryptotweets Wednesday, April 18, 2012
  • 45. Community Gallery - enyo.js/gallery Wednesday, April 18, 2012
  • 46. Community Forums - forums.enyojs.com Wednesday, April 18, 2012