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

  • Upload
    gareth

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

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+. - PowerPoint PPT Presentation

Citation preview

Page 1: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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

Rabi Satter, Practice Lead – Netrix LLC

Page 2: 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.

Page 3: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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.

Page 4: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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?

Page 5: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps
Page 6: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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• iOS devs 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

Page 7: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Cross Platform Strategies

Page 8: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Silo Approach

Page 9: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Silo – Write App on every Target

Benefits• Full native experience• Total access to the device

as provided by SDK• Share Web API

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

Page 10: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Target Browser Not OS

Web Site

Page 11: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

HTML – Write App using Mobile Web

Benefits• 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

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

Page 12: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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

Page 13: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Target Developer Platform

Page 14: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

MEAP – Write App using Mobile Enterprise Application Platform

Benefits• 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

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

Page 15: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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

Page 16: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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

Page 17: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

MDAP – Write App using Mobile Development Application Platform

Benefits• Provide consist

experience regardless of target• Single codebase to

maintain and extend• Hit a lot of targets at

once

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

Page 18: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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

Page 19: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Going Cross Platform using .NET

Page 20: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Xamarin Approach

Page 21: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Demos

Page 22: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

XamarinBenefits• Re-use .NET skills• Leverage existing .NET

technology• JSON.NET• OAUTH.NET• SignalR

• High code re-use 80+%• Tailor UI/UX to target

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

Page 23: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Xamarin Forms Approach

Shared UI Code

Page 24: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Xamarin + Xamarin.FormsQuickly 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

Page 25: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Pages

Content MasterDetail Navigation Tabbed Carousel

Page 26: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Layouts

Stack Absolute Relative Grid ContentView ScrollView Frame

Page 27: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

ControlsActivityIndicat

or BoxView Button DatePicker Editor

Entry Image Label ListView Map

OpenGLView Picker ProgressBar SearchBar Slider

Stepper TableView TimePicker WebView EntryCell

ImageCell SwitchCell TextCell ViewCell

Page 28: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Demos

Page 29: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

.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

Page 30: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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.)

Page 31: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps
Page 32: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

Key Attendees

Page 33: NET   Cross  Platform  Development   Strategy  for  Mobile , Cloud   and  Desktop   Apps

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