SlideShare uma empresa Scribd logo
1 de 42
EventNinja
                          Dojo and Mobile
                   Building mobile applications with the Dojo Toolkit




Nikolai Onken - @uxebu, @nonken
What are we going to do next?




             • Mobile and Dojo? Where do we stand?
             • Lets dive in - EventNinja
             • Questions?


Nikolai Onken - @uxebu, @nonken
What are we going to do next?




             • Mobile and Dojo? Where do we stand?
             • Lets dive in - EventNinja
             • Questions?


Nikolai Onken - @uxebu, @nonken
Are we ready yet?



                                       YES :)
                                       NO =/




Nikolai Onken - @uxebu, @nonken
Why choose Dojo?



                                  performance benchmarks
                                        (even though they don’t count)




               http://blog.stefankolb.de/2009/05/13/javascript-
                     frameworks-within-mobile-widgets/




Nikolai Onken - @uxebu, @nonken
Very flexible build system:
                                     e.g. webkit mobile
             http://alex.dojotoolkit.org/2009/01/webkit-mobile/




Nikolai Onken - @uxebu, @nonken
Custom build




Nikolai Onken - @uxebu, @nonken
Custom build




Nikolai Onken - @uxebu, @nonken
What are we going to do next?




             • Dojo introduction
             • Mobile and Dojo? Where do we stand?
             • Lets dive in - EventNinja


Nikolai Onken - @uxebu, @nonken
EventNinja




Nikolai Onken - @uxebu, @nonken
The idea


             • upcoming, eventbrite, ...
             • finding all web dev events on one page?
             • YES: HTML, CSS, JS
             • NO: Objective C, Java, other proprietary stuff
             • AND: we are lazy ... fastest way from idea to
                  result? mobile devices and normal websites???



Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
Use the cloud when possible




Nikolai Onken - @uxebu, @nonken
for your DATA




Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
Use the cloud - again




Nikolai Onken - @uxebu, @nonken
for your JS/CSS/Images (CDN)

       Be careful though - mobile apps need custom builds for deploy




Nikolai Onken - @uxebu, @nonken
What could be a good architecture?

             • Something similar to the MVC pattern
             • Tiny base (especially for mobile)
             • Extra functionality through plugins
             • Styling via CSS
             • Platform specific design via templates (DTL)
                                          =

                                  Multiple Platforms

Nikolai Onken - @uxebu, @nonken
Nikolai Onken - @uxebu, @nonken
See it in action




Nikolai Onken - @uxebu, @nonken
The source




Nikolai Onken - @uxebu, @nonken
Templating




Nikolai Onken - @uxebu, @nonken
Templating - source




Nikolai Onken - @uxebu, @nonken
Plugins




Nikolai Onken - @uxebu, @nonken
Plugin - Structure




Nikolai Onken - @uxebu, @nonken
Mobile Version, the goal


             • W3C Widgets
             • Nokia S60 (W3C)
             • Palm Pre (NEW)
             • iPhone (Phonegap)
             • Android (Phonegap)
             • Blackberry (Phonegap)

Nikolai Onken - @uxebu, @nonken
See it in action - more details




Nikolai Onken - @uxebu, @nonken
Mobile development tips




Nikolai Onken - @uxebu, @nonken
Build platform/device specific




             • CSS Transitions (Webkit)
             • Device API support (geolocation, etc.)
             • Custom builds (Deliver in chunks, small initial
                  hit)




Nikolai Onken - @uxebu, @nonken
An example: iPhone




Nikolai Onken - @uxebu, @nonken
Extending objects / CSS transitions




