SlideShare una empresa de Scribd logo
1 de 22
Mobile JavaScript	
javascriptz right in yo hands, mawfocker
token “me” slide


 Web developer / Master Exploder at Nitobi Software
 SFU graduate
 Big fan of the open web
 Bigger Canucks fan
Mobile: How’s it doing?
Browsing ~3% of all browsing takes
 Today, by Device Category Trend         place on a mobile device;
November, 2009 to September, 2010
                           Apparently 6% in Asia.




Month                         Desktop           Mobile          Consol
November, 2009                98.65%                             0.04%
December, 2009                98.36%                             0.05%
January, 2010                 98.19%                             0.05%
Browsers everywhere!
WebKit FTW

The major browser platform moving forward
Apple started it
Android jumped on
Even RIM pulled their head out of their ass and made
the switch
But...
 Still have:
   Internet Explorer Mobile; now
   with extra non-compliance!
   Old BlackBerry Browser, it’s so
   bad it doesn’t have a name
so wtf do we do?




(other than drink beer)
codes that help
Peter Higgins’ has.js is rad
SunSpider is sweet
Sputnik is also neat
has.js
 Peter Higgins, Dojo project lead, put this out there as of
 JSConf.eu 2010.
 A JavaScript feature detection library, using JavaScript.
 http://github.com/phiggins42/has.js
SunSpider


A JavaScript benchmark.
Part of the WebKit project.
Sputnik


Google project, a JavaScript conformance test suite
against the ECMA-262 spec
Over 5000 tests
The numbers
Android (2.2)

 has.js: apparently a few css and DOM tests fail!
 function bind fails (?), and full <input> support is not
 there. No es5 or svg.
 SunSpider: 6121ms
 Sputnik: All tests ran, 226/5246 failed (4.3%)
iPhone (4)

 has.js: same css, dom and function bind issues as
 Android. Better <input> support too. es5 is lacking, but
 full SVG support (woot)?
 SunSpider: 10252 ms
 Sputnik: Crashed mobile safari... 3.7% tests fail
 (137/3746)
Shitty BlackBerry, slide 1
BlackBerry OS 5.0
Shitty BlackBerry, slide 2
has.js results
 array has no reduce or isarray methods, some regexp tests fail

 no audio support, no canvas

 there are lots of css bugs/lack of support: overflow, border-radius, transforms, text-
 overflow, opacity.

 super weak date support; no toisostring, now or tojson.

 no native JSON tools (just grab json2.js from json.org)

 no xhr upload events, any type of offline storage (OTHER THAN GEARS, YES!!!!)

 no svg, video or vml
Shitty BlackBerry, slide 3
SunSpider and Sputnik

 SunSpider: Didn’t finish, each test ran on average
 4000ms (compared to Android’s ~100ms).
 Sputnik: Can’t even get to the test runner!
BlackBerry 6 (WebKit)

has.js: better than both Android and iPhone. Full event
support (unlike Android/iPhone). Websockets and
worker support, that is fucking awesome. Full storage
options. SVG is super performant on it
SunSpider: 26131 ms
Sputnik: Crashed browser at 1%
Windows Phone 7
has.js: All array tests fail, no audio support,
getelementbyid ignores case, getelementsbytagname
returns comment nodes, so much more fail!
css bugs galore; see IE6.
no event.stopPropagation or preventDefault
BUT... VML!!!!
SunSpider: 145050 ms...
Sputnik: NOPE
Palm

has.js: pretty solid overall. createAttribute apparently
fails. canvas, audio, video works. sqlite and
localstorage options are there too.
SunSpider: 39193 ms
Sputnik: nope
Final words


 Know your enemy
 Pick your battles
BEER TIME NAO




Thanks!

Más contenido relacionado

La actualidad más candente

Good rules for bad apps
Good rules for bad appsGood rules for bad apps
Good rules for bad appsShem Magnezi
 
