Develop a Windows 10 App. Deploy it on PC, Phone and Raspberry Pi.
-
Upload
clemente-giorio -
Category
Software
-
view
71 -
download
3
Transcript of Develop a Windows 10 App. Deploy it on PC, Phone and Raspberry Pi.
MOBILE CAMP - NAPOLIDevelop a Windows 10 app
Deploy it on PC, Phone and Raspberry Pi
Clemente Giorio
@meetdux
Hi! I’m Clemente
@tinux80 Kinect MVP Author
Research &
DevelopmentMember
@meetdux
Overview on Universal Windows Platform
How to Develop a simple UWP app
Deploy on PC
Agenda
Deploy on Phone
Deploy on Raspberry Pi 2
@meetdux
Mobile
Holographic Surface
Hub
XboxIoT
Desktop
@meetdux
Windows Core
One Hardware platform
Universal hardware driver
Standard network and I/O
One App Mode
One Windows Kernel
@meetdux
Windows Core The refactored common core
One hardware platform Universal hardware driver Standard network and I/O
PhoneDevice
XboxDevice
DesktopDevice
Windows Core
DesktopSKU
PhoneSKU
XboxSKU
@meetdux
One Windows
DesktopSKU
PC
2 in 1
MobileSKU
Tablet
Phablet
Phone
XboxSKU
Xbox
IoTSKU
Band
IoT headless
SKU
Raspberry Pi
Home Automatio
n
Surface HubSKU
Surface Hub
Holographic
SKU
HoloLens
Each family adds features to the one it inherits
@meetdux
Easy for users to get & stay
current
Unified core and app platform
The convergence journey
Windows Phone 7.5
Windows Phone 8Windows Phone 8.1
Windows 8
Xbox One
Windows on Devices
Xbox 360
Windows 8.1
Windows 10
ConvergedOS kernel
Convergedapp model
@meetdux
Phone Small Tablet
2-in-1s(Tablet or Laptop)
Desktops & All-in-OnesPhablet Large Tablet
Classic Laptop
Xbox IoTSurface Hub
Holographic
Windows 10
@meetdux
Multiple device families
PC XBoxMobile Surface Hub
HoloLensDevices +IoT
Universal Windows Apps
One Store +One Dev Center
Reuse Existing CodeOne SDK +
Tooling
Adaptive User Interface Natural
User Inputs
One Universal Windows Platform
@meetdux
Universal Windows Platform A single API surface
A guaranteed API surface The same on all devices
PhoneDevice
XboxDevice
DesktopDevice
Windows Core
Universal Windows Platform
@meetdux
One Windows
DesktopSKU
PC
2 in 1
MobileSKU
Tablet
Phablet
Phone
XboxSKU
Xbox
IoTSKU
Band
IoT headless
SKU
Raspberry Pi
Home Automatio
n
Surface HubSKU
Surface Hub
Holographic
SKU
HoloLens
Apps don't target Operating System, Apps target the platform
@meetdux
Universal Windows 8.1 app
#if WINDOWS_APP ResourceLoader loader = new ResourceLoader(); string about = loader.GetString("SettingsLabel/Text"); string privacy = loader.GetString("PrivacySettings/Text"); string options = loader.GetString("Settings/Text"); ISettingsService settings = container.RegisterSettingsService(); settings.RegisterFlyoutCommand<AboutViewModel>(about); settings.RegisterFlyoutCommand<PrivacyPolicyViewModel>(privacy); settings.RegisterFlyoutCommand<SettingsViewModel>(options);#endif
@meetdux
<TargetPlatform
Name="Microsoft.Universal"minVersion="10.0.10069.0" maxVersionTested="10.0.10190.0"/>
The Universal Windows Platform can update at its own cadence
@meetdux
Windows app A single binary
Running on any device Testing for capabilities Adjusting to devices
PhoneDevice
XboxDevice
DesktopDevice
Windows Core
Universal Windows Platform
Windows App
@meetdux
Platform extensions Device-specific API
Family-specific capabilities Compatible across devices Unique update cadence
PhoneDevice
XboxDevice
DesktopDevice
Windows Core
Universal Windows Platform
Windows App
Phoneextension
Xboxextension
Desktop
extension
@meetdux
Platform extensions
Extensions don't invalidate binaries on other devices
@meetdux
Universal Windows Platform
StoreDev Center
Winows Core
App Platform
Traditional Microsoft technologies are not the only way to create Windows apps
@meetdux
Windows 10operating system
Bridging technologies
Win32
desktop
Webhosted
JavaAndroid
Obj.CiOS
Universal Windows Platform
WWAC++& CX
.Netlanguages
HTMLDirectX
XAML
C++
.Netlanguages
MFCWFWPF
.Netruntime
@meetdux
Let’s talk about bridge technologies Objective-C
At Build we announced iOS code can be reused in a Windows app
Android At Build we announced Android code can be reused in a Windows app to run on Windows Phone
Web At Build we announced web sites can be wrapped to run on Windows
Win32 At Build we announced that Classic Windows Apps (CWA) can be packaged as an Appx
Bridges bring more apps to the Windows platform
@meetdux
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
Users love apps that work great on all their devices
@meetdux
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;}
@meetdux
IsApiContractPresentIsEnumNamedValuePresentIsEventPresentIsMethodPresentIsPropertyPresentIsReadOnlyPropertyPresentIsTypePresentIsWriteablePropertyPresent
Windows.Foundation.Metadata.ApiInformation
Test capabilities at runtime
@meetdux
UAP
Windows Core Windows Core Windows Core Windows Core
UAP UAP UAP
Desktop Mobile Xbox More…
The device families you choose determines which APIs you can call freely
One simple, unified, integrated development environment
@meetdux
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…
@meetdux
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
@meetdux
ChecklistWidows 10 Insider Previewhttp://insider.windows.comVisualVisual Studio 2015 RChttp://www.visualstudio.comWindows Developer License
Hyper-V (WP)
@meetdux
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
@meetdux
Developer unlock
@meetdux
Now “Hello World!”
The code
Deploy on PC
Deploy on Phone Emulator
Deploy on Raspberry Pi 2
@meetdux
@meetdux
DEMO:
“Hello World”
@meetdux
@meetdux
@meetdux
@meetdux
SETUP
Windows Embedded Pre-Release Programs
Setup Raspberry Pi 2
Boot Windows 10 IoT Core Insider Preview
@meetdux
@meetdux
DEMO:
“LED”
@meetdux
@meetdux
@meetdux
@meetdux
@meetdux
@meetdux
@meetdux
@meetdux
@meetdux
@meetdux
@meetdux
@meetdux
DEMO:
“Two LEDs”
@meetdux
Ahsante
Thank you
@meetdux
Community
Connect Beyond the Presentation
Clemente Giorio
[email protected]@Tinux80http
://it.linkedin.com/pub/clemente-giorio/11/618/3a
Let’s Connect