SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Front end engineering
   And how it will impact your future



             Luke Smith
         lsmith@yahoo-inc.com
         yuilibrary.com: lsmith
         twitter: @ls_n
• F2E Discipline
• YUI Library
• The future
Brief history
of front end engineering
Browser wars
               1994 - 2000


• Very young web
• Immature concept of what a browser is
• Rush to push features
• Many many bugs
• Internet Explorer wins
Reflective years
               2001 - 2005


• Dot com bubble bursts
• Internet Explorer 6
• Many more people on the web
• Emergence of professional web developers
The web grows up
                2006 - 2007


• Explosion in new web content
• Internet Explorer 7, Firefox, Safari, Opera
• Professional front end engineering
• The web development environment is bad
• JavaScript libraries
Browser wars (take 2)
               2008 - present


• Web is the game
• IE8, FireFox 3.6, Safari 4, Opera 10, Chrome
• Focus on technologies that power the web
• JavaScript libraries mature + CSS libraries
• F2E development tooling
Take away:
Today, more new development is
being done on the web than in
any other environment.


    And the rate is increasing
1997                       2010




Still accessible   Still fast   Much more interactive
Built with the same stuff
         • HTML
         • CSS
         • JavaScript
Three technologies


Not so bad, right?
server
(X)HTML




 server
(X)HTML

          Specification




 server
(X)HTML

           Specification
          Implementation




 server
(X)HTML

           Specification
          Implementation
               Bugs




 server
(X)HTML

              Specification
             Implementation
                  Bugs
          [ Theory / Practice ]




 server
CSS

                          BOM API
(X)HTML    DOM                      JavaScript
                          DOM API

              Specification




                                    Data Transport



                                                     mixed: new (x)html
                                                     data: custom, xml,
             Implementation




                                                              json
                                                     behavior: js
                  Bugs
          [ Theory / Practice ]




 server
Safari   Firefox   Chrome     IE6, 7, 8   Opera     10,000+ UAs


                        CSS

                                          BOM API
    (X)HTML            DOM                          JavaScript
                                          DOM API

                          Specification




                                                    Data Transport



                                                                     mixed: new (x)html
                                                                     data: custom, xml,
                         Implementation




                                                                              json
                                                                     behavior: js
                              Bugs
                      [ Theory / Practice ]




         server
Macintosh                 Windows              Linux, Unix, Mobile

Safari       Firefox   Chrome     IE6, 7, 8   Opera        10,000+ UAs


                            CSS

                                              BOM API
    (X)HTML                DOM                             JavaScript
                                              DOM API

                              Specification




                                                           Data Transport



                                                                            mixed: new (x)html
                                                                            data: custom, xml,
                             Implementation




                                                                                     json
                                                                            behavior: js
                                  Bugs
                          [ Theory / Practice ]




         server
Macintosh                 Windows              Linux, Unix, Mobile

Safari       Firefox   Chrome     IE6, 7, 8   Opera        10,000+ UAs


                            CSS

                                              BOM API
     (X)HTML                DOM                            JavaScript
                                              DOM API




                             Specification




                                                                             mixed: new (x)html,
                                                                             data: custom, xml,
                                                            Data Transport
                            Implementation




                                                                             behavior: js
                                                                                    json
                                Defects
                         [ Theory / Practice ]




           server
Macintosh               Windows              Linux, Unix, Mobile

Safari       Firefox   Chrome   IE6, 7, 8   Opera        10,000+ UAs


            knowledge areas: 7
                   CSS


    (X)HTML
                    dimensions: xJavaScript
                   DOM
                                     4      BOM API


                                            DOM API


                       platforms: x 3
                    Specification




                                                                           mixed: new (x)html,
                                                                           data: custom, xml,
    browsers perDefects platform: x 5




                                                          Data Transport
                  Implementation




                                                                           behavior: js
                                                                                  json
            rendering modes: x 2
               [ Theory / Practice ]




           server
               =840
usability, internationalization,
    localization, visual design,
  accessibility, information
   architecture, security, build
   processes, performance,
benchmarking, devices, portability
$
Take away:

Having a good understanding of front
end technologies is good for business,
          and good for you.

    But it can be hard (without help)
JavaScript is in
every browser
JavaScript outside the
             browser
         Desktop                  Server side
•   Adobe Photoshop (et al)       •   Node.js
•   Adobe Acrobat                 •   Narwhal
•   Mozilla Thunderbird (et al)   •   Rhino
•   Apple Dashboard widgets       •   CommonJS
•   Google Desktop gadgets        •   (more)
•   Yahoo! widgets
•   (more)
Take away:

 JavaScript is the most used
language in the world today.
Yahoo! User Interface library
YUI Library project
  • JavaScript libraries
  • CSS library
  • Documentation tools
  • Build tools
  • Testing tools
  • Server side delivery tools
  • Developer growth & education