20+ fantastic web development newsletters for developers & designers
20+ fantastic web development newsletters for developers & designers20+ fantastic web development newsletters for developers & designers
20+ fantastic web development newsletters for developers & designersUsersnap
 
Phonegap facebook plugin - Seoul & Tokyo
Phonegap facebook plugin - Seoul & TokyoPhonegap facebook plugin - Seoul & Tokyo
Phonegap facebook plugin - Seoul & TokyoSteve Gill
 
Foundations of Security
Foundations of SecurityFoundations of Security
Foundations of SecurityJoe Robb
 
All the small things… - Awwwards 2016
All the small things… - Awwwards 2016All the small things… - Awwwards 2016
All the small things… - Awwwards 2016Christian Heilmann
 
Everyday User experience
Everyday User experienceEveryday User experience
Everyday User experienceMatt Shobe
 
Mobile Usability & Search
Mobile Usability & SearchMobile Usability & Search
Mobile Usability & SearchPushON Ltd
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Christian Heilmann
 

La actualidad más candente (10)

Good rules for bad apps
Good rules for bad appsGood rules for bad apps
Good rules for bad apps
 
20+ fantastic web development newsletters for developers & designers
20+ fantastic web development newsletters for developers & designers20+ fantastic web development newsletters for developers & designers
20+ fantastic web development newsletters for developers & designers
 
Phonegap facebook plugin - Seoul & Tokyo
Phonegap facebook plugin - Seoul & TokyoPhonegap facebook plugin - Seoul & Tokyo
Phonegap facebook plugin - Seoul & Tokyo
 
Foundations of Security
Foundations of SecurityFoundations of Security
Foundations of Security
 
All the small things… - Awwwards 2016
All the small things… - Awwwards 2016All the small things… - Awwwards 2016
All the small things… - Awwwards 2016
 
Everyday User Experience
Everyday User ExperienceEveryday User Experience
Everyday User Experience
 
Everyday User experience
Everyday User experienceEveryday User experience
Everyday User experience
 
Mobile Usability & Search
Mobile Usability & SearchMobile Usability & Search
Mobile Usability & Search
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
Linux Users are People, Too!
Linux Users are People, Too!Linux Users are People, Too!
Linux Users are People, Too!
 

Destacado

OSCON 2011 - HTML5 and Mobile: Getting From Good Enough To Great
OSCON 2011 - HTML5 and Mobile: Getting From Good Enough To GreatOSCON 2011 - HTML5 and Mobile: Getting From Good Enough To Great
OSCON 2011 - HTML5 and Mobile: Getting From Good Enough To GreatFil Maj
 
PhoneGap Day: PhoneGap Build
PhoneGap Day: PhoneGap BuildPhoneGap Day: PhoneGap Build
PhoneGap Day: PhoneGap BuildFil Maj
 
Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説光吉 浜谷
 
Processing.js vs. three.js
Processing.js vs. three.jsProcessing.js vs. three.js
Processing.js vs. three.jsVictor Porof
 

Destacado (8)

OSCON 2011 - HTML5 and Mobile: Getting From Good Enough To Great
OSCON 2011 - HTML5 and Mobile: Getting From Good Enough To GreatOSCON 2011 - HTML5 and Mobile: Getting From Good Enough To Great
OSCON 2011 - HTML5 and Mobile: Getting From Good Enough To Great
 
PhoneGap Day: PhoneGap Build
PhoneGap Day: PhoneGap BuildPhoneGap Day: PhoneGap Build
PhoneGap Day: PhoneGap Build
 
Mini training - Moving to xUnit.net
Mini training - Moving to xUnit.netMini training - Moving to xUnit.net
Mini training - Moving to xUnit.net
 
Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
Mini-Training: JS Graphical Libraries
Mini-Training: JS Graphical LibrariesMini-Training: JS Graphical Libraries
Mini-Training: JS Graphical Libraries
 
Processing.js vs. three.js
Processing.js vs. three.jsProcessing.js vs. three.js
Processing.js vs. three.js
 
