Alejandro Campos Magencio MS Technical Extreme Code Sharing with C# Y A XB
Objective C + XIB Java + XML C# + XAML Native UI Optional Remote Services (ASP.NET Web API or any server technology) Visual StudioEclipse Xcode Native UI JS + HTML
C# + XIB C# + XML C# + XAML Native UI Optional Remote Services (ASP.NET Web API or any server technology)
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
Type Inference Language-level Async GenericsCollections Lambda Expressions LINQ
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET C# 5.0.NET 4.5 C# 5.0 Platform specific UI WinRT XAML Platform specific UI Universal Apps
public abstract class MyBaseClass { public void CommonMethod() { // Common code } public abstract void PlatformSpecificMethod(); } public class MyPlatformClass : MyBaseClass { public override void PlatformSpecificMethod() { // Platform specific code } PCL Platform Project
public interface IPlatformCode { void PlatformSpecificMethod(); } public class MyClass { private IPlatformCode platformCode; public MyClass(IPlatformCode platformCode) { this.platformCode = platformCode; } public void CommonMethod() { // Common code } public void PlatformSpecificMethod() { platformCode.PlatformSpecificMethod(); } public class MyPlatformClass : IPlatformCode { public void PlatformSpecificMethod() { // Platform specific code } MyClass myClass = new MyClass(new MyPlatformClass()); PCLPlatform Project
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
#if WINDOWS_PHONE // Windows Phone specific code #elif __IOS__ // iOS specific code #else // Android specific code #endif Shared Project / Linked File
public partial class MyClass { public void CommonMethod() { // Common code } public partial class MyClass { public void PlatformSpecificMethod() { // Platform specific code } Shared Project / Linked File Platform Project
Notifications Data Bindings Commands Presentation Logic Business Logic and Data UI Logic (Code Behind ) UI
Windows 8.1
Windows Phone 8.1AndroidWindows Phone 8.0
Windows 8.1 WP8.1 WP8
View-Model Windows 8.1 WP8.1 WP8
View-Model Windows 8.1 WP8.1 WP8 XAML Code Behind XAML Code Behind Custom Renderers Controls XAML + Code Behind App Service Locator
View-Model Windows 8.1 WP8.1 WP8 Service Abstractions Navigation Service Service Locator App XAML Code Behind XAML Code Behind Custom Renderers Controls XAML + Code Behind
Windows 8.1 WP8.1 WP8 Service Abstractions Navigation Service Service Locator App Entities Repositories Factories Data Context Abstractions API Clients Data Contexts Configuration Data Contexts View-Model XAML Code Behind XAML Code Behind Custom Renderers Controls XAML + Code Behind
Windows 8.1 WP8.1 WP8 SQLite.NET PCL – WinRT Platform SQLite for Windows Runtime (Windows 8.1) SQLite.NET PCL – WinRT Platform SQLite for Windows Phone 8.1 SQLite.NET PCL – WindowsPhone8 Platform SQLite for Windows Phone SQLite.NET PCL – XamarinAndroid Platform SQLite.NET PCL From NuGetFrom GitHubFrom VS Gallery
Azure Mobile Services
Windows 8.1 WP8.1 WP8 Service Abstractions Navigation Service Service Locator App Entities Repositories Factories Data Context Abstractions API Clients Data Contexts Configuration Data Contexts Azure Mobile Services Push View-Model XAML Code Behind XAML Code Behind Custom Renderers Controls XAML + Code Behind
Windows 8.1 WP8.1 WP8 SQLite for Windows Runtime (Windows 8.1) SQLite for Windows Phone 8.1 SQLite for Windows Phone Azure Mobile Services From NuGetFrom XamarinFrom VS Gallery
View-Model Windows 8.1 WP8.1 WP8 Azure Mobile Services Entities Repositories Factories Data Context Abstractions API Clients Data Contexts Push Data Contexts Push Configuration Push Service Abstractions Navigation Service Service Locator App XAML Code Behind XAML Code Behind Custom Renderers Controls XAML + Code Behind
View-Model Windows 8.1 WP8.1 WP8 Azure Mobile Services View Model View Model Push View Model Push Services Service Locator App Model View
Alejandro Campos Magencio MS Technical ¡¡¡Si te ha gustado no olvides rellenar la encuesta!!! Thanks Y A XB