• Like
  • Save

Thanks for flagging this SlideShare!

Oops! An error has occurred.

W&M 2009 – Cross platform development and porting

  • 376 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
376
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Cross Platform Development and Porting overcoming the device fragmentation barrier Robert Virkus CEO Enough Software Wireless and Mobile 09 Thursday, May 21, 2009
  • 2. first steps Limits of Fragmentation Thursday, May 21, 2009
  • 3. New handsets every month Thursday, May 21, 2009
  • 4. New handsets every month Thursday, May 21, 2009
  • 5. New handsets every month Android Symbian Embedded Windows Mobile iPhone Thursday, May 21, 2009
  • 6. New handsets every month Android Symbian Embedded Windows Mobile iPhone Thursday, May 21, 2009
  • 7. New handsets every month Flash Lite J2ME Widget Thursday, May 21, 2009
  • 8. New handsets every month Flash Lite J2ME Widget Thursday, May 21, 2009
  • 9. Fragmentation: different aspects Hardware Screen Resolution Network Interaction Keyboard Sensors Operating Systems Embedded Symbian Windows Mobile Android OS X Web OS Application Environments J2ME Flash Web Native Widget Thursday, May 21, 2009
  • 10. Fragmentation in Application Environments Thursday, May 21, 2009
  • 11. Fragmentation in Application Environments J2ME MIDP 1.0 MIDP 2.0 MIDP 3.0 Thursday, May 21, 2009
  • 12. Fragmentation in Application Environments J2ME Flash Lite MIDP 1.0 FL 2.1 MIDP 2.0 FL 3.0 MIDP 3.0 Capuchin Thursday, May 21, 2009
  • 13. Fragmentation in Application Environments J2ME Flash Lite MIDP 1.0 FL 2.1 MIDP 2.0 FL 3.0 MIDP 3.0 Capuchin Native Symbian Windows Mob. Android OS X BlackBerry Thursday, May 21, 2009
  • 14. Fragmentation in Application Environments J2ME Flash Lite MIDP 1.0 FL 2.1 MIDP 2.0 FL 3.0 MIDP 3.0 Capuchin Native Widget Symbian Nokia Widsets Windows Mob. Yahoo Go Android Star Mobi OS X Vodafone Apps BlackBerry Thursday, May 21, 2009
  • 15. Fragmentation in Application Environments J2ME Flash Lite MIDP 1.0 FL 2.1 MIDP 2.0 FL 3.0 MIDP 3.0 Capuchin Native Widget Web Symbian Nokia Widsets WebKit Windows Mob. Yahoo Go IE Mobile Android Star Mobi Opera / Mini OS X Vodafone Apps NetFront BlackBerry Fennec Thursday, May 21, 2009
  • 16. Embrace Fragmentation don’t flee from it Usability Differentiate Reach Thursday, May 21, 2009
  • 17. Embrace Fragmentation but how? Direct Support Least Common Denominator Player Porting Frameworks Thursday, May 21, 2009
  • 18. Direct Support Best Usability Best Reach But: Most Effort! Thursday, May 21, 2009
  • 19. Least Common Denominator Only use functions supported everywhere Java: MIDP 1.0 and CLDC 1.0 Web: no JavaScript, no CSS Thursday, May 21, 2009
  • 20. Player Player ported to different OS Limited to functionality provided by player Typically similar to Least Common Denominator Thursday, May 21, 2009
  • 21. Porting Frameworks Client and Build Frameworks Device Database Cross Compiler J2ME Polish Bedrock Xpress Suite Celsius Thursday, May 21, 2009
  • 22. Porting with J2ME Polish Thursday, May 21, 2009
  • 23. Porting Java Code Client and Build Frameworks Device Database Cross Compiler J2ME Polish DECLARE_OBJ_INIT(java_lang_String*, tmpAppler1, nil); _DECLARE_OBJ_INIT(javax_microedition_lcdui_Form*, form, (javax_microedition_lcdui_Form*) [(javax_microedition_lcdui_Form*) Form form = new Form("Hello World"); [javax_microedition_lcdui_Form alloc] form.append("Welcome!"); initWithJava_lang_String: [java_lang_String form.addCommand( this.cmdExit ); java_lang_StringWithNSString: @"Hello World"]]); form.setCommandListener( this ); [form appendWithJava_lang_String: (tmpAppler1 = this.display.setCurrent( form ); [java_lang_String java_lang_StringWithNSString: @"Welcome!"])]; [form addCommandWithJavax_microedition_lcdui_Command: self->cmdExit]; [form setCommandListenerWithJavax_microedition_lcdui_CommandListen er: self]; [self->display setCurrentWithJavax_microedition_lcdui_Displayable: form]; _RELEASE_OBJ(tmpAppler1); _RELEASE_OBJ(form); Thursday, May 21, 2009
  • 24. Rich APIs UI Persistence Server Client Communication Multimedia Localisation J2ME Polish Time to market Overcome Java fragmentation Improve Cross Compiler Efficiency Thursday, May 21, 2009
  • 25. Future of Fragmentation will it ever go away? www.theshortanswer.com One platform? One programming model? One app store? Thursday, May 21, 2009
  • 26. Thanks! Sögestrasse 70 28195 Bremen Germany robert@enough.de www.enough.de Thursday, May 21, 2009