Presentation is loading. Please wait.

Presentation is loading. Please wait.

Alejandro Campos Magencio MS Technical Extreme Code Sharing with C# Y A XB.

Similar presentations


Presentation on theme: "Alejandro Campos Magencio MS Technical Extreme Code Sharing with C# Y A XB."— Presentation transcript:

1 Alejandro Campos Magencio MS Technical Evangelist @alejacma Extreme Code Sharing with C# Y A XB

2

3

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)

6

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

20

21 Notifications Data Bindings Commands Presentation Logic Business Logic and Data UI Logic (Code Behind ) UI

22

23

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


Download ppt "Alejandro Campos Magencio MS Technical Extreme Code Sharing with C# Y A XB."

Similar presentations


Ads by Google