1 / 33

.NET Cross Platform Development Strategy for Mobile , Cloud and Desktop Apps

Rabi Satter, Practice Lead – Netrix LLC. .NET Cross Platform Development Strategy for Mobile , Cloud and Desktop Apps. Who is Rabi Satter. Developer – programming almost his whole life. Wrote first programs at 15 on TRS-80 M2 and Apple II+.

gareth
Download Presentation

.NET Cross Platform Development Strategy for Mobile , Cloud and Desktop Apps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rabi Satter, Practice Lead – Netrix LLC .NET Cross Platform Development Strategy for Mobile, Cloud and Desktop Apps

  2. Who is Rabi Satter • Developer – programming almost his whole life. Wrote first programs at 15 on TRS-80 M2 and Apple II+. • .NET Developer – Worked for MS on .NET and Azure. • Key player in release of .NET 4. First person to get .NET 4 and VS2010 working on Windows 7. .NET 4 is one of the widest installed programs with over a billion installations. • Open Sourced Azure SDKs, ASP.NET, Entity Framework. Created process for all OSS projects to follow for Scott Guthrie. • Author – Magazines in the 90’s and blogging (www.satter.org) in the new millennium. First article on drawing circles on an Apple rejected by Byte. First blog was one home automation for developers. • Speaker/Teacher – Frequent speaker on technology. Speaking coach #1 advice to me is stop teaching. First speaking gig was done as a lark on Polymorphic Programming with Cognos Powerhouse in early 90’s.

  3. Who cares about Cross Platform? • For most developers cross platform was just talk. • Prior to 2010 70+% of all computers ran a version of Windows. • MS was very good on backwards compatibility. • XP was kept alive by .NET • Picking Windows or Internet Explorer was a no brainer. Or more correctly WinForms/WPF or Internet Explorer was a no brainer.

  4. Who cares about Cross Platform? • 2013 App Economy was 68 billion USD according to DeveloperEconomics.com or roughly 10 USD per person • 2016 estimated App Economy will be 143 billion USD according to DeveloperEconomics.com or roughly 20 USD per person • Problem is that there is no OS monoply. What is a developer to do?

  5. No you can’t just target Android! • Android dominates the phone market 81% shipping in Q3 2013 vs 13% iOS • iOS dominates the tablet market 52% primary target is iPad only 28% primary target is Android • Most devs (60%) make less than 500 USD per month per app • iOSdevs make 500-1000 USD per month per app vs. Android devs make 100-200 USD per month per app • WP devs make < 50 USD per month per app • In 2013 Contracting brought in 38 billion USD representing 56% of app economy

  6. Cross Platform Strategies

  7. Silo Approach

  8. Silo – Write App on every Target Benefits Negatives Minimal re-use mostly on back end Web API Higher development cost from multiple teams (silo teams) or expensive multi-device developers Multiple codebases to maintain and extend One platform rules the others are subservient • Full native experience • Total access to the device as provided by SDK • Share Web API

  9. Target Browser Not OS Web Site

  10. HTML – Write App using Mobile Web Benefits Negatives User experience tends to be webish and not native Need to still test and debug multiple targets Features tend to be a subset common to all targets • Provide consist experience regardless of target • Cheap as it is just HTML • Single codebase to maintain and extend • No need for revenue sharing as no need to be in app stores

  11. HTML – Write App using Mobile Web • Tools • HTML5 • jQuery Mobile • Sencha Touch • ASP.NET • J2EE

  12. Target Developer Platform

  13. MEAP – Write App using Mobile Enterprise Application Platform Benefits Negatives User experience tends to be webish and not native Need to still test and debug multiple targets even when MEAP only thing updated Features tend to be a subset common to all targets Vendor risk and lock in • Provide consist experience regardless of target • Cheaper as App is developed once for all targets • Single codebase to maintain and extend • Apps can be in app store if needed

  14. MEAP – Write App using Mobile Enterprise Application Platform • Tools • Phone Gap • Dojo • Sencha

  15. MDAP – Write App using Mobile Development Application Platform • Strategies • Tool generating target app • Write app in single language and compile multiple targets

  16. MDAP – Write App using Mobile Development Application Platform Benefits Negatives Need to still test and debug multiple targets even when MEAP only thing updated Features tend to be a subset common to all targets Vendor risk and lock in May have to wait on new targets • Provide consist experience regardless of target • Single codebase to maintain and extend • Hit a lot of targets at once

  17. MDAP – Write App using Mobile Development Application Platform • Tools • Appcelerator • Embarcadero • Rhomobile • RubyMotion • Unity • Xamarin

  18. Going Cross Platform using .NET

  19. Xamarin Approach

  20. Demos

  21. Xamarin Benefits Negatives Need to still test and debug multiple targets even when MEAP only thing updated Multiple codebase for UI No sharing of UI Vendor risk and lock in although Xamarin is a strategic partner for MS May have to wait on new targets like Android • Re-use .NET skills • Leverage existing .NET technology • JSON.NET • OAUTH.NET • SignalR • High code re-use 80+% • Tailor UI/UX to target

  22. Xamarin Forms Approach Shared UI Code

  23. Xamarin + Xamarin.Forms Quickly and easily build native user interfaces using shared code Xamarin.Forms elements map to native controls and behaviors Mix-and-match Xamarin.Forms with native APIs Shared UI Code

  24. Pages Content MasterDetail Navigation Tabbed Carousel

  25. Layouts ContentView ScrollView Absolute Relative Grid Stack Frame

  26. Controls ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell

  27. Demos

  28. .NET as a MDAP • Visual Studio as development environment • Xamarin to reach non-MS platforms • Xamarin.Forms to share UI on iOS, Android, and Windows Phone • Azure Mobile Services • Security • Data Services • Notification • TFS • Xamarin Test Cloud

  29. Key Take Aways • Strategies • Silo – Pure Native • Mobile Web – Web Apps • MDAP – Target a Dev Tool • Cross Platform is not theory or option. It is the new reality. • .NET is a viable platform using MS on MS tech and Xamarin to reach non-MS tech (iOS, Android, Mac, Linux, Google Glass, etc.)

  30. Key Attendees

  31. Resources • Xamarin.com – Xamarin have 30 day free trial • Xamarin.com/shirt – Order your free C# shirt • Satter.org– my blog • DeveloperEconomics.com – Research on developer economics • RobTiffany.com – Microsoft MEAP • OS Share - http://www.businessinsider.com/windows-monopoly-is-getting-destroyed-2013-7

More Related