Windows 8, Windows Phone 8 und überhaupt...

942 views

Published on

Slides from the Usergroup Tour

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
942
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Windows 8, Windows Phone 8 und überhaupt...

  1. 1. Dariusz ParysDaniel MeixnerWindows 8Windows Phone 8...und überhaupthttp://bit.ly/myWindowsApphttp://bit.ly/myCloudhttp://bit.ly/myTools#UGWindows
  2. 2. Agenda• Wo stehen wir?• W8 App Dev Basics• Vote!• W8 Runtime Environment• WP8 new Features• W8/WP8 Cross Platform Development• .Net App Development & WinRT• App Backend (WAMS)• Windows App Deployment & Store• Dauerbrenner• Q&A
  3. 3. Wo stehen wir?
  4. 4. InputKeyboard MousePen Voice GestureEyeFaceTouch
  5. 5. Windows 8 and Windows Phone 8
  6. 6. W8 App Dev Basics
  7. 7. 1700+ Devices3 Types of ApplicationsOne CoreWindows StoreWP8 Desktop
  8. 8. Wann ist ne App ne App?• Purpose• Runtime Environment• Deployment via Store
  9. 9. Programmiermodell Windows 8
  10. 10. Programmiermodell Windows Phone 8.NET API forWindowsPhoneWindowsPhoneRuntimeWin32 &COMManaged NativeWP7.1 XAML & C#/VBWP8.0 XAML & C#/VBWP8.0 Games DirectX/Direct 3D & C++WP7.1 XNA & C#/VBWP8.0 XAML & C#/VB with Direct3D Graphics+ C+++ C++
  11. 11. • W8 Runtime Environment & PLM• WP8 new Features• W8/WP8 Cross Platform Development• .Net App Development & WinRT• App Backend (WAMS)• DauerbrennerVOTE!!!
  12. 12. Tile Templates and Tile Sizes•Windows Phone 8 supports three Tiletemplates• Flip – flips from front to back (similar to theWP 7.1 Tile template)• Iconic – clean iconic layout designed to reflectWindows Phone design principles• Cycle – cycles through up to nine images16
  13. 13. • You can register your app as a lock screenprovider, which enables:• User can select your app to showdetailed status on the lock screen• Can select your app as one of the fiveapps to show quick status (icon andcount)• Can select your app as the lock screenbackground image provider4/10/201317Lock Screen on Windows Phone 8
  14. 14. • Launchers are APIs that help a user perform common tasks• Invoke part of the phones’ built-in capabilities to perform tasks such as• Take a photo• Add a contact• Send an email or SMS message• Etc…• New Launchers in Windows Phone 8:• SaveAppointmentTask• ShareMediaTask• MapDownloaderTask• MapUpdaterTask• MapsTask• MapsDirectionsTaskNew Launchers4/10/2013Microsoft confidential18
  15. 15. • Windows Phone 8 has new Maps controls• Bing Maps control from Windows Phone OS 7.1 is still supported, but deprecated• The new Maps controls use technology supplied by Nokia• New features:• Vector-based for faster rendering• Four cartographic map modes• Light and dark color modes• Display landmark and pedestrian featuresMaps4/10/2013Microsoft confidential19
  16. 16. • New Location API in the Windows Phone Runtime API set• Similar to Windows 8 Location API• Windows Phone OS 7.1 .NET Location API still supported• Background location-tracking apps• Run continuously in the background when the usernavigates away from the app• Enables scenarios such as Run Trackers, turn-by-turnnavigationLocation and Location Tracking4/10/2013Microsoft confidential20
  17. 17. • Windows Phone 8 allows you to enable users torobustly interact with your app using their voice• Two types of voice interaction are new:• Voice Commands - Allows users to deep-link into yourapp by holding down the Start button and speaking aprefix you specify for your app, followed by a commandthat you define.• Speech Recognition and Text-to-Speech APIs - Whilein the context of your app, allow users to provide inputusing their voice, and readout text to users via text-to-speechSpeech4/10/2013Microsoft confidential21
  18. 18. WalletCredit & Debit CardsLoyalty & Membership CardsAccess Saved DealsSupports NFC ‘Tap to Pay’
  19. 19. • LongListSelector• Flat lists• Grouped lists – with headers• Jump List• Formerly in the Silverlight Toolkit• Pivot and Panorama now in ROM• WebBrowser control now based onInternet Explorer 10UI ControlsNew Controls in Windows Phone 8 SDK
  20. 20. • Incoming VoIP calls work like any other call• Integrates with built-in phone features• VoIP apps continue to run in the background• Available to all developersVoIP and Video Chat
  21. 21. • Create apps that communicate with other phones using Bluetooth technology• Bluetooth API enables the following scenarios for Windows Phone 8:• App-to-app communication• App-to-device communication• Proximity API enables:• App-to-app connection using Bluetooth technology• Establish a Wi-Fi, Bluetooth, or Wi-Fi Direct connection between your app and an instance of yourapp on a proximate device• Send data between devices using NFC.• Use a phone to interact with NFC tagsBluetooth and NFC4/10/2013Microsoft confidential28
  22. 22. Better Sharing with NFC
  23. 23. • Apps can use theMicrosoft.Phone.Storage API to readfiles from an SD card• User can also use SD card to extenddevice storage for their personal filesand media• Store photos, music, videos• Can install apps from a MicroSD storeStorage – Read from SD Card4/10/2013Microsoft confidential31MicroSD Support
  24. 24. • Create a set of contacts owned exclusively by the app, though visible through the phonesbuilt-in Contacts app• APIs are provided to create, update, delete, and query the app’s contacts• Sync the app’s contact list with a remote list maintained by the app’s cloud serviceCustom Contact Store4/10/2013Microsoft confidential32
  25. 25. • App can register a File Association• Automatically launch your app when a file of the registered type isreceived as an email attachment or opened in the browser, or throughSharepoint• One app can launch another by sending it a file of the registered type• App can register a protocol• Allows your app to automatically launch when another app ‘opens’ aspecial URI• Protocol is the first part of a URI, e.g.myprotocol:/ShowProducts?CategoryID=aea6ae1f• App launches another and passes it data in the remainder of thelaunch URIFile and Protocol AssociationsEnables App to App Communication4/10/2013Microsoft confidential33
  26. 26. Company Hub
  27. 27. • Managed Apps are NGEN’d for you (compiled to native) in the Windows Phone Store inWindows Phone 8, so typically start and run faster • When you build your app in Visual Studio, the code is not compiled into a native image,but into a machine-independent Common Intermediate Language (CIL) binary file(formerly known as Microsoft Intermediate Language, or MSIL)• When you submit your app to the Windows Phone Store, you submit the CIL file• On submission, CIL file is converted to optimized Machine Dependent IntermediateLanguage, or MDIL• When a user downloads your app to a device, it is pre-jitted to a native image•Windows Phone 8 Apps Run Faster 4/10/2013Microsoft confidential35
  28. 28. • In general, the Windows Phone appplatform enables apps that targetWindows Phone OS 7.1 to run withoutmodification or recompilation onWindows Phone 8• Same APIs may exhibit slightly differentbehaviour in WP 8.0 compared to WP7.1• Feature improvements orbehaviour changesWindows Phone OS 7.1 Apps on Windows Phone 84/10/2013Microsoft confidential36WP OS7.1appWP 8.0Runtime/LibrariesNo recompilationWPOS7.1app
  29. 29. • Instead of breaking WP 7.1 appsrunning with the WP 8.0 runtime, quirksmode is applied to retain WP 7.1behaviour• Apps that are upgraded to WP 8.0 andrecompiled run on the phone withoutquirks mode being appliedWindows Phone OS 7.1 Apps on Windows Phone 84/10/2013Microsoft confidential37WP OS7.1appWP 8.0Runtime/LibrariesNo recompilationWPOS7.1app+QuirksWP OS8.0appWPOS8.0app
  30. 30. Apps do not get notified whenthey are getting terminated
  31. 31. Scenario You should….
  32. 32. demo
  33. 33. demo
  34. 34. http://blogs.msdn.com/b/b8/archive/2012/04/19/managing-quot-byo-quot-pcs-in-the-enterprise-including-woa.aspx
  35. 35. Programmiermodell Windows 8
  36. 36. Programmiermodell Windows Phone 8.NET API forWindowsPhoneWindowsPhoneRuntimeWin32 &COMManaged NativeWP7.1 XAML & C#/VBWP8.0 XAML & C#/VBWP8.0 Games DirectX/Direct 3D & C++WP7.1 XNA & C#/VBWP8.0 XAML & C#/VB with Direct3D Graphics+ C+++ C++
  37. 37. demo
  38. 38. DllImport "avicap32.dll" "capCreateCaptureWindow"static extern intstring intint int int intint intDllImport "avicap32.dll"static extern boolintMarshalAs UnmanagedType ref stringintMarshalAs UnmanagedType ref stringint// more and more of the same
  39. 39. demo
  40. 40. Windows Phone 7Silverlight 5.NET Framework4.5.NET Profile forWindows Storeapps
  41. 41. .NET forWindows Store appsWindows Phone 7.1 .NET Framework 4.5Namespace 72 95 447Type 1,246 1,788 14,936Member 15,674 20,291 217,166
  42. 42. demo
  43. 43. Windows 8Windows Phone 8Cross Plattform Development
  44. 44. Programmiermodell Windows 8
  45. 45. Programmiermodell Windows Phone 8.NET API forWindowsPhoneWindowsPhoneRuntimeWin32 &COMManaged NativeWP7.1 XAML & C#/VBWP8.0 XAML & C#/VBWP8.0 Games DirectX/Direct 3D & C++WP7.1 XNA & C#/VBWP8.0 XAML & C#/VB with Direct3D Graphics+ C+++ C++
  46. 46. Shared coreFull WinRT11,000 membersWindows Phone Runtime2,800 shared members600 new members
  47. 47. Gemeinsamkeiten & Unterschiede4/10/2013Screen SizeWindows Phone• 800x480, 1280x720,1280x768Portrait, LandscapeWindows• 1024x768 Portrait, Landscape,SnappedControlsWindows Phone• Panorama, Pivot,ListPickerLongListSelectorWindows• GridView, ListView,Semantic Zoom,FlipViewLifecycleWindows Phone• Launched fromstart/apps list.Tombstones appsWindows• Resumes existingappsNo tombstoning
  48. 48. Cross Plattform Strategien (XAML/C#)
  49. 49. Reuse: Portable Class LibraryReusing pre-built components or libraries4/10/2013Microsoftconfidential81• Portable Class Library• Managed Code• Reusable library• One codebase with no conditionalcompilation
  50. 50. Shared Code: File-Level (Add as Link)• App logic common to both apps, but notportable• Code containing Windows Runtime API calls• User controls with no platformdependencies
  51. 51. Shared Code: Classpart-Level(Partial Classes)public partial class MyClass{public void CommonMethodA(){// code that is common}public int CommonMethodB(){int result = 0;// code that is commonreturn result;}}public partial class MyClass{public void PlatformSpecificMethod(){// specific code for platform Á}}}public partial class MyClass{public void PlatformSpecificMethod(){// specific code for platform B}}
  52. 52. Shared Code: Classpart-Level(Partial Classes)• Very useful if amount of common code is large relative to the amount ofplatform-specific code• I cannot specify what each platform-specific partial class should implement
  53. 53. Shared Code: Line Level (Conditional Compilation)• can’t be shared in a PortableClass Library• simple way to share code• Complexity!public class MyClass{public void CommonMethodA(){// code that is common to Windows Phone 8 and Windows 8}public int CommonMethodB(){int result = 0;// code that is common to Windows Phone 8 and Windows 8return result;}public void PlatformSpecificMethod(){#if NETFX_CORE// code for Windows 8#else// code for Windows Phone 8#endif}}
  54. 54. public class MyWin8Class : MyBaseClass{public override void PlatformSpecificMethod(){// Implement this method specific to Win 8}} }Patterns: Abstract Base Classpublic abstract class MyBaseClass{public void CommonMethodA(){// code that is common}public int CommonMethodB(){int result = 0;// code that is commonreturn result;}public abstract void PlatformSpecificMethod();}Add as LinkPortable Class Librarypublic class MyWP8Class : MyBaseClass{public override void PlatformSpecificMethod(){// Implement this method specific to WP8}}
  55. 55. public class MyClass{private IPlatformSpecificCode _platformImpl;public MyClass(IPlatformSpecificCode platformImpl){_platformImpl = platformImpl;}public void CommonMethodA(){ ... }public int CommonMethodB(){ ... }public void PlatformSpecificMethod(){_platformImpl.PlatformSpecificMethodImpl();}}public interface IPlatformSpecificCode{void PlatformSpecificMethodImpl();}// Windows 8 app projectpublic class MyWin8Implementation : IPlatformSpecificCode{public void PlatformSpecificMethod(){// Implemented for Windows 8}}Patterns: Interfaces// Windows Phone app projectpublic class MyWinPhone 8Implementation : IPlatformSpecificCode{public void PlatformSpecificMethod(){// Implemented for Windows Phone 8}}
  56. 56. Demo
  57. 57. Windows Azure Mobile Services
  58. 58. demo
  59. 59. Dauerbrenner
  60. 60. „Wo zum Henker ist derStartbutton?“
  61. 61. „Windows 8 ist nichtintuitiv!?“
  62. 62. „Metro Apps sind aufeinem Desktop-PC ohneTouch überflüssig.“
  63. 63. „Gibt‘s außer Touch sonstnoch was Neues?“
  64. 64. Windows 8 – New FeaturesUEFIConnected StandbyFileHistoryPerformance.isoMountMeteredConnectionsMultiMonitorSupportWindows To GoStorageSpacesHy
  65. 65. „Muss ich jetzt meineDesktop App umbauen?“
  66. 66. „Werde ich als .NETEntwickler nicht mehrgebraucht?“
  67. 67. „Wie kann ich loslegen?“http://bit.ly/myWindowsApphttp://bit.ly/myCloudhttp://bit.ly/myTools
  68. 68. Was bewegt Euch?
  69. 69. Q&A
  70. 70. Vielen Dank!http://bit.ly/myWindowsApphttp://bit.ly/myCloudhttp://bit.ly/myToolsDariusz ParysDaniel Meixner#UGWindows
  71. 71. Daniel Meixner• daniel.meixner@microsoft.com• http://developersdevelopersdevelopersdevelopers.netDariusz Parys• dparys@microsoft.com• http://kouder.net• http://writeline.io• http://twitter.com/writeline

×