330 likes | 474 Views
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+.
E N D
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+. • .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.
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.
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?
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
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
Target Browser Not OS Web Site
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
HTML – Write App using Mobile Web • Tools • HTML5 • jQuery Mobile • Sencha Touch • ASP.NET • J2EE
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
MEAP – Write App using Mobile Enterprise Application Platform • Tools • Phone Gap • Dojo • Sencha
MDAP – Write App using Mobile Development Application Platform • Strategies • Tool generating target app • Write app in single language and compile multiple targets
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
MDAP – Write App using Mobile Development Application Platform • Tools • Appcelerator • Embarcadero • Rhomobile • RubyMotion • Unity • Xamarin
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
Xamarin Forms Approach Shared UI Code
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
Pages Content MasterDetail Navigation Tabbed Carousel
Layouts ContentView ScrollView Absolute Relative Grid Stack Frame
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
.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
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.)
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