SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Mobile Apps with JavaScript - there’s more than web!



                                         Heiko Behrens
                                         @HBehrens
@moskovich: “Your mobile phone has more
computing power than all of NASA in 1969.
    NASA put a man on the moon...
...we put a bird into pigs.”
what’s so great
about the web
   anyway ?
!"##$%&'(()*+,(-%.,/0$*12-%/3
!"#$%&"'()*+
****)(-%.)/45#2,*-./0#$%0'123/-4
****6'0,*5637-1/"#$%&8)9"#$%:)#%;<2)"2=->*"#61'%7-)19)??)?&#@)$%/@)->A
*********5637-1/"#$%&8)9"#$%:8#""->*"#61'%7-8#""->A
*********5637-1/"#$%&8)9"#$%:%%"->**"#61'%7-%65)%/@)->A
*********5637-1/"#$%&8)9"#$%:BCD<BCD0#$%E'1)->*"#61'%7-BCD->4
F


                                                    7'(66.!'(86$'*95-*:$5;<%
                                                    <?2C*+
                                                    ***45-.<$5;<%,*GHH@=4
                                                    ***<$5;<%=/"%(*>54&('%/-%?
                                                    ***<$5;<%,*GHH@=4
 !(3*1</@(8                                         F

 :BI'?#8*+
 ******&1#J&9#=&BI'?#8,*H*H*K@=*<HHH4
 ******&8)9L2%&9#=&BI'?#8,*H*H*K@=*<HHH4
 ******&1B&"23%)6,*M@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:R3#87(#3#6S<TTTTTTAB%6)$D%ISU>M4
 ******"23%)6,
 **************@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:VI'?#87(#3#6S<TTTTTTA?26)(%2#$SHAB%6)$D%ISU>
 **************@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:VI'?#87(#3#6S<TTTTTTA?26)(%2#$SWHAB%6)$D%ISU>
 **************@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:VI'?#87(#3#6S<TTTTTTA?26)(%2#$SXYHAB%6)$D%ISU>
 **************@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:VI'?#87(#3#6S<TTTTTTA?26)(%2#$SZ[HAB%6)$D%ISU>4
 ******9#=&BI'?#8,*H*H*K@=*<HHH4
 F
user’s
         i ve
perspec t
experience
expectation
consumers think apps
developer’s
perspective
web apps
HTML5
cache manifest, local storage, forms, geo location

CSS3
animation, transitions, 3D transformation

Resolution
css media queries, reference, categories, float layout

URLs
mails, telephone, sms, maps, youtube, etc.
server-side web


                           Web Server
                        executes application
                               logic


Web Browser




                       Files             Database




  Device                       Backend
client-side web

     Web Browser



      JavaScript
executes application logic




  Files         Database




          Device                Backend
web frameworks

iWebKit, iUI, jQTouch, JQuery mobile, Jo, Zepto

Sencha Touch, SproutCore




See also any mew library that spawns each new week
Sencha Touch

GPL+MIT License        GPL + Free License
declarative + JQuery   programmatically
simple                 complex
Sencha Touch
                                              Ext.setup({
                                                  tabletStartupScreen: 'tablet_startup.png',
                                                  phoneStartupScreen: 'phone_startup.png',
                                                  icon: 'icon.png',
                                                  glossOnIcon: false,
                                                  onReady : function() {
                                                      Ext.regModel('Contact', {
                                                          fields: ['firstName', 'lastName']
                                                      });

                                                        var groupingBase = {
                                              !     !    !    // snip
                                                            },
<ul data-role="listview" data-theme="g">
                                                             store: new Ext.data.Store({
!   <li><a href="acura.html">Acura</a></li>
                                                                 model: 'Contact',
!   <li><a href="audi.html">Audi</a></li>
                                                                 sorters: 'firstName',
!   <li><a href="bmw.html">BMW</a></li>
</ul>                                                            getGroupString : function(record) {
                                                                     return record.get(
                                                                          'firstName')[0];
                                                                 },

                                                                 data: [
                                                                     {firstName: 'Tommy',
                                                                      lastName: 'Maintz'},
                                              !     !    !     !   !     // snip
                                                                     {firstName: 'Zed',
                                                                      lastName: 'Zacharias'}
                                                                 ]
                                                             })
                                                        };

                                                        new Ext.List(Ext.apply(groupingBase, {
                                                             fullscreen: true
                                                        }));
                                                    }
                                              });
Cocos2D JavaScript        Impact JS
   MIT License           MIT License

Simple 2D + Physics   2D, Physics, Sound

                      Emphasizes Mobile
production
 learning         easy and countless tutorials+libraries
 tools            can mostly be developed on desktop
 monetization     no app store distribution
scenarios
 lists and data
 rich media       inferior performance
 games            poor performance, only limited 3D
experience
 hardware         no camera, partly accelerometer, no fancy stuff
 user interface   fancy UI possible, but platform specific
 offline           HTML5
platforms
 iOS
 Android
 Windows Phone    since 7.5 aka Mango
 others           great movement in responsive design!
hybrid apps
hybrid app

Native App

         Interpreter



    Request
   Interceptor


         JavaScript Bridge

          Browser
     executes JavaScript




             Device                Backend
request interception




    demo
Dual License
MIT & BSD
Logitech Squeezebox Controller
RNAO Nursing Best Practice Guidelines
debugging
+
weinre
PhoneGap on Windows Phone
Plugin-Ins for PhoneGap
production
 learning         as with web
 tools            cloud build, yes but barely no debugging
 monetization
scenarios
 lists and data
 rich media       same as with web
 games            same as with web
experience
 hardware         mostly accessible
 user interface   high effort to match platform’s UI
 offline
platforms
 iOS
 Android
 Windows Phone
 others           best coverage of cross-platform frameworks
interpreted apps
interpreted app

Native App

         interpreter




                  Database
  Application
    Script
                       Files




             Device               Backend
– (HTML & CSS) =
Apache 2 License

     JavaScript
   native controls

iPhone, iPad, Android
(BlackBerry, HTML5)
Plugin-Ins for Appcelerator
production
 learning         specific API, similar to Sencha & Co.
 tools            own IDE, including debugger
 monetization     marketplace for apps and components
scenarios
 lists and data   perfect match
 rich media       hard to work with movies/images and animations
 games            some modules for rendering and physics
experience
 hardware         complete support
 user interface   truly native widgets
 offline
platforms
 iOS
 Android
 Windows Phone    no plans on roadmap
 others           plans for BlackBerry and HTML5
generated apps
generated app

    Generator




 Generator Input       Native App

                               Logic     Logic
      Model
describes logic and
                             Database   Database
 complete system

                                Files    Files
Files     Database

                              Device    Backend
LGPL            commercial             EPL
                       (BETA)

    Java, C#           Java, AS             DSL

  iOS, Android,     iOS, Android,        iOS, Android,
(Windows Phone),   Windows Phone,      Windows Phone,
    JavaScript     HTML5, WebOS,       Server-Side Web
                   BlackBerry, Flash
commercial
800-4500 USD

JavaScript / C#

  full 2D/3D
games tool chain

 iOS, Android
demo
production
 learning         completely new tool chain
 tools            scene editors, debuggers, asset manager, team versioning
 monetization
scenarios
 lists and data   no native UI
 rich media       not optimized for movies
 games
experience
 hardware         OpenGL and sensors
 user interface   best for games
 offline
platforms
 iOS
 Android
 Windows Phone    no plans on agenda
 others           desktop and web
JavaScript for
mobile apps ?
Web   PhoneGap   Appcelerator   Unity3D
production
 learning
 tools
 monetization
scenarios
 lists and data
 rich media
 games
experience
 hardware
 user interface
 offline
platforms
 iOS
 Android
 Windows Phone
 others
twitter         @HBehrens
blog            http://HeikoBehrens.net

CEO & Founder   getBeamApp.com

Contenu connexe

Tendances

Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applicationsSkills Matter
 
Implementing a many-to-many Relationship with Slick
Implementing a many-to-many Relationship with SlickImplementing a many-to-many Relationship with Slick
Implementing a many-to-many Relationship with SlickHermann Hueck
 
Python postgre sql a wonderful wedding
Python postgre sql   a wonderful weddingPython postgre sql   a wonderful wedding
Python postgre sql a wonderful weddingStéphane Wirtel
 
Mozilla とブラウザゲーム
Mozilla とブラウザゲームMozilla とブラウザゲーム
Mozilla とブラウザゲームNoritada Shimizu
 
Psycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptPsycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptSurvey Department
 
Chaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscoreChaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscoreNicolas Carlo
 
Data visualization by Kenneth Odoh
Data visualization by Kenneth OdohData visualization by Kenneth Odoh
Data visualization by Kenneth Odohpyconfi
 
Using web2py's DAL in other projects or frameworks
Using web2py's DAL in other projects or frameworksUsing web2py's DAL in other projects or frameworks
Using web2py's DAL in other projects or frameworksBruno Rocha
 
Using Scala Slick at FortyTwo
Using Scala Slick at FortyTwoUsing Scala Slick at FortyTwo
Using Scala Slick at FortyTwoEishay Smith
 
6. Generics. Collections. Streams
6. Generics. Collections. Streams6. Generics. Collections. Streams
6. Generics. Collections. StreamsDEVTYPE
 
Programming with Python and PostgreSQL
Programming with Python and PostgreSQLProgramming with Python and PostgreSQL
Programming with Python and PostgreSQLPeter Eisentraut
 
The Ring programming language version 1.3 book - Part 83 of 88
The Ring programming language version 1.3 book - Part 83 of 88The Ring programming language version 1.3 book - Part 83 of 88
The Ring programming language version 1.3 book - Part 83 of 88Mahmoud Samir Fayed
 
mobl - model-driven engineering lecture
mobl - model-driven engineering lecturemobl - model-driven engineering lecture
mobl - model-driven engineering lecturezefhemel
 
JavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and LodashJavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and LodashBret Little
 
Data Types and Processing in ES6
Data Types and Processing in ES6Data Types and Processing in ES6
Data Types and Processing in ES6m0bz
 
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6Dmitry Soshnikov
 
RIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSRIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSDominik Jungowski
 

Tendances (20)

Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
 
Implementing a many-to-many Relationship with Slick
Implementing a many-to-many Relationship with SlickImplementing a many-to-many Relationship with Slick
Implementing a many-to-many Relationship with Slick
 
Python postgre sql a wonderful wedding
Python postgre sql   a wonderful weddingPython postgre sql   a wonderful wedding
Python postgre sql a wonderful wedding
 
Mozilla とブラウザゲーム
Mozilla とブラウザゲームMozilla とブラウザゲーム
Mozilla とブラウザゲーム
 
Psycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python ScriptPsycopg2 - Connect to PostgreSQL using Python Script
Psycopg2 - Connect to PostgreSQL using Python Script
 
Chaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscoreChaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscore
 
Data visualization by Kenneth Odoh
Data visualization by Kenneth OdohData visualization by Kenneth Odoh
Data visualization by Kenneth Odoh
 
Using web2py's DAL in other projects or frameworks
Using web2py's DAL in other projects or frameworksUsing web2py's DAL in other projects or frameworks
Using web2py's DAL in other projects or frameworks
 
Using Scala Slick at FortyTwo
Using Scala Slick at FortyTwoUsing Scala Slick at FortyTwo
Using Scala Slick at FortyTwo
 
6. Generics. Collections. Streams
6. Generics. Collections. Streams6. Generics. Collections. Streams
6. Generics. Collections. Streams
 
Programming with Python and PostgreSQL
Programming with Python and PostgreSQLProgramming with Python and PostgreSQL
Programming with Python and PostgreSQL
 
Lodash js
Lodash jsLodash js
Lodash js
 
mobl
moblmobl
mobl
 
The Ring programming language version 1.3 book - Part 83 of 88
The Ring programming language version 1.3 book - Part 83 of 88The Ring programming language version 1.3 book - Part 83 of 88
The Ring programming language version 1.3 book - Part 83 of 88
 
mobl - model-driven engineering lecture
mobl - model-driven engineering lecturemobl - model-driven engineering lecture
mobl - model-driven engineering lecture
 
JavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and LodashJavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and Lodash
 
Data Types and Processing in ES6
Data Types and Processing in ES6Data Types and Processing in ES6
Data Types and Processing in ES6
 
Functional es6
Functional es6Functional es6
Functional es6
 
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
 
RIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSRIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JS
 

Similaire à beyond tellerrand: Mobile Apps with JavaScript – There's More Than Web

There's more than web
There's more than webThere's more than web
There's more than webMatt Evans
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Guillaume Laforge
 
After max+phonegap
After max+phonegapAfter max+phonegap
After max+phonegapyangdj
 
混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaveryangdj
 
Native Phone Development 101
Native Phone Development 101Native Phone Development 101
Native Phone Development 101Sasmito Adibowo
 
soft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch
 
A mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutesA mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutesJames Pearce
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensionserwanl
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)Igor Bronovskyy
 
