SlideShare a Scribd company logo
1 of 47
Corporate javascript
The good, the bad & the not so ugly
Who’s this dude?

Oscar Villarreal @climboid, oscarvillarreal.com
UI Engineer
Viva Mexico! home NYC
Rock climbing
So what’s the point?

 What role does javascript play in large non tech
 corporations, why it is in that state and how can we
 improve it.
 How are the latests and greatest js libraries/frameworks
 applied in corporations.
 What to expect when building a web app for a large
 corporation, or how to get your foot in.
The bad
Approvals
IE is a must
  Quantify it




 Chrome frame
Javascript not enabled


                              Not
Not
                            needed
safe




              Que pedo!?
No one knows anyone or
          anything

                         To
 To Big
                      Segmented


To Secret
Spaghetti code
            Lack of interest



Juniors                        Laziness




             Bad managers
The good
(at least in our case)
You set the standards
Solve real problems
Evangelizing ripples
Always make win - win
 if you cant make sure the customer
                wins
Moving the IE7 world
The not so ugly
Tight deadlines
Very few people know
     what you do
Mangers
What its all about
Build for the future support
       for the present
Other concerns
Hard to move out of the
         stack
App should look/act the
 same on all browsers




 or TV Analogy - Nicholas Zakas
Expectations




Managers don’t know about development
   yet they have to give the deadline
Getting the right
            requirements

   No                                Lack of
feedback                          understanding
from end                           of Problem
  users




            Programming anarchy
Explain it as if you want your
 labrador to understand it




This will get you to negotiate with the customer
Code quality
Quality product vs time
Fulfill expectation
                              Think about performance,
Deliver on time               cross browser, cross
Create code can evolve        platform, reusability,
naturally with out rewrites   documentation

Use latest and greatest       Smile during the process
techniques/tools



                     Solution =>
Use the right tools




             Window of oportunity


 Anything that makes you go fast
Backbone jS

Non opinionated, leaves the path open
Super light
Super flexible
Has been around for a few years
Jeremy Ashkenas
EmberJS

Heavily opinionated
Complete solution
Heavier
Getting traction in the community
Yehuda Katz (sproutcore, rails)
Angular JS

Google
Seems like a mid point between backbone and ember
Similar to knockout js ( references to elements in
template )
Ability to create your own html mark up
Twitter Bootstrap

 Up and running fast
 Responsiveness
 CSS Grid framework + common plugins + form
 elements + everyone seems to use it.
 Don’t just use it out of the box, be creative
Google Dev Tools

Born out of webkit (safari)
Evolved to become better
“Better” than Firebug (personal)
Real time editing of CSS/JS/HTML
  Show how to quickly save CSS changes
Data visualization and JS
jQPlot


             A bit static
         Good for base charts
               Canvas
                Free
Highcharts
               Licensed
             Amazing Docs
                  SVG
                  IE6
               Super fast
             to get up and
                running
Raphael

          Layer on top of SVG
             Works in IE6
               gRaphael
D3
     Built by Michale Bostock
        Amazing drawing tool
     ( if not the best out there
               for SVG )
                 No ie7
                  Free
threeJS

             its 3d!
          experimental
            chrome
            webGL
Best practices in large scale
JS apps
 Deliver fast no matter what
   Allows for a product to exist, get used, evolve as
   business evolves
 Start Small
   Proof of concepts can and will get you far
 Always quantify the solution, then go into the technical
 side
Best practices in large scale
JS apps
 Decoupled back and front end (web services, client side
 templates)
   JS is your glue
   Allows for both back and front to evolve
   independently
 Open source is good as long as the team can fix it
 Get through your window of opportunity no matter what
Measuring success in
corporate web apps
Take-aways

Corporations are starting to catch up
Use tools/libraries that bring structure to your code
Data visualizations that are easy to create
Push your self and your company forward
It can always be better.
FIN

More Related Content

What's hot

SharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXSharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFX
Mark Rackley
 
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
jazoon13
 
D7 switching
D7 switchingD7 switching
D7 switching
c3tyler
 

What's hot (20)

Hour of code - Train the trainer
Hour of code - Train the trainerHour of code - Train the trainer
Hour of code - Train the trainer
 
SharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXSharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFX
 
Front End Development
Front End Development Front End Development
Front End Development
 
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
 
Transforming lives-with-teaching
Transforming lives-with-teachingTransforming lives-with-teaching
Transforming lives-with-teaching
 
Share point developer who’s that
Share point developer who’s thatShare point developer who’s that
Share point developer who’s that
 
