SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
100% JS

Saturday, September 29, 12
Hello.
                                      __lucas

Saturday, September 29, 12
CTO

                                http://ex.fm/

                             http://ex.fm/iphone


Saturday, September 29, 12
What kind of
   company do we
   want to be?


Saturday, September 29, 12
Who do we hire?




Saturday, September 29, 12
What we need
                             Design     JavaScript
                             UX          Python
                             Product       Java
                                       Objective-C



Saturday, September 29, 12
What we need take 2
                             Design   JavaScript
                             UX         Python
                        Product          Java
                                      Objective-C


Saturday, September 29, 12
How do we get there?
                     Server
                     Mobile
                    Client (some other time)




Saturday, September 29, 12
SERVER.




Saturday, September 29, 12
Current Stack
                      Nginx
                      uWSGI
                      Flask App




Saturday, September 29, 12
Too many things that
can go wrong.



Saturday, September 29, 12
Pythons Gone Wild




Saturday, September 29, 12
PubSub of all user
events.



Saturday, September 29, 12
Across processes and
machines.



Saturday, September 29, 12
Don’t try this in
Python.



Saturday, September 29, 12
<3 Socket.io




Saturday, September 29, 12
YNGWIE




Saturday, September 29, 12
Hmm...




Saturday, September 29, 12
Something going on
here.



Saturday, September 29, 12
Lots of express                    User Service


                             API   Site Service


                                   Song Service


Saturday, September 29, 12
Services are cheap.




Saturday, September 29, 12
Spread load and
   ownership.




Saturday, September 29, 12
Easier to test.




Saturday, September 29, 12
Happier developers.




Saturday, September 29, 12
MOBILE.




Saturday, September 29, 12
Our Mobile Web
   App is better than
   our native apps.



Saturday, September 29, 12
Q = Σ (P - D)

                 Product Quality = Passion - Cognitive Distance




Saturday, September 29, 12
“Why not just hire more android and iOS
                                          developers?”


                                           NO


Saturday, September 29, 12
Don’t have time or
   money for
   specialists.



Saturday, September 29, 12
Just because it’s
   native does not
   make it better.



Saturday, September 29, 12
Try optimizing
   android list views...




Saturday, September 29, 12
<3 PhoneGap




Saturday, September 29, 12
Deploy to S3




Saturday, September 29, 12
Plugins = Native
   Polyfills




Saturday, September 29, 12
Fix HTML5 Audio
   with IEXAudio
   Plugin.
                    https://github.com/exfm/iex-audio




Saturday, September 29, 12
Side-note: FireBreath -
   Prototype new browser
   API’s
                   http://www.firebreath.org




Saturday, September 29, 12
LEARNED.




Saturday, September 29, 12
“Do you really want front-end people
                                   working on the server?”


                                        YES


Saturday, September 29, 12
90/10
                      Render a template
                      Get some data from an API




Saturday, September 29, 12
Know How The
   Sausages Get
   Made.



Saturday, September 29, 12
Implement it
   yourself.




Saturday, September 29, 12
Context Switching




Saturday, September 29, 12
But....................




Saturday, September 29, 12
2 Problems
   so far.




Saturday, September 29, 12
1. Front-end people
   have an inherent fear
   of databases.



Saturday, September 29, 12
Like Spiders...




Saturday, September 29, 12
Covered in Spiders...




Saturday, September 29, 12
That are electronic.




Saturday, September 29, 12
$.post(“/user/”, {‘username’: ‘lucas’})

  db.get(‘users’).put({‘username’: ‘lucas’})




Saturday, September 29, 12
Tarantulas aren’t
   poisonous.



Saturday, September 29, 12
2. Async for the
   procedural folk.



Saturday, September 29, 12
Mind-melting,
   complex, racey,
   callback nesting.



Saturday, September 29, 12
Use flow-control.




Saturday, September 29, 12
Anything in futures
   is great.
   https://github.com/coolaj86/futures




Saturday, September 29, 12
And promises.




Saturday, September 29, 12
when is nice and
   works with jQuery
   deferreds
    https://github.com/cujojs/when


Saturday, September 29, 12
Not instant.




Saturday, September 29, 12
Sometimes a month,




Saturday, September 29, 12
Sometimes an hour,




Saturday, September 29, 12
Totally worth it.




Saturday, September 29, 12
Obrigado.
                        @__lucas

                         http://ex.fm

                         https://github.com/exfm



Saturday, September 29, 12

Weitere ähnliche Inhalte

Ähnlich wie 100% JS

UX & Wireframes Know Your Weapon of Choice
UX & Wireframes Know Your Weapon of ChoiceUX & Wireframes Know Your Weapon of Choice
UX & Wireframes Know Your Weapon of ChoiceIntelligent_ly
 
HTML5 for mobile development
HTML5 for mobile developmentHTML5 for mobile development
HTML5 for mobile developmentCarlos Justiniano
 
Continuous Delivery at Netflix
Continuous Delivery at NetflixContinuous Delivery at Netflix
Continuous Delivery at NetflixRob Spieldenner
 
Building Cordova plugins for iOS
Building Cordova plugins for iOSBuilding Cordova plugins for iOS
Building Cordova plugins for iOSGrgur Grisogono
 