Nikolai Onken - @uxebu, @nonken
Device API support




                                    OUPS, not there yet :(




Nikolai Onken - @uxebu, @nonken
Custom builds




Nikolai Onken - @uxebu, @nonken
Automate

         Set up deployment processes for all platforms you
         want to support (sh is your friend)




Nikolai Onken - @uxebu, @nonken
How do I test?



         • Debugging tools on mobile devices suck (most)
          • http://www.opera.com/dragonfly
         • Uhh, the screen is so tiny (firebug lite?)
         • phone specific deploy process takes ages (e.g.
               iPhone)




Nikolai Onken - @uxebu, @nonken
Some tips

         • Always test your app before you build the JS
         • Always test the built JS in a normal browser
         • e.g. iPhone: test in Webkit
         • e.g. iPhone, test on the iPhone browser before you
               compile your native app

         • e.g. S60: test in Opera
         • Always do this
         • Really!
Nikolai Onken - @uxebu, @nonken
Simulators are not devices,
                             unfortunately



                                  Do you have a phone for me?
                                   ....Start collecting phones,
                 optimize for the lowest common denominator




Nikolai Onken - @uxebu, @nonken
And once you have found the solution




                                  Share your knowledge




Nikolai Onken - @uxebu, @nonken
Questions?




Nikolai Onken - @uxebu, @nonken
thx

                                  http://blog.uxebu.com
                                      Nikolai Onken, uxebu
                                       nikolai@uxebu.com

                                       @uxebu, @nonken


Nikolai Onken - @uxebu, @nonken

Mais conteúdo relacionado

Mais de Nikolai Onken

Mais de Nikolai Onken (11)

Running a cloud-based developer platform
Running a cloud-based developer platformRunning a cloud-based developer platform
Running a cloud-based developer platform
 
The Art Of Practicing - WebSummit 2014
The Art Of Practicing - WebSummit 2014The Art Of Practicing - WebSummit 2014
The Art Of Practicing - WebSummit 2014
 
Embedjs
EmbedjsEmbedjs
Embedjs
 
Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript? Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript?
 
Robotic JavaScript
Robotic JavaScriptRobotic JavaScript
Robotic JavaScript
 
Mobile Cross Platform
Mobile Cross PlatformMobile Cross Platform
Mobile Cross Platform
 
Human APIs, the future of mobile
Human APIs, the future of mobileHuman APIs, the future of mobile
Human APIs, the future of mobile
 
Mobile JavaScript Development - QCon 2010
Mobile JavaScript Development - QCon 2010Mobile JavaScript Development - QCon 2010
Mobile JavaScript Development - QCon 2010
 
Dojo, from scratch to result
Dojo, from scratch to resultDojo, from scratch to result
Dojo, from scratch to result
 
Dojo and Adobe AIR
Dojo and Adobe AIRDojo and Adobe AIR
Dojo and Adobe AIR
 
RIA/UI development with Dojo
RIA/UI development with DojoRIA/UI development with Dojo
RIA/UI development with Dojo
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

EventNinja, Dojo and mobile

  • 1. EventNinja Dojo and Mobile Building mobile applications with the Dojo Toolkit Nikolai Onken - @uxebu, @nonken
  • 2. What are we going to do next? • Mobile and Dojo? Where do we stand? • Lets dive in - EventNinja • Questions? Nikolai Onken - @uxebu, @nonken
  • 3. What are we going to do next? • Mobile and Dojo? Where do we stand? • Lets dive in - EventNinja • Questions? Nikolai Onken - @uxebu, @nonken
  • 4. Are we ready yet? YES :) NO =/ Nikolai Onken - @uxebu, @nonken
  • 5. Why choose Dojo? performance benchmarks (even though they don’t count) http://blog.stefankolb.de/2009/05/13/javascript- frameworks-within-mobile-widgets/ Nikolai Onken - @uxebu, @nonken
  • 6. Very flexible build system: e.g. webkit mobile http://alex.dojotoolkit.org/2009/01/webkit-mobile/ Nikolai Onken - @uxebu, @nonken
  • 7. Custom build Nikolai Onken - @uxebu, @nonken
  • 8. Custom build Nikolai Onken - @uxebu, @nonken
  • 9. What are we going to do next? • Dojo introduction • Mobile and Dojo? Where do we stand? • Lets dive in - EventNinja Nikolai Onken - @uxebu, @nonken
  • 10. EventNinja Nikolai Onken - @uxebu, @nonken
  • 11. The idea • upcoming, eventbrite, ... • finding all web dev events on one page? • YES: HTML, CSS, JS • NO: Objective C, Java, other proprietary stuff • AND: we are lazy ... fastest way from idea to result? mobile devices and normal websites??? Nikolai Onken - @uxebu, @nonken
  • 12. Nikolai Onken - @uxebu, @nonken
  • 13. Use the cloud when possible Nikolai Onken - @uxebu, @nonken
  • 14. for your DATA Nikolai Onken - @uxebu, @nonken
  • 15. Nikolai Onken - @uxebu, @nonken
  • 16. Nikolai Onken - @uxebu, @nonken
  • 17. Nikolai Onken - @uxebu, @nonken
  • 18. Use the cloud - again Nikolai Onken - @uxebu, @nonken
  • 19. for your JS/CSS/Images (CDN) Be careful though - mobile apps need custom builds for deploy Nikolai Onken - @uxebu, @nonken
  • 20. What could be a good architecture? • Something similar to the MVC pattern • Tiny base (especially for mobile) • Extra functionality through plugins • Styling via CSS • Platform specific design via templates (DTL) = Multiple Platforms Nikolai Onken - @uxebu, @nonken
  • 21. Nikolai Onken - @uxebu, @nonken
  • 22. See it in action Nikolai Onken - @uxebu, @nonken
  • 23. The source Nikolai Onken - @uxebu, @nonken
  • 24. Templating Nikolai Onken - @uxebu, @nonken
  • 25. Templating - source Nikolai Onken - @uxebu, @nonken
  • 26. Plugins Nikolai Onken - @uxebu, @nonken
  • 27. Plugin - Structure Nikolai Onken - @uxebu, @nonken
  • 28. Mobile Version, the goal • W3C Widgets • Nokia S60 (W3C) • Palm Pre (NEW) • iPhone (Phonegap) • Android (Phonegap) • Blackberry (Phonegap) Nikolai Onken - @uxebu, @nonken
  • 29. See it in action - more details Nikolai Onken - @uxebu, @nonken
  • 30. Mobile development tips Nikolai Onken - @uxebu, @nonken
  • 31. Build platform/device specific • CSS Transitions (Webkit) • Device API support (geolocation, etc.) • Custom builds (Deliver in chunks, small initial hit) Nikolai Onken - @uxebu, @nonken
  • 32. An example: iPhone Nikolai Onken - @uxebu, @nonken
  • 33. Extending objects / CSS transitions Nikolai Onken - @uxebu, @nonken
  • 34. Device API support OUPS, not there yet :( Nikolai Onken - @uxebu, @nonken
  • 35. Custom builds Nikolai Onken - @uxebu, @nonken
  • 36. Automate Set up deployment processes for all platforms you want to support (sh is your friend) Nikolai Onken - @uxebu, @nonken
  • 37. How do I test? • Debugging tools on mobile devices suck (most) • http://www.opera.com/dragonfly • Uhh, the screen is so tiny (firebug lite?) • phone specific deploy process takes ages (e.g. iPhone) Nikolai Onken - @uxebu, @nonken
  • 38. Some tips • Always test your app before you build the JS • Always test the built JS in a normal browser • e.g. iPhone: test in Webkit • e.g. iPhone, test on the iPhone browser before you compile your native app • e.g. S60: test in Opera • Always do this • Really! Nikolai Onken - @uxebu, @nonken
  • 39. Simulators are not devices, unfortunately Do you have a phone for me? ....Start collecting phones, optimize for the lowest common denominator Nikolai Onken - @uxebu, @nonken
  • 40. And once you have found the solution Share your knowledge Nikolai Onken - @uxebu, @nonken
  • 41. Questions? Nikolai Onken - @uxebu, @nonken
  • 42. thx http://blog.uxebu.com Nikolai Onken, uxebu nikolai@uxebu.com @uxebu, @nonken Nikolai Onken - @uxebu, @nonken