Charla EHU Noviembre 2014 - Desarrollo Web
Charla EHU Noviembre 2014 - Desarrollo WebCharla EHU Noviembre 2014 - Desarrollo Web
Charla EHU Noviembre 2014 - Desarrollo WebMikel Torres Ugarte
 
Event-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineEvent-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineRicardo Silva
 
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NCAndroid Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NCJim Tochterman
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Remy Sharp
 
Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02PL dream
 
Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !Microsoft
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureSimon Willison
 
Programming IoT Gateways in JavaScript with macchina.io
Programming IoT Gateways in JavaScript with macchina.ioProgramming IoT Gateways in JavaScript with macchina.io
Programming IoT Gateways in JavaScript with macchina.ioGünter Obiltschnig
 

Similaire à beyond tellerrand: Mobile Apps with JavaScript – There's More Than Web (20)

There's more than web
There's more than webThere's more than web
There's more than web
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
 
Coding Ajax
Coding AjaxCoding Ajax
Coding Ajax
 
After max+phonegap
After max+phonegapAfter max+phonegap
After max+phonegap
 
混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver
 
Native Phone Development 101
Native Phone Development 101Native Phone Development 101
Native Phone Development 101
 
soft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.js
 
A mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutesA mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutes
 
Coding Ajax
Coding AjaxCoding Ajax
Coding Ajax
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 
Charla EHU Noviembre 2014 - Desarrollo Web
Charla EHU Noviembre 2014 - Desarrollo WebCharla EHU Noviembre 2014 - Desarrollo Web
Charla EHU Noviembre 2014 - Desarrollo Web
 
