SlideShare una empresa de Scribd logo
1 de 39
Dresden, July 16th, 2014
Windows Phone 8.1
platform concepts and app development
Advanced seminar by Sebastian Müller
Windows Phone 8.1 – platform concepts and app development #2July 16th, 2014
...
Windows
Mobile 6.5
Windows
Phone 7
Windows
Phone 8
Windows
Phone 8.1
Windows CE
Windows NT
History of Microsoft‘s mobile operating systems
Windows Phone 8.1 – platform concepts and app development #3July 16th, 2014
Windows Phone 8.1 – platform concepts and app development #4July 16th, 2014
Hardware requirements
• Snapdragon CPU
• 512MB, 1GB or 2GB RAM
• 1080p, 720p, WXGA, qHD, FWVGA,
WVGA resolution
• multi-touch display
• rear-facing camera (VGA)
• mobile data, WiFi, Bluetooth 4, A-GPS
• accelerometer, proximity, ambient light
sensors
• mechanical power, vol+, vol- buttons
Windows Phone 8.1 – platform concepts and app development #5July 16th, 2014
Apps
Windows Phone 8.1 – platform concepts and app development #6July 16th, 2014
App models
WP7
Silverlight
WP8
Silverlight
WP 8.1
Silverlight
WP 8.1
WinRT
Silverlight
Windows Phone 8 API
Windows Phone 8.1 API
WinRT
WP 7 API
WP 8.1
WinJS
WinJS
Windows Phone 8.1 – platform concepts and app development #7July 16th, 2014
App models
WP7
Silverlight
WP8
Silverlight
WP 8.1
Silverlight
WP 8.1
WinRT
Silverlight
Windows Phone 8 API
Windows Phone 8.1 API
WinRT
WP 7 API
WP 8.1
WinJS
WinJS
Windows Phone 8.1 – platform concepts and app development #8July 16th, 2014
App models
WP7
Silverlight
WP8
Silverlight
WP 8.1
Silverlight
WP 8.1
WinRT
Silverlight
Windows Phone 8 API
Windows Phone 8.1 API
WinRT
WP 7 API
WP 8.1
WinJS
WinJS
Windows Phone 8.1 – platform concepts and app development #9July 16th, 2014
Windows programming model
http://channel9.msdn.com/Events/Build/2014/2-507
Windows Phone 8.1 – platform concepts and app development #10July 16th, 2014
• relatively low-level ABI
• WinRT components act as libraries
• written in C#, C++/CX
• metadata describes underlying API to
managed languages
Windows Runtime
Windows Phone 8.1 – platform concepts and app development #11July 16th, 2014
Windows Runtime
ChakraCLR
Windows Runtime Object
C++ App
HTML App
C#/VB App
ProjectionProjectionProjection
Metadata
(winmd)
Windows Phone 8.1 – platform concepts and app development #12July 16th, 2014
Windows Runtime projection
WinRT Type/Interface .NET Equivalent
Boolean Boolean
DateTime DateTimeOffset
Int64 Long
String String
IMap<K,V> IDictionary<K,V>
IVector<T> IList<T>
Windows Phone 8.1 – platform concepts and app development #13July 16th, 2014
Windows Runtime projection
WinRT pattern VB/C# pattern JavaScript pattern
AsyncOperation awaitable Task Promise
Event Event, +=
Event,
addEventListener
Delegate Delegate function() …
Collections
System.Collections.
Generic
Array, hash
Windows Phone 8.1 – platform concepts and app development #14July 16th, 2014
Windows Runtime
ChakraCLR
Windows Runtime Object
C++ App
HTML App
C#/VB App
ProjectionProjectionProjection
Metadata
(winmd)
Windows Phone 8.1 – platform concepts and app development #15July 16th, 2014
Hello World!
Windows Phone 8.1 – platform concepts and app development #16July 16th, 2014
Development tools
Windows Phone 8.1 – platform concepts and app development #17July 16th, 2014
Hello world example
Windows Phone 8.1 – platform concepts and app development #18July 16th, 2014
App.xaml
<Application
x:Class="HelloWorldApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<SolidColorBrush
x:Name="HelloWorldColorBrush"
Color="Red" />
</Application.Resources>
</Application>
Windows Phone 8.1 – platform concepts and app development #19July 16th, 2014
App.xaml.cs
public sealed partial class App : Application {
public App() {
InitializeComponent();
Suspending += OnSuspending;
}
protected override void OnLaunched(LaunchActivatedEventArgs e) {
var rootFrame = Window.Current.Content as Frame;
//...
rootFrame.Navigate(typeof(MainPage), e.Arguments);
//...
Window.Current.Activate();
}
private void FirstNavigated(object sender, NavigationEventArgs e) {
//...
}
private void OnSuspending(object sender, SuspendingEventArgs e) {
//...
}
}
Windows Phone 8.1 – platform concepts and app development #20July 16th, 2014
Hello Windows Phone!
Windows Phone 8.1 – platform concepts and app development #21July 16th, 2014
MainPage.xaml
<Page
x:Class="HelloWorldApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page.BottomAppBar
<CommandBar>
<AppBarButton Label="Hello" Click="BtnClicked" Icon="World"/>
</CommandBar>
</Page.BottomAppBar>
<Grid VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock
x:Uid="HelloWorldTxt" x:Name="TextBlock1"
Style="{ThemeResource GroupHeaderTextBlockStyle}"
Foreground="{ThemeResource PhoneAccentBrush}"
Text="Hello world!" />
</Grid>
</Page>
Windows Phone 8.1 – platform concepts and app development #22July 16th, 2014
MainPage.xaml.cs
public sealed partial class MainPage : Page {
public MainPage() {
InitializeComponent();
NavigationCacheMode = NavigationCacheMode.Required;
}
protected override void OnNavigatedTo(NavigationEventArgs e) {
//...
}
private void BtnClicked(object sender, RoutedEventArgs e)
{
//...
}
}
Windows Phone 8.1 – platform concepts and app development #23July 16th, 2014
Hello Windows Phone!
Windows Phone 8.1 – platform concepts and app development #24July 16th, 2014
An app‘s lifecycle
http://msdn.microsoft.com/en-us/library/windows/apps/hh464925.aspx
Windows Phone 8.1 – platform concepts and app development #25July 16th, 2014
Communication / Contracts
• file associations
• URI contracts
• share
• file save picker
• file open picker
Windows Phone 8.1 – platform concepts and app development #26July 16th, 2014
Secondary and Live Tiles
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202948(v=vs.105).aspx
Windows Phone 8.1 – platform concepts and app development #27July 16th, 2014
Secondary Tiles
http://channel9.msdn.com/Events/Build/2014/2-537
Windows Phone 8.1 – platform concepts and app development #28July 16th, 2014
Live Tiles
http://msdn.microsoft.com/en-us/library/windows/apps/dn632423.aspx
Windows Phone 8.1 – platform concepts and app development #29July 16th, 2014
Background tasks
Trigger Usage
System Trigger
UserPresent, UserAway,
SessionConnected, TimeZoneChange,
NetworkStateChange, InternetAvailable,
ServicingComplete,
GattCharacteristicNotificationTrigger,
DeviceChangeTrigger,
DeviceUpdateTrigger,
RfcommConnectionTrigger
Run code on system events
TimeTrigger Data synchronization
MaintenanceTrigger Perform maintenance work on AC
power
http://channel9.msdn.com/Events/Build/2014/2-518
Windows Phone 8.1 – platform concepts and app development #30July 16th, 2014
Battery Saver
http://channel9.msdn.com/Events/Build/2014/2-518
Windows Phone 8.1 – platform concepts and app development #31July 16th, 2014
Action Center
• add/edit/remove
(ghost) notifications
• in-app, triggered,
scheduled, push
Windows Phone 8.1 – platform concepts and app development #32July 16th, 2014
• Local
• isolated
• app-specific
• LocalCache
• not included in backups
• Roaming
• cloud synced
• size limit
• Temporary
• transient
• PasswordFault
• sensitive information
• Project
• install folder
Storage and Settings
Windows Phone 8.1 – platform concepts and app development #33July 16th, 2014
XAML: Images/logo.png
E.g. loads: Images/en-US/homeregion-USA/logo.scale-
140_contrast-white.png
Standard naming convention:
foldername/qualifiername-value/qualifiername-
value/filename.qualifiername-value_qualifier name-
value.ext
Resources and localization
Windows Phone 8.1 – platform concepts and app development #34July 16th, 2014
Key Value
HelloWorldTxt.Text Hello Windows Phone
HelloWorldTxt.Background Blue
HelloWorldTxt.TextAlignment Right
HelloWorldTxt.FlowDirection RightToLeft
Resources and localization
<TextBlock
x:Uid="HelloWorldTxt"
Style="{ThemeResource GroupHeaderTextBlockStyle}"
Foreground="{ThemeResource PhoneAccentBrush}"
Text="Hello world!" />
Windows Phone 8.1 – platform concepts and app development #35July 16th, 2014
App package
ZIP container
Files / Assets
AppXManifest.xml
BlockMap
Signature
• local: appx or appxbundle
• cloud:
 machine code for each device
 security signature
