Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lagash Systems Mariano Sánchez – Software

Similar presentations


Presentation on theme: "Lagash Systems Mariano Sánchez – Software"— Presentation transcript:

1 Lagash Systems Mariano Sánchez – Software Architect marianos@lagash.com @marianosz http://weblogs.asp.net/marianos

2 Universal Windows Platform Programando para todos y todas

3 Agenda  Introducing the UWP  Developer experience  Adaptive design & code .NET Native  Bridging technologies

4 Introducing the UWP

5 Easy for users to get & stay current Unified core and app platform The convergence journey… Windows 10 Converged OS kernel Converged app model

6 One Windows Desktop PC 2 in 1 Mobile Tablet Phablet Phone Xbox IoT Band Raspberry Pi Home Automation Surface Hub Holographic HoloLens One Windows Platform

7

8

9 Universal Windows Platform  The refactored Windows common core  One hardware platform  Universal hardware driver  Standard network and I/O Phone Device Xbox Device Desktop Device Windows Core

10 Universal Windows Platform  A single API surface  A guaranteed API surface  The same on all devices Phone Device Xbox Device Desktop Device Windows Core Universal Windows Platform

11 Apps don't target Windows 10, apps target the platform: <TargetPlatform Name="Microsoft.Universal" minVersion="10.0.10069.0" maxVersionTested="10.0.10190.0"/>

12 Universal Windows Platform  Windows App: A single binary  Running on any device  Testing for capabilities  Adjusting to devices Phone Device Xbox Device Desktop Device Windows Core Universal Windows Platform Windows App

13 Universal Windows Platform  Platform extensions for Device-specific API  Family-specific capabilities  Compatible across devices  Unique update cadence  Extensions don't invalidate binaries on other devices Phone Device Xbox Device Desktop Device Windows Core Universal Windows Platform Windows App Phone extension Xbox extension Desktop extension

14 Universal Windows Platform  One Operating System  One Windows core for all devices  One App Platform  Apps run across every family  One Dev Center  Single submission flow and dashboard  One Store  Global reach, local monetization Consumers, Business & Education

15 Developer experience

16 The developer story  When writing for iOS,  A developer writes for iPad & iPhone  When writing for Android,  A developer writes for all supported devices  When writing for Windows 8,  A developer writes for each devices  When writing for Windows 10,  A developer writes for every device

17 Visual Studio IDE  Every project type  Desktop, Windows, Phone, Service, Web, Game, More…  Every developer task  Code edit, Architecture design, UX design, Debug, Profile, Review, Test, More…  Every development language  C++/CX, C#, Visual Basic, JavaScript, XAML, HTML, More…  Visual Studio Online  Source repository, project management, bug tracking, More…  Blend for Visual Studio  The XAML Developer’s IDE

18 Developer unlock

19 Where can I develop?  Windows 10  Requires Visual Studio 2015  Windows 8.1 & Windows Server 2012 R2  The Visual Studio designer does not function  Debugging requires a Windows 10 device or Remote Debugging Tools

20 Supported Programming Languages Visual C# and XAML Visual Basic and XAML Visual C++ and DirectX, DirectX/XAML JavaScript and HTML5

21 Introducing “Template 10”  A new blank template  Includes a few files & empty folders to guide conventions  Similar to the MVC template  Add-on components to solve common problems  Solving for the 90%  The code will solve the 90% use case  Delivering with Windows 10  The template is in GitHub and still under construction  Contribute to Template10 http://aka.ms/template10 

22 Adaptive design & code

23 Adaptive design  Responsive design  Flexible layout responds to small changes  Many controls handle basic responsiveness  Adaptive design  Smart layout adjusts to large changes  Features like visual states aid in this design  Tailored design  A device-specific app can simplify design  Some devices have unique design languages

24 Adaptive design Phone (portrait) Tablet (landscape) / Desktop

25 Tailored design Phone (portrait) Tablet (landscape) / Desktop

26 Adaptive code  A compatible binary across devices  Universal API with device-specific implementation  Light up our app with capabilities  Testing for capabilities and namespaces  The device families you choose determines which APIs you can call freely

27 W 8.1 / WP 8.1 Shared Projects Windows Binary Phone Binary

28 Not all APIs were available everywhere

29 Compilation Directives C# Syntax #if WINDOWS_PHONE_APP Windows.Phone.UI.Input.HardwareButtons.BackPressed += this.HardwareButtons_BackPressed ; #endif C++ Syntax #if WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP _backPressedEventToken = HardwareButtons ::BackPressed += ref new EventHandler (this, &NavigationHelper::HardwareButton_BackPressed); #endif

30 Testing for capabilities IsApiContractPresent IsEnumNamedValuePresent IsEventPresent IsMethodPresent IsPropertyPresent IsReadOnlyPropertyPresent IsTypePresent IsWriteablePropertyPresent Windows.Foundation.Metadata.ApiInformation.

31 Test capabilities at runtime  Use Adaptive Code to light-up your app on specific devices var api = "Windows.Phone.UI.Input.HardwareButtons"; if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(api)) { Windows.Phone.UI.Input.HardwareButtons.CameraPressed += CameraButtonPressed; }

32 demo Hello World!

33 .NET Native

34  Managed languages are more efficient than ever  Next generation compiler in the cloud  Every Windows apps, only Windows app (right now)  Apps use the standard C++ optimizer  As optimizer performance improves, so does.Net native  Apps with.Net bootstrapper  Includes garbage collection

35 .NET Native  There is no runtime  This is machine code  Every Windows app will be compiled with.Net Native

36 Benefits with.NET Native  Up to 60% performance improvement on cold startup times, 40% on warm startup times  Less memory consumption  No dependencies on the.NET Runtime on the system

37 Benefits with.NET Native  Performance benefits associated with native code (think C++ performance)  You can still take advantage of the.NET programming model using C# or VB and the existing tools

38 Bridging technologies

39 Windows 10 operating system Bridging technologies Win32 desktop Web hosted Java Android Obj.C iOS Universal Windows Platform WWA C++ & CX.Net languages HTML DirectX XAML C++.Net languages MFCWFWPF.Net runtime Traditional Microsoft technologies are not the only way to create Windows apps

40 Bridging technologies  Objective-C  iOS code can be reused in a Windows app  Android  Android code can be reused in a Windows app to run on Windows Phone  Web  Websites can be wrapped to run on Windows  Win32  Classic Windows Apps (CWA) can be packaged as an Appx

41 Bridging technologies  Project Islandwood – IOS Bridge  https://dev.windows.com/en-us/uwp-bridges/ios https://dev.windows.com/en-us/uwp-bridges/ios  Project Astoria – Android Bridge  https://dev.windows.com/en-us/uwp-bridges/project-astoria https://dev.windows.com/en-us/uwp-bridges/project-astoria  Project Westminster – Web Bridge  https://dev.windows.com/en-us/uwp-bridges/web-apps https://dev.windows.com/en-us/uwp-bridges/web-apps  Project Centennial – Win32 Bridge  https://projectipreviewsignup.windows.com https://projectipreviewsignup.windows.com

42 Preguntas?

43 Muchas Gracias Mariano Sánchez – Software Architect marianos@lagash.com @marianosz http://weblogs.asp.net/marianos


Download ppt "Lagash Systems Mariano Sánchez – Software"

Similar presentations


Ads by Google