W&M 2009 – Cross platform development and porting

554 views
494 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
554
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

W&M 2009 – Cross platform development and porting

  1. 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. 2. first steps Limits of Fragmentation Thursday, May 21, 2009
  3. 3. New handsets every month Thursday, May 21, 2009
  4. 4. New handsets every month Thursday, May 21, 2009
  5. 5. New handsets every month Android Symbian Embedded Windows Mobile iPhone Thursday, May 21, 2009
  6. 6. New handsets every month Android Symbian Embedded Windows Mobile iPhone Thursday, May 21, 2009
  7. 7. New handsets every month Flash Lite J2ME Widget Thursday, May 21, 2009
  8. 8. New handsets every month Flash Lite J2ME Widget Thursday, May 21, 2009
  9. 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. 10. Fragmentation in Application Environments Thursday, May 21, 2009
  11. 11. Fragmentation in Application Environments J2ME MIDP 1.0 MIDP 2.0 MIDP 3.0 Thursday, May 21, 2009
  12. 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. 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. 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. 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. 16. Embrace Fragmentation don’t flee from it Usability Differentiate Reach Thursday, May 21, 2009
  17. 17. Embrace Fragmentation but how? Direct Support Least Common Denominator Player Porting Frameworks Thursday, May 21, 2009
  18. 18. Direct Support Best Usability Best Reach But: Most Effort! Thursday, May 21, 2009
  19. 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. 20. Player Player ported to different OS Limited to functionality provided by player Typically similar to Least Common Denominator Thursday, May 21, 2009
  21. 21. Porting Frameworks Client and Build Frameworks Device Database Cross Compiler J2ME Polish Bedrock Xpress Suite Celsius Thursday, May 21, 2009
  22. 22. Porting with J2ME Polish Thursday, May 21, 2009
  23. 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. 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. 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. 26. Thanks! Sögestrasse 70 28195 Bremen Germany robert@enough.de www.enough.de Thursday, May 21, 2009

×