Your SlideShare is downloading. ×
Cross platform mobile developement   introduction
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Cross platform mobile developement introduction

1,416
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,416
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
51
Comments
0
Likes
1
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
  • De term Native wordt op verschilendemanierengeinterpreteerd. Op diverse OS-en hebben we eenbepaaldebetekenis, meestaleenverwijzingnaareen C of C++ achtigetaal.
  • Rhodes – rhomobile ; Ruby + HTML; MVC architectuur met extra framework zakenvoor sync en ORMAntenna: Appcellerator: pure javascriptoplossing met cross platform API. Wel: native UI bindings. Interpreted door meegedeployde interpreter
  • C/C++??? – NOG UITZOEKENGame developers: gemakkelijkom code teportenOpenGLWelkortnoemen, maar niet op sheetMono verhaalietsuitbouwen.
  • Transcript

    • 1. Cross Platform Mobile marcelv@infosupport.com Development - @marcelv IntroductionWhat strategy works best for my apps? #ISMOBILE
    • 2. Agenda Mobile space – Market shares – Research predictions Building mobile apps – What are my options? – What is native app development? – Hybrid solution with Mono What strategy works best for my app? Cross Platform Mobile Development - Introduction
    • 3. Market research # of mobile devices sold now exceeds # of PC’s! Cross Platform Mobile Development - Introduction
    • 4. Market research In a few years the number of mobile devices will dwarf the number of PC’s Cross Platform Mobile Development - Introduction
    • 5. Market Shares Right now it is a two horse race Cross Platform Mobile Development - Introduction
    • 6. Market shares The game is not over, there is still a big market to gain! Cross Platform Mobile Development - Introduction
    • 7. Smart Phone OS predictions Others OthersOthers 4% 2010 4% 2011 3% 2015 Android Window Window Window 23% s Phone Android s Phone s Phone Android 6% 39% 20% 4% 49% Symbia n Symbia Symbia 19% n n 0% iOS 37% iOS 17% iOS BlackBe 19% 16% rry 13% BlackBe BlackBe rry 13% rry 13% Source: Gartner (http://www.gartner.com/it/page.jsp?id=1622614) Cross Platform Mobile Development - Introduction
    • 8. Tablet Market shares predictions 2011 Others 2012 Android Others 2015 Others Android Window 7% 22% 9% Android 10% 17% s Window 35% 0% s 4% iOS iOS iOS 45% 73% 67% Window s 11%Source: Gartner(http://www.gartner.com/it/page.jsp?id=1800514) Cross Platform Mobile Development - Introduction
    • 9. Cross Platform Mobile Development - Introduction
    • 10. Building apps for the Mobile Space User Distribution:Experience Developer Public or productivity private Corporate? Security & privacy Which platforms ? Application Lifecycle Management Cross Platform Mobile Development - Introduction
    • 11. User interface design Graphical design – How does the app look? Interaction design – How do I create an effective and efficient user interface? – How do I create a natural experience that people understand without training? Cross Platform Mobile Development - Introduction
    • 12. User Experience Emotion Sense Sometimes almost a religion! Must closely match the native device experience! Cross Platform Mobile Development - Introduction
    • 13. Touch interface Cross Platform Mobile Development - Introduction
    • 14. How target size influences error rateUSABILITY RESEARCH 1/25 1/100 1/1000
    • 15. Use touch target size Recommended size – 7x7mm Optimized for accuracy – 9x9mm Microsoft: 9x9mm Apple HIG: 44x44px Optimized for small size – 5x5mm Each target has 2mm padding
    • 16. Application types Cross Platform Mobile Development - Introduction
    • 17. HTML 5 mobile websites Runs from the web Maximum reach No native user interface Optional shortcut on the device with offline support Cross Platform Mobile Development - Introduction
    • 18. HTML5 mobile apps Can be purchased from AppStore Installed on the device Network connection not required to run No native user interface Cross Platform Mobile Development - Introduction
    • 19. Native mobile apps Can be purchased from AppStore Installed on the device Network connection not required to run Native interface Maximum richness Cross Platform Mobile Development - Introduction
    • 20. Native mobile apps Different development environments – Java for Android – Objective-C for iPhone – XAML/C# for Windows Phone Cross Platform Mobile Development - Introduction
    • 21. Application typesNative look & feel -- -- ++Camera Access -- +- ++GPS ++ ++ ++Secure service communication JSON/REST JSON/REST JSON/SOAPAccess to calendar -- -- ++Twitter integration +- +- +Distribution ++ AppStore presence AppStore presence Cross Platform Mobile Development - Introduction
    • 22. Building native apps, the options C / C++ Different CPU architectures Objective-C C# / Silverlight C / C++ 3+ Cross Platform Mobile Development - Introduction
    • 23. Building native apps, the options Really? Write an app for each device? I need to master Objective C, Java and C#? Any alternatives? Cross Platform Mobile Development - Introduction
    • 24. 3 types WP7 Xamarin Silverlight MonoTouch Xamarin Mono for Android Appcelerator Adobe AIR Titanium WP7 ActionScript JavaScript > Native XCode SilverlightObjective- C# C Rhodes Ruby + HTML Service2Media Lua C# Android SDK Java Antenna Rapid Sybase Unwired App Logic Scripting “4GL” code gen Language Shared Kony PhoneGap language Javascript HTML5 / CSS / Lua JS Vendor tools “Magic Box” Hybrid Cross Platform Mobile Development - Introduction
    • 25. What is the meaning of “native”?Native = use the frameworks and librariesof the OS, regardless of the language ortoolsNative = User experience 100% alignedwith default OS device experience + Leveraging all device capabilities Cross Platform Mobile Development - Introduction
    • 26. Hybrid - .NET Multi platform Mono for MonoTouch C# / Silverlight Android• Wrappers on OS framework/API• .NET feel: properties, events, LINQ, PLINQ, XML, WCF, etc.• App & UX 100% native! Cross Platform Mobile Development - Introduction
    • 27. Cross Platform Mobile Development - Introduction
    • 28. Perceived performanceYes there is overheadNative-to-Managed causes overheadMono has a garbage collectorCPU-intensive: use LLVM compilerBut it’s no problemMost of us don’t build real time 3D gfxMake the app feel fastKeep download size smallCut startup time by offloading tasks ASAPUse background tasks & activity indicators
    • 29. Even game developers choose Mono! Cross Platform Mobile Development - Introduction
    • 30. You can access all device capabilities! For each platform there is a set of namespaces that enable full device access iOS Android: Windows Phone: MonoTouch.CoreLocation Android.Hardware.Sens Microsoft.Devices.Sensors.Gyroscope MonoTouch.CoreMotion or Microsoft.Devices.Sensors.Acceleromet MonoTouch.AVFoundation Android.Location er MonoTouch.AddressBook Android.Bluetooth Microsoft.Devices.Sensors.Compass MonoTouch.EventKit Android.Nfc Microsoft.Devices.Sensors.Motion … … …
    • 31. Code sharing ISKE app Android Reusable Per App 16% Specifi 20% WP7 c 12% 35% Share iOS Shared d 18% app logic 65% Window 20% s8 14% ...and that’s without the back end
    • 32. What strategy works best for my app? Business reasons for your app – Presence – I really want to add value to my product / brand The tradeoff’s – Always Connected • HTML, Native – Occasionally connected • Disconnected HTML, Native – What device capabilities do you need? • GPS => HTML still an option • Phone book, dial integration, Accelerator, compass, etc – HTML + Magic box can be used – Native Cross Platform Mobile Development - Introduction
    • 33. What strategy works best for my app? So I choose for HTML – Will I pick pure HTML or use magic box – Magic box adds capabilities to access device sensors So I choose Native – Will I pick a new development strategy for each device? – Will I use one uniform platform and programming language • Code sharing capability up until 70-80%! – Bottom line: Native != 3 stacks Cross Platform Mobile Development - Introduction
    • 34. Call to action Revisit your app development strategy What are the reasons I choose my current implementation strategy Consider going native, since native provides the best experience – But don’t accept vendor multi stack as the only solution If going native consider the use of Mono – Provides all capabilities you have with vendor tools – Adds code sharing capability and will reduce development cost significantly! Cross Platform Mobile Development - Introduction
    • 35. Questions? Cross Platform Mobile Development - Introduction