Download presentation
Presentation is loading. Please wait.
Published byAldous Nash Modified over 9 years ago
1
Alejandro Campos Magencio MS Technical Evangelist @alejacma Extreme Code Sharing with C# Y A XB
4
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
5
C# + XIB C# + XML C# + XAML Native UI Optional Remote Services (ASP.NET Web API or any server technology)
7
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET 4.5.1 C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
8
Type Inference Language-level Async GenericsCollections Lambda Expressions LINQ
9
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET 4.5.1 C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
10
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET 4.5.1 C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
11
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET 4.5.1 C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
12
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET 4.5.1 C# 5.0.NET 4.5 C# 5.0 Platform specific UI WinRT XAML Platform specific UI Universal Apps
13
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
14
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
15
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET 4.5.1 C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
16
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET 4.5.1 C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
17
Win 8.1WP8.1WP8 Xamarin (~.NET 4.5, C# 5.0) WinRT API WinPRT /.NET API for WP Android API iOS API.NET 4.5.1 C# 5.0.NET 4.5 C# 5.0 WP Silverlight XAML WinRT XAML XML XIB / Storyboard Universal Apps
18
#if WINDOWS_PHONE // Windows Phone specific code #elif __IOS__ // iOS specific code #else // Android specific code #endif Shared Project / Linked File
19
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
21
Notifications Data Bindings Commands Presentation Logic Business Logic and Data UI Logic (Code Behind ) UI
24
Windows 8.1
25
Windows Phone 8.1AndroidWindows Phone 8.0
26
Windows 8.1 WP8.1 WP8
27
View-Model Windows 8.1 WP8.1 WP8
28
View-Model Windows 8.1 WP8.1 WP8 XAML Code Behind XAML Code Behind Custom Renderers Controls XAML + Code Behind App Service Locator
29
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
30
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
31
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
32
Azure Mobile Services
33
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
34
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
35
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
36
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
37
Alejandro Campos Magencio MS Technical Evangelist @alejacma ¡¡¡Si te ha gustado no olvides rellenar la encuesta!!! Thanks Y A XB
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.