http://developer.yahoo.com/yui
http://developer.yahoo.com/yui
YUI 3
YUI 3
• Examples
• Examples
• API Documentation
• Examples
• API Documentation
• User Guides
• Examples
• API Documentation
• User Guides
• http://yuilibrary.com/forum
• Examples
• API Documentation
• User Guides
• http://yuilibrary.com/forum
• #yui on freenode.org
YUI Gallery
http://yuilibrary.com/gallery
Let's see it
Thanks!

    Luke Smith
lsmith@yahoo-inc.com
yuilibrary.com: lsmith
twitter: @ls_n

Weitere ähnliche Inhalte

Ähnlich wie Front end engineering, YUI Gallery, and your future

Building cross platform mobile web apps
Building cross platform mobile web appsBuilding cross platform mobile web apps
Building cross platform mobile web apps
James Pearce
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
James Pearce
 
Cross platform mobile web apps
Cross platform mobile web appsCross platform mobile web apps
Cross platform mobile web apps
James Pearce
 
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Shreeraj Shah
 
Ajax tutorial
Ajax tutorialAjax tutorial
Ajax tutorial
Kat Roque
 

Ähnlich wie Front end engineering, YUI Gallery, and your future (20)

Professional Frontend Engineering
Professional Frontend EngineeringProfessional Frontend Engineering
Professional Frontend Engineering
 
The YUI Library (Yahoo! Course @NCU)
The YUI Library (Yahoo! Course @NCU)The YUI Library (Yahoo! Course @NCU)
The YUI Library (Yahoo! Course @NCU)
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
 
Building Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsBuilding Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web Apps
 
Building cross platform mobile web apps
Building cross platform mobile web appsBuilding cross platform mobile web apps
Building cross platform mobile web apps
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
 
Beyond HTML: Tools for Building Web 2.0 Apps
Beyond HTML: Tools for Building Web 2.0 AppsBeyond HTML: Tools for Building Web 2.0 Apps
Beyond HTML: Tools for Building Web 2.0 Apps
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 
Cross platform mobile web apps
Cross platform mobile web appsCross platform mobile web apps
Cross platform mobile web apps
 
Java Framework for Database-Centric Web Engineering
Java Framework for Database-Centric Web EngineeringJava Framework for Database-Centric Web Engineering
Java Framework for Database-Centric Web Engineering
 
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
The Magic's in the Glue:  Daniela Florescu Presentation on XQuery and the CloudThe Magic's in the Glue:  Daniela Florescu Presentation on XQuery and the Cloud
The Magic's in the Glue: Daniela Florescu Presentation on XQuery and the Cloud
 
The State of JavaScript
The State of JavaScriptThe State of JavaScript
The State of JavaScript
 
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
 
Polysource-IT Profile
Polysource-IT ProfilePolysource-IT Profile
Polysource-IT Profile
 
Polysource-IT Profile
Polysource-IT ProfilePolysource-IT Profile
Polysource-IT Profile
 
Creating hypermedia APIs in a few minutes using the API Platform framework
Creating hypermedia APIs in a few minutes using the API Platform frameworkCreating hypermedia APIs in a few minutes using the API Platform framework
Creating hypermedia APIs in a few minutes using the API Platform framework
 
Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8Introducing Windows Runtime in Windows 8
Introducing Windows Runtime in Windows 8
 
Ajax tutorial
Ajax tutorialAjax tutorial
Ajax tutorial
 
HTML5 Top 10 Threats - Silent Attacks and Stealth Exploits
HTML5 Top 10 Threats - Silent Attacks and Stealth ExploitsHTML5 Top 10 Threats - Silent Attacks and Stealth Exploits
HTML5 Top 10 Threats - Silent Attacks and Stealth Exploits
 
Poly Source It Profile
Poly Source It ProfilePoly Source It Profile
Poly Source It Profile
 

Mehr von Luke Smith

Inheritance patterns
Inheritance patternsInheritance patterns
Inheritance patterns
Luke Smith
 

Mehr von Luke Smith (8)

Promises. The basics, from Promises/A+
Promises. The basics, from Promises/A+Promises. The basics, from Promises/A+
Promises. The basics, from Promises/A+
 
Attribute
AttributeAttribute
Attribute
 
Inheritance patterns
Inheritance patternsInheritance patterns
Inheritance patterns
 
Hack with YUI
Hack with YUIHack with YUI
Hack with YUI
 
Debugging tips in YUI 3
Debugging tips in YUI 3Debugging tips in YUI 3
Debugging tips in YUI 3
 
YUI 3: Events Evolved
YUI 3: Events EvolvedYUI 3: Events Evolved
YUI 3: Events Evolved
 
YUI 3 quick overview
YUI 3 quick overviewYUI 3 quick overview
YUI 3 quick overview
 
YUI 3: Below the Surface
YUI 3: Below the SurfaceYUI 3: Below the Surface
YUI 3: Below the Surface
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
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
vu2urc
 