.Net without spending a buck
.Net without spending a buck.Net without spending a buck
.Net without spending a buck
 

Similar a Mobile JavaScript

Front-End Engineering 101
Front-End Engineering 101Front-End Engineering 101
Front-End Engineering 101Milan Korsos
 
Js On Mobile Devices
Js On Mobile DevicesJs On Mobile Devices
Js On Mobile DevicesJens Arps
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapNur Hidayat
 
Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Brian LeRoux
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for EngineersBrian LeRoux
 
What Devops Need to Know about Mobile
What Devops Need to Know about MobileWhat Devops Need to Know about Mobile
What Devops Need to Know about MobileJon Arne Sæterås
 
Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for MobilityScotty Logan
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Modern Browser Support
Modern Browser SupportModern Browser Support
Modern Browser SupportMark Meeker
 
HTML5 and the Mobile Web
HTML5 and the Mobile WebHTML5 and the Mobile Web
HTML5 and the Mobile WebMrJ1971
 
Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013Jon Arne Sæterås
 
Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010jeresig
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Real World Lessons in jQuery Mobile
Real World Lessons in jQuery MobileReal World Lessons in jQuery Mobile
Real World Lessons in jQuery MobileKai Koenig
 
Google presentation: The Open Web goes mobile
Google presentation: The Open Web goes mobileGoogle presentation: The Open Web goes mobile
Google presentation: The Open Web goes mobilePeter-Paul Koch
 
Smart phone development
Smart phone developmentSmart phone development
Smart phone developmentMyles Eftos
 
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...Yottaa
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkTroy Miles
 

Similar a Mobile JavaScript (20)

Front-End Engineering 101
Front-End Engineering 101Front-End Engineering 101
Front-End Engineering 101
 
Js On Mobile Devices
Js On Mobile DevicesJs On Mobile Devices
Js On Mobile Devices
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGap
 
Mobile html5 v2
Mobile html5 v2Mobile html5 v2
Mobile html5 v2
 
Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011Falsy Values - Warsaw 2011
Falsy Values - Warsaw 2011
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
What Devops Need to Know about Mobile
What Devops Need to Know about MobileWhat Devops Need to Know about Mobile
What Devops Need to Know about Mobile
 
Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for Mobility
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Modern Browser Support
Modern Browser SupportModern Browser Support
Modern Browser Support
 
HTML5 and the Mobile Web
HTML5 and the Mobile WebHTML5 and the Mobile Web
HTML5 and the Mobile Web
 
Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013
 
Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010
 
Flourish2011
Flourish2011Flourish2011
Flourish2011
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Real World Lessons in jQuery Mobile
Real World Lessons in jQuery MobileReal World Lessons in jQuery Mobile
Real World Lessons in jQuery Mobile
 
Google presentation: The Open Web goes mobile
Google presentation: The Open Web goes mobileGoogle presentation: The Open Web goes mobile
Google presentation: The Open Web goes mobile
 
Smart phone development
Smart phone developmentSmart phone development
Smart phone development
 
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic Framework
 