Event-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineEvent-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 Engine
 
Having Fun with Play
Having Fun with PlayHaving Fun with Play
Having Fun with Play
 
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NCAndroid Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
Android Development w/ ArcGIS Server - Esri Dev Meetup - Charlotte, NC
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
 
Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02
 
Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big Picture
 
Programming IoT Gateways in JavaScript with macchina.io
Programming IoT Gateways in JavaScript with macchina.ioProgramming IoT Gateways in JavaScript with macchina.io
Programming IoT Gateways in JavaScript with macchina.io
 

Plus de Heiko Behrens

Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Heiko Behrens
 
MDSD on iPhone - EclipseCon 2010
MDSD on iPhone - EclipseCon 2010MDSD on iPhone - EclipseCon 2010
MDSD on iPhone - EclipseCon 2010Heiko Behrens
 
iPhonical and model-driven software development for the iPhone
iPhonical and model-driven software development for the iPhoneiPhonical and model-driven software development for the iPhone
iPhonical and model-driven software development for the iPhoneHeiko Behrens
 
Building DSLs with Xtext - Eclipse Modeling Day 2009
Building DSLs with Xtext - Eclipse Modeling Day 2009Building DSLs with Xtext - Eclipse Modeling Day 2009
Building DSLs with Xtext - Eclipse Modeling Day 2009Heiko Behrens
 
