• Like
  • Save
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Upcoming SlideShare
Loading in...5

Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010



slides of a presentation about cross-platform mobile app development I gave at MobileTechCon 2010 in Mainz (Germany). ...

slides of a presentation about cross-platform mobile app development I gave at MobileTechCon 2010 in Mainz (Germany).

Links and additional information on the related blog post at http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-—-a-comparison-i-presented-at-mobiletechcon-2010/



Total Views
Views on SlideShare
Embed Views



12 Embeds 224

http://blog.balfes.net 74
http://lanyrd.com 73
http://www.rg-schleswig-holstein.gi-ev.de 26
http://rg-schleswig-holstein.gi.de 25
http://blog.bostondave.net 8
https://intranet 7
http://bostondave.posterous.com 3
http://twitter.com 3
https://confluence 2
http://rg-schleswig-holstein.test.gi.de 1
http://static.slidesharecdn.com 1
http://webcache.googleusercontent.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.


13 of 3 Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010 Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010 Presentation Transcript

    • Heiko Behrens | itemis AG Plattformübergreifende App-Entwicklung – ein Vergleich
    • eBay aims for $1.5 billion in mobile sales in 2010 internet retailer, Q1 2010 mobile download revenue exceeded $29.5 billion by 2013 Gartner, Q2 2010 07/Q2 07/Q4 08/Q2 08/Q4 09/Q2 09/Q4 10/Q2 10/Q4
    • I want an iPhone App !
    • diversity of platforms
    • 94 App Stores
    • two categories
    • How can we address this diversity?
    • You can write amazing web apps that look exactly and behave exactly like apps on the iPhone Steve Jobs, WWDC 2007
    • WEB APPS
    • demo
    • apple.com/webapps openappmkt.com
    • what’s that native thing?
    • demo
    • Unreal Tech Demo demo
    • <div class=”light”></div> <div id=”floor” class=”reflection”></div>
    • the User’s perspective on Apps
    • Experience
    • pre-installed downloaded online native website W3C widget hybrid interpreted generated
    • 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.
    • Web Frameworks iWebKit, iUI, jQTouch Sencha Touch 2010 Q4: JQuery mobile framework
    • Sencha Touch MIT License GPL Dual License declarative + JQuery programmatically focus on iPhone aims at cross platform simple complex See also iWebKit, iUI, jQTouch, JQuery Mobile (2010 Q3)
    • development easy effort known technology + processes monetization bad for user experience experience fancy UI possible, but platform specific hardware very limited offline generally possible
    • hybrid apps
    • Request Interception demo
    • MIT License See also QuickConnect, Big5 (discontinued)
    • development as with web effort known technology + processes monetization app stores experience as with web hardware mostly accessible offline as with web
    • interpreted apps
    • – HTML & CSS =
    • Apache 2 License JS programmatically native controls iPhone, iPad, Android BlackBerry (soon)
    • demo
    • MonoTouch Rhodes starts at 399 USD MIT License .net runtime ruby C/S on the device iOS only iPhone, Windows Mobile 6, BlackBerry, Symbian and Android
    • Screen Flow Interpreters The aim of XXX is to screen the programmer completely out from the mobile platform itself, and transfer the entire application logic to central application server level.
    • development heavy API, but only once effort barely any tooling monetization app stores experience native hardware mostly accessible offline native
    • generated apps
    • XMLVM — A CrossCompiler
    • Java (input) public class HelloWorld { static public void main(String[] args) { System.out.println("Hello World"); } }
    • XML (model) <vm:xmlvm xmlns:vm="http://xmlvm.org" xmlns:jvm="http://xmlvm.org/jvm"> <vm:class name="HelloWorld" extends="java.lang.Object"> <vm:method name="main" isPublic="true" isStatic="true" stack="2" locals="1"> <vm:signature> <vm:return type="void" /> <vm:parameter type="java.lang.String[]" /> </vm:signature> <vm:code> <jvm:var name="args" id="0" type="java.lang.String[]" /> <jvm:getstatic class-type="java.lang.System" type="java.io.PrintStream" field="out" /> <jvm:ldc type="java.lang.String" value="Hello World" /> <jvm:invokevirtual class-type="java.io.PrintStream" method="println"> <vm:signature> <vm:return type="void" /> <vm:parameter type="java.lang.String" /> </vm:signature> </jvm:invokevirtual> <jvm:return /> </vm:code> </vm:method> </vm:class> </vm:xmlvm>
    • XSLT (generator) <xsl:template match="jvm:irem"> <xsl:text> _op2.i = _stack[--_sp].i; // Pop operand 1 _op1.i = _stack[--_sp].i; // Pop operand 2 _stack[_sp++].i = _op1.i % _op2.i; // Push remainder </xsl:text> </xsl:template> typedef union { id o; int i; float f; double d; } XMLVMElem;
    • Output + (void) main___java_lang_String_ARRAYTYPE :(NSMutableArray*)n1 { XMLVMElem _stack[2]; XMLVMElem _locals[1]; int _sp = 0; XMLVMElem _op1, _op2, _op3; int _i; for (_i = 0; _i <1; _i++) _locals[_i].o = nil; NSAutoreleasePool* _pool = [[NSAutoreleasePool alloc] init]; _locals[0].o = n1; _op1.o = [java_lang_System _GET_STATIC_java_lang_System_out]; _stack[_sp++].o = _op1.o; _stack[_sp++].o = @"Hello World"; _sp -= 2; [((java_io_PrintStream*) _stack[_sp].o) println___java_lang_String:_stack[_sp + 1].o]; [_pool release]; return; }
    • custom solution «Xpand»
    • own generator for Mobile Apps
    • demo
    • development huge one-time invest effort easy for aimed cases, easy to extend monetization app stores experience native hardware native offline native
    • cross platform ?
    • web hybrid interpreted generated development effort monetization experience hardware offline
    • another perspective
    • native own language own culture own ecosystem field skills promotion: watch avatar - the movie!
    • not-so-native economic objectives establishment “natives are endangered” promotion: watch avatar - the movie
    • twitter @HBehrens blog http://HeikoBehrens.net mail Heiko.Behrens@itemis.de xing http://www.xing.com/profile/Heiko_Behrens linkedin http://www.linkedin.com/in/HeikoBehrens