Último

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
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
 
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
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
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
 
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
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Mobile JavaScript

  • 1. Mobile JavaScript javascriptz right in yo hands, mawfocker
  • 2. token “me” slide Web developer / Master Exploder at Nitobi Software SFU graduate Big fan of the open web Bigger Canucks fan
  • 3. Mobile: How’s it doing? Browsing ~3% of all browsing takes Today, by Device Category Trend place on a mobile device; November, 2009 to September, 2010 Apparently 6% in Asia. Month Desktop Mobile Consol November, 2009 98.65% 0.04% December, 2009 98.36% 0.05% January, 2010 98.19% 0.05%
  • 5. WebKit FTW The major browser platform moving forward Apple started it Android jumped on Even RIM pulled their head out of their ass and made the switch
  • 6. But... Still have: Internet Explorer Mobile; now with extra non-compliance! Old BlackBerry Browser, it’s so bad it doesn’t have a name
  • 7. so wtf do we do? (other than drink beer)
  • 8. codes that help Peter Higgins’ has.js is rad SunSpider is sweet Sputnik is also neat
  • 9. has.js Peter Higgins, Dojo project lead, put this out there as of JSConf.eu 2010. A JavaScript feature detection library, using JavaScript. http://github.com/phiggins42/has.js
  • 10. SunSpider A JavaScript benchmark. Part of the WebKit project.
  • 11. Sputnik Google project, a JavaScript conformance test suite against the ECMA-262 spec Over 5000 tests
  • 13. Android (2.2) has.js: apparently a few css and DOM tests fail! function bind fails (?), and full <input> support is not there. No es5 or svg. SunSpider: 6121ms Sputnik: All tests ran, 226/5246 failed (4.3%)
  • 14. iPhone (4) has.js: same css, dom and function bind issues as Android. Better <input> support too. es5 is lacking, but full SVG support (woot)? SunSpider: 10252 ms Sputnik: Crashed mobile safari... 3.7% tests fail (137/3746)
  • 15. Shitty BlackBerry, slide 1 BlackBerry OS 5.0
  • 16. Shitty BlackBerry, slide 2 has.js results array has no reduce or isarray methods, some regexp tests fail no audio support, no canvas there are lots of css bugs/lack of support: overflow, border-radius, transforms, text- overflow, opacity. super weak date support; no toisostring, now or tojson. no native JSON tools (just grab json2.js from json.org) no xhr upload events, any type of offline storage (OTHER THAN GEARS, YES!!!!) no svg, video or vml
  • 17. Shitty BlackBerry, slide 3 SunSpider and Sputnik SunSpider: Didn’t finish, each test ran on average 4000ms (compared to Android’s ~100ms). Sputnik: Can’t even get to the test runner!
  • 18. BlackBerry 6 (WebKit) has.js: better than both Android and iPhone. Full event support (unlike Android/iPhone). Websockets and worker support, that is fucking awesome. Full storage options. SVG is super performant on it SunSpider: 26131 ms Sputnik: Crashed browser at 1%
  • 19. Windows Phone 7 has.js: All array tests fail, no audio support, getelementbyid ignores case, getelementsbytagname returns comment nodes, so much more fail! css bugs galore; see IE6. no event.stopPropagation or preventDefault BUT... VML!!!! SunSpider: 145050 ms... Sputnik: NOPE
  • 20. Palm has.js: pretty solid overall. createAttribute apparently fails. canvas, audio, video works. sqlite and localstorage options are there too. SunSpider: 39193 ms Sputnik: nope
  • 21. Final words Know your enemy Pick your battles

Notas del editor

  1. other stuff: - one of many contributors/maintainers of PhoneGap, XUI, lawnchair
  2. other interesting tidbits: - financial firm Morgan Stanley predicts mobile browsing will outstrip desktop by 2015
  3. web as a platform; fuck native if we could harness the power of browsers we could get out to so many people
  4. -closest thing we have to a unified platform on the web
  5. - initially, WP7 had IE 6/7 hybrid. latest version has 7/8 hybrid. sources say the browser is separate from the rest of the platform and can be upgraded much easier than the OS. Also MSFT has hinted that it will be moving WP7 to IE9.
  6. - checks for proper behaviour in your basic types, functions (binding et al), common browser bugs.
  7. tons of benchmark tests, run a bunch of times for each test to come up with a 95% confidence interval
  8. hard to read tho. you need to know the ecma spec to make any real sense of it. but a good guide for general ecmascript conformance.
  9. so much fail I need many slides to show this off
  10. re: css. it DOES have position: fixed though!
  11. no surprises here
  12. know your enemy: look at your analytics. if youre building a mobile site, who visits your &amp;#x2018;desktop&amp;#x2019; site? pick your battles: some of these environments really suck. building a web app on one platform might take four or five times more time than building it for another one.