PlatformFrameworkTools Bring your own
End user experience Great apps delivered to the user’s choice of device Development agility to move at mobile speed Developer Experience + + -
Web Native
Full access to client features and power High flexibility and customization per device Device-dependent Device-independent Easier management Constrained device integration and performance Web Native
Black Box
Minimum duplication No customization per device Inefficient bandwidth <meta name="viewport" content="width=device-width" only screen and (max-width: 1024px) and (max-height: 768px) {... }
Maximum flexibility Likely to duplicate code DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone") { ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0) });
Best experience for devices Still not a native app… new
Xcode ADT Visual Studio ✗
Model View Model View Device-specific Portable code References Databinds
.NETC++ JavaScript PERFORMANCE REACH