SlideShare a Scribd company logo
1 of 48
Download to read 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

More Related Content

Similar to Enyo for JS Nerds - Austin JS Meetup, April 2012

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
 

Similar to Enyo for JS Nerds - Austin JS Meetup, April 2012 (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
 

Recently uploaded

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Enyo for JS Nerds - Austin JS Meetup, April 2012

  • 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