Windows Phone 8.1 – platform concepts and app development #36July 16th, 2014
Voice commands
<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1">
<CommandSet xml:lang="en-us" Name="englishCommands">
<CommandPrefix> MSDN </CommandPrefix>
<Example> find 'Windows Phone Voice Commands' </Example>
<Command Name="MSDNSearch">
<Example> find 'how to install CommandSets' </Example>
<ListenFor> Search </ListenFor>
<ListenFor> Search [for] {dictatedSearchTerms} </ListenFor>
<ListenFor> Find {dictatedSearchTerms} </ListenFor>
<ListenFor> Find </ListenFor>
<Feedback> Searching MSDN... </Feedback>
<Navigate Target="MainPage.xaml" />
</Command>
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search">
<Subject> MSDN </Subject>
</PhraseTopic>
</CommandSet>
</VoiceCommands>
Windows Phone 8.1 – platform concepts and app development #37July 16th, 2014
Metro Design Language
Windows Phone 8.1 – platform concepts and app development #38July 16th, 2014
Metro Design Language
Windows Phone 8.1 – platform concepts and app development #39July 16th, 2014
Thank you
Questions

Más contenido relacionado

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Destacado

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Windows Phone 8.1 - platform concepts and app development

  • 1. Dresden, July 16th, 2014 Windows Phone 8.1 platform concepts and app development Advanced seminar by Sebastian Müller
  • 2. Windows Phone 8.1 – platform concepts and app development #2July 16th, 2014 ... Windows Mobile 6.5 Windows Phone 7 Windows Phone 8 Windows Phone 8.1 Windows CE Windows NT History of Microsoft‘s mobile operating systems
  • 3. Windows Phone 8.1 – platform concepts and app development #3July 16th, 2014
  • 4. Windows Phone 8.1 – platform concepts and app development #4July 16th, 2014 Hardware requirements • Snapdragon CPU • 512MB, 1GB or 2GB RAM • 1080p, 720p, WXGA, qHD, FWVGA, WVGA resolution • multi-touch display • rear-facing camera (VGA) • mobile data, WiFi, Bluetooth 4, A-GPS • accelerometer, proximity, ambient light sensors • mechanical power, vol+, vol- buttons
  • 5. Windows Phone 8.1 – platform concepts and app development #5July 16th, 2014 Apps
  • 6. Windows Phone 8.1 – platform concepts and app development #6July 16th, 2014 App models WP7 Silverlight WP8 Silverlight WP 8.1 Silverlight WP 8.1 WinRT Silverlight Windows Phone 8 API Windows Phone 8.1 API WinRT WP 7 API WP 8.1 WinJS WinJS
  • 7. Windows Phone 8.1 – platform concepts and app development #7July 16th, 2014 App models WP7 Silverlight WP8 Silverlight WP 8.1 Silverlight WP 8.1 WinRT Silverlight Windows Phone 8 API Windows Phone 8.1 API WinRT WP 7 API WP 8.1 WinJS WinJS
  • 8. Windows Phone 8.1 – platform concepts and app development #8July 16th, 2014 App models WP7 Silverlight WP8 Silverlight WP 8.1 Silverlight WP 8.1 WinRT Silverlight Windows Phone 8 API Windows Phone 8.1 API WinRT WP 7 API WP 8.1 WinJS WinJS
  • 9. Windows Phone 8.1 – platform concepts and app development #9July 16th, 2014 Windows programming model http://channel9.msdn.com/Events/Build/2014/2-507
  • 10. Windows Phone 8.1 – platform concepts and app development #10July 16th, 2014 • relatively low-level ABI • WinRT components act as libraries • written in C#, C++/CX • metadata describes underlying API to managed languages Windows Runtime
  • 11. Windows Phone 8.1 – platform concepts and app development #11July 16th, 2014 Windows Runtime ChakraCLR Windows Runtime Object C++ App HTML App C#/VB App ProjectionProjectionProjection Metadata (winmd)
  • 12. Windows Phone 8.1 – platform concepts and app development #12July 16th, 2014 Windows Runtime projection WinRT Type/Interface .NET Equivalent Boolean Boolean DateTime DateTimeOffset Int64 Long String String IMap<K,V> IDictionary<K,V> IVector<T> IList<T>
  • 13. Windows Phone 8.1 – platform concepts and app development #13July 16th, 2014 Windows Runtime projection WinRT pattern VB/C# pattern JavaScript pattern AsyncOperation awaitable Task Promise Event Event, += Event, addEventListener Delegate Delegate function() … Collections System.Collections. Generic Array, hash
  • 14. Windows Phone 8.1 – platform concepts and app development #14July 16th, 2014 Windows Runtime ChakraCLR Windows Runtime Object C++ App HTML App C#/VB App ProjectionProjectionProjection Metadata (winmd)
  • 15. Windows Phone 8.1 – platform concepts and app development #15July 16th, 2014 Hello World!
  • 16. Windows Phone 8.1 – platform concepts and app development #16July 16th, 2014 Development tools
  • 17. Windows Phone 8.1 – platform concepts and app development #17July 16th, 2014 Hello world example
  • 18. Windows Phone 8.1 – platform concepts and app development #18July 16th, 2014 App.xaml <Application x:Class="HelloWorldApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Application.Resources> <SolidColorBrush x:Name="HelloWorldColorBrush" Color="Red" /> </Application.Resources> </Application>
  • 19. Windows Phone 8.1 – platform concepts and app development #19July 16th, 2014 App.xaml.cs public sealed partial class App : Application { public App() { InitializeComponent(); Suspending += OnSuspending; } protected override void OnLaunched(LaunchActivatedEventArgs e) { var rootFrame = Window.Current.Content as Frame; //... rootFrame.Navigate(typeof(MainPage), e.Arguments); //... Window.Current.Activate(); } private void FirstNavigated(object sender, NavigationEventArgs e) { //... } private void OnSuspending(object sender, SuspendingEventArgs e) { //... } }
  • 20. Windows Phone 8.1 – platform concepts and app development #20July 16th, 2014 Hello Windows Phone!
  • 21. Windows Phone 8.1 – platform concepts and app development #21July 16th, 2014 MainPage.xaml <Page x:Class="HelloWorldApp.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Page.BottomAppBar <CommandBar> <AppBarButton Label="Hello" Click="BtnClicked" Icon="World"/> </CommandBar> </Page.BottomAppBar> <Grid VerticalAlignment="Center" HorizontalAlignment="Center"> <TextBlock x:Uid="HelloWorldTxt" x:Name="TextBlock1" Style="{ThemeResource GroupHeaderTextBlockStyle}" Foreground="{ThemeResource PhoneAccentBrush}" Text="Hello world!" /> </Grid> </Page>
  • 22. Windows Phone 8.1 – platform concepts and app development #22July 16th, 2014 MainPage.xaml.cs public sealed partial class MainPage : Page { public MainPage() { InitializeComponent(); NavigationCacheMode = NavigationCacheMode.Required; } protected override void OnNavigatedTo(NavigationEventArgs e) { //... } private void BtnClicked(object sender, RoutedEventArgs e) { //... } }
  • 23. Windows Phone 8.1 – platform concepts and app development #23July 16th, 2014 Hello Windows Phone!
  • 24. Windows Phone 8.1 – platform concepts and app development #24July 16th, 2014 An app‘s lifecycle http://msdn.microsoft.com/en-us/library/windows/apps/hh464925.aspx
  • 25. Windows Phone 8.1 – platform concepts and app development #25July 16th, 2014 Communication / Contracts • file associations • URI contracts • share • file save picker • file open picker
  • 26. Windows Phone 8.1 – platform concepts and app development #26July 16th, 2014 Secondary and Live Tiles http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202948(v=vs.105).aspx
  • 27. Windows Phone 8.1 – platform concepts and app development #27July 16th, 2014 Secondary Tiles http://channel9.msdn.com/Events/Build/2014/2-537
  • 28. Windows Phone 8.1 – platform concepts and app development #28July 16th, 2014 Live Tiles http://msdn.microsoft.com/en-us/library/windows/apps/dn632423.aspx
  • 29. Windows Phone 8.1 – platform concepts and app development #29July 16th, 2014 Background tasks Trigger Usage System Trigger UserPresent, UserAway, SessionConnected, TimeZoneChange, NetworkStateChange, InternetAvailable, ServicingComplete, GattCharacteristicNotificationTrigger, DeviceChangeTrigger, DeviceUpdateTrigger, RfcommConnectionTrigger Run code on system events TimeTrigger Data synchronization MaintenanceTrigger Perform maintenance work on AC power http://channel9.msdn.com/Events/Build/2014/2-518
  • 30. Windows Phone 8.1 – platform concepts and app development #30July 16th, 2014 Battery Saver http://channel9.msdn.com/Events/Build/2014/2-518
  • 31. Windows Phone 8.1 – platform concepts and app development #31July 16th, 2014 Action Center • add/edit/remove (ghost) notifications • in-app, triggered, scheduled, push
  • 32. Windows Phone 8.1 – platform concepts and app development #32July 16th, 2014 • Local • isolated • app-specific • LocalCache • not included in backups • Roaming • cloud synced • size limit • Temporary • transient • PasswordFault • sensitive information • Project • install folder Storage and Settings
  • 33. Windows Phone 8.1 – platform concepts and app development #33July 16th, 2014 XAML: Images/logo.png E.g. loads: Images/en-US/homeregion-USA/logo.scale- 140_contrast-white.png Standard naming convention: foldername/qualifiername-value/qualifiername- value/filename.qualifiername-value_qualifier name- value.ext Resources and localization
  • 34. Windows Phone 8.1 – platform concepts and app development #34July 16th, 2014 Key Value HelloWorldTxt.Text Hello Windows Phone HelloWorldTxt.Background Blue HelloWorldTxt.TextAlignment Right HelloWorldTxt.FlowDirection RightToLeft Resources and localization <TextBlock x:Uid="HelloWorldTxt" Style="{ThemeResource GroupHeaderTextBlockStyle}" Foreground="{ThemeResource PhoneAccentBrush}" Text="Hello world!" />
  • 35. Windows Phone 8.1 – platform concepts and app development #35July 16th, 2014 App package ZIP container Files / Assets AppXManifest.xml BlockMap Signature • local: appx or appxbundle • cloud:  machine code for each device  security signature
  • 36. Windows Phone 8.1 – platform concepts and app development #36July 16th, 2014 Voice commands <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix> MSDN </CommandPrefix> <Example> find 'Windows Phone Voice Commands' </Example> <Command Name="MSDNSearch"> <Example> find 'how to install CommandSets' </Example> <ListenFor> Search </ListenFor> <ListenFor> Search [for] {dictatedSearchTerms} </ListenFor> <ListenFor> Find {dictatedSearchTerms} </ListenFor> <ListenFor> Find </ListenFor> <Feedback> Searching MSDN... </Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject> MSDN </Subject> </PhraseTopic> </CommandSet> </VoiceCommands>
  • 37. Windows Phone 8.1 – platform concepts and app development #37July 16th, 2014 Metro Design Language
  • 38. Windows Phone 8.1 – platform concepts and app development #38July 16th, 2014 Metro Design Language
  • 39. Windows Phone 8.1 – platform concepts and app development #39July 16th, 2014 Thank you Questions

Notas del editor

  1. WM -> 6.5 WP7 -> Silverlight WP8 -> WinNT Neubeginn
  2. June 2014 75% Nokia viele Geräte, Auflösungen, …
  3. display: Skalierung, 60Hz Android -> on-screen buttons -> Überleitung: Apps
  4. + DirectX apps! -> nur aktuelle Plattform
  5. WinJS WinRT -> Zukunft
  6.  programming model
  7. Windows, WP, Xbox -> ÜL: was genau ist WinRT?
  8. ÜL Hello World
  9. -> App.xaml
  10. -> App.xaml.cs
  11. -> Screenshot -> MainPage.xaml
  12. -> MainPage.xaml.cs ThemeResources, CS-Bindung
  13. -> Lifecycle
  14. -> Inter-app communication
  15. -> Tiles
  16. 2ndary Live-Tiles
  17. Bsp. Musik
  18. -> ÜL Background Tasks
  19. Typographie Hub Pinning Buchstabe Icons