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

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

on

  • 15,515 views

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/

Statistics

Views

Total Views
15,515
Views on SlideShare
15,291
Embed Views
224

Actions

Likes
4
Downloads
336
Comments
3

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
More...

Accessibility

Categories

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
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