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 Build 100% JS Company

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 Build 100% JS Company (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

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 DevelopmentsTrustArc
 
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
 
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 textsMaria Levchenko
 
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
 
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
 
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 2024Rafal Los
 
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 Processorsdebabhi2
 
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?Antenna Manufacturer Coco
 
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
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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.pdfsudhanshuwaghmare1
 
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 Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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.pptxMalak Abu Hammad
 
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 MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Kürzlich hochgeladen (20)

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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?
 
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?
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Build 100% JS Company