Software Craftsmanship @ Ntnu
Software Craftsmanship @ NtnuSoftware Craftsmanship @ Ntnu
Software Craftsmanship @ Ntnu
 
The ABC of Coded Style Guides
The ABC of Coded Style GuidesThe ABC of Coded Style Guides
The ABC of Coded Style Guides
 
Rasa Developer Summit - William Galindez Ariaz, Octesoft - Dial Rasa for Dinner
Rasa Developer Summit - William Galindez Ariaz, Octesoft - Dial Rasa for DinnerRasa Developer Summit - William Galindez Ariaz, Octesoft - Dial Rasa for Dinner
Rasa Developer Summit - William Galindez Ariaz, Octesoft - Dial Rasa for Dinner
 
D7 switching
D7 switchingD7 switching
D7 switching
 
Windows 8
Windows 8Windows 8
Windows 8
 
Java script introduction
Java script introductionJava script introduction
Java script introduction
 
Introduction to webpack and babel
Introduction to webpack and babelIntroduction to webpack and babel
Introduction to webpack and babel
 
Java script basics for beginners
Java script basics for beginners  Java script basics for beginners
Java script basics for beginners
 
Rasa Developer Summit - Tom Bocklisch, Rasa - Product Updates from Rasa
Rasa Developer Summit - Tom Bocklisch, Rasa - Product Updates from RasaRasa Developer Summit - Tom Bocklisch, Rasa - Product Updates from Rasa
Rasa Developer Summit - Tom Bocklisch, Rasa - Product Updates from Rasa
 
Tf itjsbagg
Tf itjsbaggTf itjsbagg
Tf itjsbagg
 
Setup a new development team: Real-Life Experience. Speaker: Mr. Huy Nguyen
Setup a new development team: Real-Life Experience. Speaker: Mr. Huy NguyenSetup a new development team: Real-Life Experience. Speaker: Mr. Huy Nguyen
Setup a new development team: Real-Life Experience. Speaker: Mr. Huy Nguyen
 
Codaisseur Open Evening Slides December
Codaisseur Open Evening Slides DecemberCodaisseur Open Evening Slides December
Codaisseur Open Evening Slides December
 
Blazor - C# for the web
Blazor - C# for the webBlazor - C# for the web
Blazor - C# for the web
 
Frontend Development vs Backend Development | Detailed Comparison
Frontend Development vs Backend Development | Detailed ComparisonFrontend Development vs Backend Development | Detailed Comparison
Frontend Development vs Backend Development | Detailed Comparison
 

Similar to corporateJavascript

Recipe of a rockstar developer
Recipe of a rockstar developerRecipe of a rockstar developer
Recipe of a rockstar developer
Topu Newaj
 
The State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistThe State of Front-end At CrowdTwist
The State of Front-end At CrowdTwist
Mark Fayngersh
 
Front-End Modernization for Mortals
Front-End Modernization for MortalsFront-End Modernization for Mortals
Front-End Modernization for Mortals
cgack
 
ShoelaceMVC and the Lean Startup
ShoelaceMVC and the Lean StartupShoelaceMVC and the Lean Startup
ShoelaceMVC and the Lean Startup
Ryan Hayes
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
ZeroTurnaround
 

Similar to corporateJavascript (20)

Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
 
Enhance Enhance
Enhance EnhanceEnhance Enhance
Enhance Enhance
 
Recipe of a rockstar developer
Recipe of a rockstar developerRecipe of a rockstar developer
Recipe of a rockstar developer
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads Conference
 
Embracing Uncertainty: Learning to Think Responsively
Embracing Uncertainty: Learning to Think ResponsivelyEmbracing Uncertainty: Learning to Think Responsively
Embracing Uncertainty: Learning to Think Responsively
 
The State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistThe State of Front-end At CrowdTwist
The State of Front-end At CrowdTwist
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
Front-End Modernization for Mortals
Front-End Modernization for MortalsFront-End Modernization for Mortals
Front-End Modernization for Mortals
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
ShoelaceMVC and the Lean Startup
ShoelaceMVC and the Lean StartupShoelaceMVC and the Lean Startup
ShoelaceMVC and the Lean Startup
 
DEVBCN_Jakarta EE! The future of enterprise application behind the myths. _Al...
DEVBCN_Jakarta EE! The future of enterprise application behind the myths.
_Al...DEVBCN_Jakarta EE! The future of enterprise application behind the myths.
_Al...
DEVBCN_Jakarta EE! The future of enterprise application behind the myths. _Al...
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Web
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 

Recently uploaded

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
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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?
 
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
 
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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
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
 
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...
 

corporateJavascript

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n