Xtext at Eclipse DemoCamp London in June 2009
Xtext at Eclipse DemoCamp London in June 2009Xtext at Eclipse DemoCamp London in June 2009
Xtext at Eclipse DemoCamp London in June 2009Heiko Behrens
 
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AGMastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AGHeiko Behrens
 
Xtext - und was man damit anstellen kann
Xtext - und was man damit anstellen kannXtext - und was man damit anstellen kann
Xtext - und was man damit anstellen kannHeiko Behrens
 

Plus de Heiko Behrens (8)

Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
MDSD on iPhone - EclipseCon 2010
MDSD on iPhone - EclipseCon 2010MDSD on iPhone - EclipseCon 2010
MDSD on iPhone - EclipseCon 2010
 
iPhonical and model-driven software development for the iPhone
iPhonical and model-driven software development for the iPhoneiPhonical and model-driven software development for the iPhone
iPhonical and model-driven software development for the iPhone
 
Building DSLs with Xtext - Eclipse Modeling Day 2009
Building DSLs with Xtext - Eclipse Modeling Day 2009Building DSLs with Xtext - Eclipse Modeling Day 2009
Building DSLs with Xtext - Eclipse Modeling Day 2009
 
Xtext Webinar
Xtext WebinarXtext Webinar
Xtext Webinar
 