Kürzlich hochgeladen (20)

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
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
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
 

Front end engineering, YUI Gallery, and your future

  • 1. Front end engineering And how it will impact your future Luke Smith lsmith@yahoo-inc.com yuilibrary.com: lsmith twitter: @ls_n
  • 2. • F2E Discipline • YUI Library • The future
  • 3. Brief history of front end engineering
  • 4. Browser wars 1994 - 2000 • Very young web • Immature concept of what a browser is • Rush to push features • Many many bugs • Internet Explorer wins
  • 5. Reflective years 2001 - 2005 • Dot com bubble bursts • Internet Explorer 6 • Many more people on the web • Emergence of professional web developers
  • 6. The web grows up 2006 - 2007 • Explosion in new web content • Internet Explorer 7, Firefox, Safari, Opera • Professional front end engineering • The web development environment is bad • JavaScript libraries
  • 7. Browser wars (take 2) 2008 - present • Web is the game • IE8, FireFox 3.6, Safari 4, Opera 10, Chrome • Focus on technologies that power the web • JavaScript libraries mature + CSS libraries • F2E development tooling
  • 8. Take away: Today, more new development is being done on the web than in any other environment. And the rate is increasing
  • 9. 1997 2010 Still accessible Still fast Much more interactive
  • 10. Built with the same stuff • HTML • CSS • JavaScript
  • 14. (X)HTML Specification server
  • 15. (X)HTML Specification Implementation server
  • 16. (X)HTML Specification Implementation Bugs server
  • 17. (X)HTML Specification Implementation Bugs [ Theory / Practice ] server
  • 18. CSS BOM API (X)HTML DOM JavaScript DOM API Specification Data Transport mixed: new (x)html data: custom, xml, Implementation json behavior: js Bugs [ Theory / Practice ] server
  • 19. Safari Firefox Chrome IE6, 7, 8 Opera 10,000+ UAs CSS BOM API (X)HTML DOM JavaScript DOM API Specification Data Transport mixed: new (x)html data: custom, xml, Implementation json behavior: js Bugs [ Theory / Practice ] server
  • 20. Macintosh Windows Linux, Unix, Mobile Safari Firefox Chrome IE6, 7, 8 Opera 10,000+ UAs CSS BOM API (X)HTML DOM JavaScript DOM API Specification Data Transport mixed: new (x)html data: custom, xml, Implementation json behavior: js Bugs [ Theory / Practice ] server
  • 21. Macintosh Windows Linux, Unix, Mobile Safari Firefox Chrome IE6, 7, 8 Opera 10,000+ UAs CSS BOM API (X)HTML DOM JavaScript DOM API Specification mixed: new (x)html, data: custom, xml, Data Transport Implementation behavior: js json Defects [ Theory / Practice ] server
  • 22. Macintosh Windows Linux, Unix, Mobile Safari Firefox Chrome IE6, 7, 8 Opera 10,000+ UAs knowledge areas: 7 CSS (X)HTML dimensions: xJavaScript DOM 4 BOM API DOM API platforms: x 3 Specification mixed: new (x)html, data: custom, xml, browsers perDefects platform: x 5 Data Transport Implementation behavior: js json rendering modes: x 2 [ Theory / Practice ] server =840
  • 23.
  • 24. usability, internationalization, localization, visual design, accessibility, information architecture, security, build processes, performance, benchmarking, devices, portability
  • 25. $
  • 26. Take away: Having a good understanding of front end technologies is good for business, and good for you. But it can be hard (without help)
  • 28. JavaScript outside the browser Desktop Server side • Adobe Photoshop (et al) • Node.js • Adobe Acrobat • Narwhal • Mozilla Thunderbird (et al) • Rhino • Apple Dashboard widgets • CommonJS • Google Desktop gadgets • (more) • Yahoo! widgets • (more)
  • 29. Take away: JavaScript is the most used language in the world today.
  • 31. YUI Library project • JavaScript libraries • CSS library • Documentation tools • Build tools • Testing tools • Server side delivery tools • Developer growth & education
  • 34. YUI 3
  • 35. YUI 3
  • 36.
  • 38. • Examples • API Documentation
  • 39. • Examples • API Documentation • User Guides
  • 40. • Examples • API Documentation • User Guides • http://yuilibrary.com/forum
  • 41. • Examples • API Documentation • User Guides • http://yuilibrary.com/forum • #yui on freenode.org
  • 42.
  • 46. Thanks! Luke Smith lsmith@yahoo-inc.com yuilibrary.com: lsmith twitter: @ls_n

Hinweis der Redaktion

  1. - Like Node, the event object passed back to each event handler is also a facade - Reasons for the event facade are the same as they are for Node - Unlike Node, Event properties can be accessed directly since the event is transitory. This also aids performance for cases like mousemove event. - halt() = preventDefault() + stopPropagation() - event properties that reference DOM elements (e.target) contain Node instances