Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EnyoJS A Scalable Code Base

EnyoJS A Scalable Code Base

EnyoJS is DRY, and can give you the ability to write reusable components and UI widgets for web pages.

Avatar for Derek Anderson

Derek Anderson

August 28, 2014

Other Decks in Programming

Transcript

  1. WHO AM I • Webaholic - I’ve been helping destroy

    build the web since ‘98 • LG:Electronics Enyo Framework Developer • Supported 100s of websites, variations of a single codebase (django backend), millions of hits a day for Cox Media Group. • Former Silicon Prairie Resident, now residing in Silicon Valley (US Bank, Nestlé Foods, Alliant Tek Systems, Davisco Foods, EV3, Synovis Life Systems, ATM Network) • I have really tall hair
  2. BRIEF ENYO TIMELINE • 9 February 2011 version 1.0 with

    HP • January, 2012 1.0 (Open Source) HP open sources Enyo under the Apache 2.0 license • July 18, 2012 2.0 Enyo 2 production version • February 5, 2014 2.4.0-pre.1 - Focus for the cross- platform Enyo community (more than 2.3).
  3. ENYO’S HISTORY • HP Touchpad • Enyo 1 • designed

    to be platform agnostic but tied to webOS implementation • Enyo 2 • Open Source • IE8-10, Webkit, Firefox • Desktop, Mobile, Television
  4. WHAT EXACTLY IS ENYO? • JavaScript Framework for Application Developers

    • Big Hairy Audacious Goal : Native Quality Applications, Made with Web Technologies. • Contains many moving parts • Core Library • DOM Interaction • OOP support • Helpers: AJAX, Utility methods • Data Handling: Models, Collections, Routing • Globalization • UI Libraries for Mobile, Desktop and 10ft (Television) • Most of Enyo’s components, are written in Enyo.
  5. DEVELOPERS LOVE DECISIONS… • Brevity of the Code Written •

    Feature Complete • Performance and Speed • Time Invested into Coding • Flexibility and Adaptability • Robust Execution (Multiple Targets / Devices)
  6. CODE: HARDER TO READ, THAN WRITE • Code reuse is

    hard • Preferences of developers • Documentation and APIs • Just plain ugly code
  7. DEVELOPERS LOVE TO WRITE CODE • Code quantity increases naturally

    over time • Developers love to solve problems • Code we write today, we don’t love tomorrow, refactor, refactor, refactor
  8. IS LOC A GOOD METRIC? • We can write more

    with less today • Different languages have grossly different LOC outcomes for the same applications.
  9. WHAT HAPPENS WITH LOTS OF LOC? • Code Rots, APIs

    change and morph over time • Requires more maintenance hours • Requires longer exposure and more Debugging knowledge of the platform
  10. • Encapsulation • Component logic and Component presentation should be

    able to live alone. • Reusability • Components should be “infinitely reusable” • Portability • Logic and Presentation should be able to travel easily to a new destination ENYO PRINCIPLES ENYO is D.R.Y.
  11. SUMMARY • Think small, program small • Write reusable components

    to build complexity • Enyo can help you do these things, and is cross browser / platform!