Products = Mess - How to avoid it? By Suman Mukherjee
Products = Mess - How to avoid it?  By Suman MukherjeeProducts = Mess - How to avoid it?  By Suman Mukherjee
Products = Mess - How to avoid it? By Suman MukherjeeWebGeek Philippines
 
It's the Customer, Not the Container
It's the Customer, Not the ContainerIt's the Customer, Not the Container
It's the Customer, Not the Containerjohn wilbanks
 
Welcome to the RIAworld
Welcome to the RIAworldWelcome to the RIAworld
Welcome to the RIAworldSergio Brito
 
Angular mixed Sails, we are in MEAN stack
Angular mixed Sails, we are in MEAN stackAngular mixed Sails, we are in MEAN stack
Angular mixed Sails, we are in MEAN stackCaesar Chi
 
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...Amazon Web Services
 
Developer Tools State of the Union
Developer Tools State of the UnionDeveloper Tools State of the Union
Developer Tools State of the UnionAtlassian
 
Latinoware Rails 2009
Latinoware Rails 2009Latinoware Rails 2009
Latinoware Rails 2009Fabio Akita
 
Keeping responsive into the future by Chris mills
Keeping responsive into the future by Chris millsKeeping responsive into the future by Chris mills
Keeping responsive into the future by Chris millsCodemotion
 
Html5 new sword for interactive app
Html5 new sword for interactive appHtml5 new sword for interactive app
Html5 new sword for interactive appYohan Totting
 
SassConf: It takes a village to raise a stylesheet
SassConf: It takes a village to raise a stylesheetSassConf: It takes a village to raise a stylesheet
SassConf: It takes a village to raise a stylesheetchriseppstein
 
Continuous Delivery for the Web Platform
Continuous Delivery for the Web PlatformContinuous Delivery for the Web Platform
Continuous Delivery for the Web PlatformJarrod Overson
 
¿Cómo Oscar desarrolló su app para SD con GeneXus?
	 ¿Cómo Oscar desarrolló su app para SD con GeneXus?	 ¿Cómo Oscar desarrolló su app para SD con GeneXus?
¿Cómo Oscar desarrolló su app para SD con GeneXus?GeneXus
 

Ähnlich wie 100% JS (20)

UX & Wireframes Know Your Weapon of Choice
UX & Wireframes Know Your Weapon of ChoiceUX & Wireframes Know Your Weapon of Choice
UX & Wireframes Know Your Weapon of Choice
 
HTML5 for mobile development
HTML5 for mobile developmentHTML5 for mobile development
HTML5 for mobile development
 
Continuous Delivery at Netflix
Continuous Delivery at NetflixContinuous Delivery at Netflix
Continuous Delivery at Netflix
 
Makers Go Pro
Makers Go ProMakers Go Pro
Makers Go Pro
 
Node jsworkshop
Node jsworkshopNode jsworkshop
Node jsworkshop
 
Building Cordova plugins for iOS
Building Cordova plugins for iOSBuilding Cordova plugins for iOS
Building Cordova plugins for iOS
 
Products = Mess - How to avoid it? By Suman Mukherjee
Products = Mess - How to avoid it?  By Suman MukherjeeProducts = Mess - How to avoid it?  By Suman Mukherjee
Products = Mess - How to avoid it? By Suman Mukherjee
 
It's the Customer, Not the Container
It's the Customer, Not the ContainerIt's the Customer, Not the Container
It's the Customer, Not the Container
 
Welcome to the RIAworld
Welcome to the RIAworldWelcome to the RIAworld
Welcome to the RIAworld
 
Cd syd
Cd sydCd syd
Cd syd
 
Native Slide
Native SlideNative Slide
Native Slide
 
Angular mixed Sails, we are in MEAN stack
Angular mixed Sails, we are in MEAN stackAngular mixed Sails, we are in MEAN stack
Angular mixed Sails, we are in MEAN stack
 
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...
 
Developer Tools State of the Union
Developer Tools State of the UnionDeveloper Tools State of the Union
Developer Tools State of the Union
 
Latinoware Rails 2009
Latinoware Rails 2009Latinoware Rails 2009
Latinoware Rails 2009
 
Keeping responsive into the future by Chris mills
Keeping responsive into the future by Chris millsKeeping responsive into the future by Chris mills
Keeping responsive into the future by Chris mills
 
Html5 new sword for interactive app
Html5 new sword for interactive appHtml5 new sword for interactive app
Html5 new sword for interactive app
 
SassConf: It takes a village to raise a stylesheet
SassConf: It takes a village to raise a stylesheetSassConf: It takes a village to raise a stylesheet
SassConf: It takes a village to raise a stylesheet
 
Continuous Delivery for the Web Platform
Continuous Delivery for the Web PlatformContinuous Delivery for the Web Platform
Continuous Delivery for the Web Platform
 
¿Cómo Oscar desarrolló su app para SD con GeneXus?
	 ¿Cómo Oscar desarrolló su app para SD con GeneXus?	 ¿Cómo Oscar desarrolló su app para SD con GeneXus?
¿Cómo Oscar desarrolló su app para SD con GeneXus?
 

Kürzlich hochgeladen

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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 Takeoffsammart93
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
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 WorkerThousandEyes
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - 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
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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...Neo4j
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
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
 

Kürzlich hochgeladen (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - 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
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 

100% JS