SlideShare a Scribd company logo
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
Front end engineering, YUI Gallery, and your future
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
Front end engineering, YUI Gallery, and your future
• 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
Front end engineering, YUI Gallery, and your future
YUI Gallery
http://yuilibrary.com/gallery
Let's see it
Thanks!

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

More Related Content

KEY
PDF
Professional Frontend Engineering
PDF
YUI Introduction @ NCTU
PDF
JSONiq - The SQL of NoSQL
PPTX
Front-End Intelligence
PPTX
DIGIT Noe 2016 - Overview of front end development today
PDF
How to Build Front-End Web Apps that Scale - FutureJS
Professional Frontend Engineering
YUI Introduction @ NCTU
JSONiq - The SQL of NoSQL
Front-End Intelligence
DIGIT Noe 2016 - Overview of front end development today
How to Build Front-End Web Apps that Scale - FutureJS

Similar to Front end engineering, YUI Gallery, and your future (20)

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

More from Luke Smith (8)

PDF
Promises. The basics, from Promises/A+
KEY
Attribute
KEY
Inheritance patterns
PPTX
Hack with YUI
PDF
Debugging tips in YUI 3
PDF
YUI 3: Events Evolved
PDF
YUI 3 quick overview
PDF
YUI 3: Below the Surface
Promises. The basics, from Promises/A+
Attribute
Inheritance patterns
Hack with YUI
Debugging tips in YUI 3
YUI 3: Events Evolved
YUI 3 quick overview
YUI 3: Below the Surface
Ad

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Cloud computing and distributed systems.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KodekX | Application Modernization Development
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Mobile App Security Testing_ A Comprehensive Guide.pdf
Cloud computing and distributed systems.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
cuic standard and advanced reporting.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Spectral efficient network and resource selection model in 5G networks
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Big Data Technologies - Introduction.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Electronic commerce courselecture one. Pdf
Network Security Unit 5.pdf for BCA BBA.
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf

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
  • 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
  • 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
  • 46. Thanks! Luke Smith lsmith@yahoo-inc.com yuilibrary.com: lsmith twitter: @ls_n

Editor's Notes

  • #61: - 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