Xtext at Eclipse DemoCamp London in June 2009
Xtext at Eclipse DemoCamp London in June 2009Xtext at Eclipse DemoCamp London in June 2009
Xtext at Eclipse DemoCamp London in June 2009
 
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AGMastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
 
Xtext - und was man damit anstellen kann
Xtext - und was man damit anstellen kannXtext - und was man damit anstellen kann
Xtext - und was man damit anstellen kann
 

Dernier

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
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
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
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
 
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
 
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
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Dernier (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
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 ...
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
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...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

beyond tellerrand: Mobile Apps with JavaScript – There's More Than Web

  • 1. Mobile Apps with JavaScript - there’s more than web! Heiko Behrens @HBehrens
  • 2. @moskovich: “Your mobile phone has more computing power than all of NASA in 1969. NASA put a man on the moon...
  • 3. ...we put a bird into pigs.”
  • 4.
  • 5.
  • 6.
  • 7. what’s so great about the web anyway ?
  • 8. !"##$%&'(()*+,(-%.,/0$*12-%/3 !"#$%&"'()*+ ****)(-%.)/45#2,*-./0#$%0'123/-4 ****6'0,*5637-1/"#$%&8)9"#$%:)#%;<2)"2=->*"#61'%7-)19)??)?&#@)$%/@)->A *********5637-1/"#$%&8)9"#$%:8#""->*"#61'%7-8#""->A *********5637-1/"#$%&8)9"#$%:%%"->**"#61'%7-%65)%/@)->A *********5637-1/"#$%&8)9"#$%:BCD<BCD0#$%E'1)->*"#61'%7-BCD->4 F 7'(66.!'(86$'*95-*:$5;<% <?2C*+ ***45-.<$5;<%,*GHH@=4 ***<$5;<%=/"%(*>54&('%/-%? ***<$5;<%,*GHH@=4 !(3*1</@(8 F :BI'?#8*+ ******&1#J&9#=&BI'?#8,*H*H*K@=*<HHH4 ******&8)9L2%&9#=&BI'?#8,*H*H*K@=*<HHH4 ******&1B&"23%)6,*M@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:R3#87(#3#6S<TTTTTTAB%6)$D%ISU>M4 ******"23%)6, **************@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:VI'?#87(#3#6S<TTTTTTA?26)(%2#$SHAB%6)$D%ISU> **************@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:VI'?#87(#3#6S<TTTTTTA?26)(%2#$SWHAB%6)$D%ISU> **************@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:VI'?#87(#3#6S<TTTTTTA?26)(%2#$SXYHAB%6)$D%ISU> **************@6#D2?,NOP1'D)Q6'$B"#61:.2(6#B#"%:VI'?#87(#3#6S<TTTTTTA?26)(%2#$SZ[HAB%6)$D%ISU>4 ******9#=&BI'?#8,*H*H*K@=*<HHH4 F
  • 9. user’s i ve perspec t
  • 14.
  • 16. HTML5 cache manifest, local storage, forms, geo location CSS3 animation, transitions, 3D transformation Resolution css media queries, reference, categories, float layout URLs mails, telephone, sms, maps, youtube, etc.
  • 17. server-side web Web Server executes application logic Web Browser Files Database Device Backend
  • 18. client-side web Web Browser JavaScript executes application logic Files Database Device Backend
  • 19. web frameworks iWebKit, iUI, jQTouch, JQuery mobile, Jo, Zepto Sencha Touch, SproutCore See also any mew library that spawns each new week
  • 20. Sencha Touch GPL+MIT License GPL + Free License declarative + JQuery programmatically simple complex
  • 21. Sencha Touch Ext.setup({ tabletStartupScreen: 'tablet_startup.png', phoneStartupScreen: 'phone_startup.png', icon: 'icon.png', glossOnIcon: false, onReady : function() { Ext.regModel('Contact', { fields: ['firstName', 'lastName'] }); var groupingBase = { ! ! ! // snip }, <ul data-role="listview" data-theme="g"> store: new Ext.data.Store({ ! <li><a href="acura.html">Acura</a></li> model: 'Contact', ! <li><a href="audi.html">Audi</a></li> sorters: 'firstName', ! <li><a href="bmw.html">BMW</a></li> </ul> getGroupString : function(record) { return record.get( 'firstName')[0]; }, data: [ {firstName: 'Tommy', lastName: 'Maintz'}, ! ! ! ! ! // snip {firstName: 'Zed', lastName: 'Zacharias'} ] }) }; new Ext.List(Ext.apply(groupingBase, { fullscreen: true })); } });
  • 22. Cocos2D JavaScript Impact JS MIT License MIT License Simple 2D + Physics 2D, Physics, Sound Emphasizes Mobile
  • 23. production learning easy and countless tutorials+libraries tools can mostly be developed on desktop monetization no app store distribution scenarios lists and data rich media inferior performance games poor performance, only limited 3D experience hardware no camera, partly accelerometer, no fancy stuff user interface fancy UI possible, but platform specific offline HTML5 platforms iOS Android Windows Phone since 7.5 aka Mango others great movement in responsive design!
  • 25. hybrid app Native App Interpreter Request Interceptor JavaScript Bridge Browser executes JavaScript Device Backend
  • 29. RNAO Nursing Best Practice Guidelines
  • 34. production learning as with web tools cloud build, yes but barely no debugging monetization scenarios lists and data rich media same as with web games same as with web experience hardware mostly accessible user interface high effort to match platform’s UI offline platforms iOS Android Windows Phone others best coverage of cross-platform frameworks
  • 36. interpreted app Native App interpreter Database Application Script Files Device Backend
  • 37. – (HTML & CSS) =
  • 38. Apache 2 License JavaScript native controls iPhone, iPad, Android (BlackBerry, HTML5)
  • 39.
  • 41. production learning specific API, similar to Sencha & Co. tools own IDE, including debugger monetization marketplace for apps and components scenarios lists and data perfect match rich media hard to work with movies/images and animations games some modules for rendering and physics experience hardware complete support user interface truly native widgets offline platforms iOS Android Windows Phone no plans on roadmap others plans for BlackBerry and HTML5
  • 43. generated app Generator Generator Input Native App Logic Logic Model describes logic and Database Database complete system Files Files Files Database Device Backend
  • 44. LGPL commercial EPL (BETA) Java, C# Java, AS DSL iOS, Android, iOS, Android, iOS, Android, (Windows Phone), Windows Phone, Windows Phone, JavaScript HTML5, WebOS, Server-Side Web BlackBerry, Flash
  • 45. commercial 800-4500 USD JavaScript / C# full 2D/3D games tool chain iOS, Android
  • 46. demo
  • 47.
  • 48. production learning completely new tool chain tools scene editors, debuggers, asset manager, team versioning monetization scenarios lists and data no native UI rich media not optimized for movies games experience hardware OpenGL and sensors user interface best for games offline platforms iOS Android Windows Phone no plans on agenda others desktop and web
  • 50. Web PhoneGap Appcelerator Unity3D production learning tools monetization scenarios lists and data rich media games experience hardware user interface offline platforms iOS Android Windows Phone others
  • 51. twitter @HBehrens blog http://HeikoBehrens.net CEO & Founder getBeamApp.com