SlideShare una empresa de Scribd logo
1 de 24
What's new in WP8
Andrea Boschin – Most Valuable Professional (XAML)
Windows Phone 8 overview
 meet new aspects of Windows Phone
8
 be in touch with changes from 7.x
 explore new features
Talk goals
 what about old apps?
 the 120000 apps in the store still works!
 "quirks mode" ensure 100% compatibility
 do i need to recompile?
 existing apps works without any action
 conversion requires to re-compile
 after conversion "quirk mode" is not available anymore
 be careful of breaking changes
 http://msdn.microsoft.com/en-
us/library/windowsphone/develop/jj206947(v=vs.105).aspx
 pay attention to multi-core environments when moving
from 7 to 8
 wp7 does not requires attention but wp8 does.
legacy apps compatibility
 business apps means:
 publish to a private set of users
 full control over deployment
 protect intellectual property
 Windows Phone 7.x
 business scenario is almost impossible
 Windows Phone 8.0
 business scenario is fully supported!
business scenario
 how to?
 register a Microsoft account (company-only)
 buy a Symantec certificate (299$ approx)
 generate an Application Token (.aetx)
 distribute token to devices
 sign the apps with the token
 then
 only token-enabled devices run the signed apps
 side-loading is enabled without MS Company Store
 also
 create your own company-hub to manage content and apps from a single point.
business scenario
 windows phone 7.x
 based on windows ce kernel
 completely distinct platform from desktop
o.s.
 windows phone 8
 based on common windows 8 architecture
 shares a common kernel with pcs and
tablets
architecture
 what's does it mean?
 low level functions & driver model
 shared between win8 and wp8
 shared api
 about 2800 member over 11000 in w8
 600 additional members for wp8
shared kernel
 what's the problem?
 precompilation takes long time
 on mobile these waiting are awful
 recap: wp7 application startup is really slow
 JIT: how do it works?
 members are compiled before the use
 when application is closed precompilation is discarted
 how can we do?
 NGEN assemblies before download?
 precompilation when download happens, is too slow
 what wp8 does?
 compile in the cloud!
 assemblies are pre-compiled before the download
 a mdil file is prepared
 MDIL = machine dependent intermediale language
 it is something like a template with holes to fill
 after download, mdil is converted to ngen
 holes are filled. now it runs natively!
compilation model
 why coding native?
 reusability
 use of existing code you don't want to write again
 portability
 use code in different platforms
 skills
 use existing skills in C++
 performances
 the last of the problems... often not a good reason
native C++ code
 how-to
 create a WinRT component
 All your code is wrapped into the component
 write code using specific conventions
 classes must be "ref" and "sealed"
 use compatible WinRT types
 reference component by a C# project
 fully native apps does not exists!
 use the classes in the component from C#
 all the magic is made by the WinRT projection layer
native C++ code
 Windows Phone 7.x
 only 480 x 800 resolution allowed
 Windows Phone 8.0
 supports different sizes and resolutions
 virtually you work always with 480x800 (or 853)
multiple screen resolutions
WVGA 720p WXGA
true resolution 480x800 720x1280 768x1280
virtual resolution 480x800 480x853 480x800
aspect ratio 15:9 16:9 15:9
platform Windows
Phone 7.x/8.0
Windows Phone
8.0
Windows Phone
8.0
scale 100 150 160
var width = Application.Current.Host.Content.ActualWidth;
var height = Application.Current.Host.Content.ActualHeight;
multiple screen resolutions
 multiple sizes = much more attention
 always pretend screen = 480 x 800
 draw apps without size constraints
 avoid absolute positioning
 prefer "vector" to "raster"
 provide large images or different scales
 large images are scaled gracefully
 with different scales: choose the better size
 you can also:
 disable specific resolution in manifest
 this means to forget a particular segment of the market
 Windows Phone 7.x
 G&L is made by tricks
 Windows Phone 8.0
 easy & effective
 project automatically prepared for G&L
 localization works by Binding to resx
 support for multiple languages
 problems
 ApplicationBar still doesn't support Binding 
 AppTitle localization requires Win32 resources
globalization & localization
 new concept of Contact Store
 every app has its own store
 can add and remove contacts silently
 can prevent deletion from the its store
 when uninstalled, contact store goes away
 Notes
 a contact store is an isolated sandbox
 similar contacts in different stores are merged
 Security
 guaranteed by Windows Store Certification
 if check fails, you can simply delete the app...
contact stores
 tiles
 3 formats available to developers
 small: 159x159
 medium: 336x336
 wide: 691x336
 small & medium are required!
 new Templates
 TemplateFlip
 front & rear predefined content
 TemplateCycle
 up to 9 rolling tiles
 TemplateIconic
 automatically reflects WP design guidelines
 also supported in 7.8
 manually via reflection
 with Mangopollo project on codeplex
http://mangopollo.codeplex.com/
tiles & lock screen
 Iconic template: 110x110 & 220x220
tiles & lock screen
 lock screen
 when enabled reflects content from
tile
 User must enable app to lock screen
 settings can be launched with a
protocol
 LockScreenManager
 allow request authorization directly
tiles & lock screen
private async void OpenLockScreenSettings(object sender, RoutedEventArgs e)
{
await Windows.System.Launcher.LaunchUriAsync(
new Uri("ms-settings-lock:"));
}
 protocol association
 a protocol is registered (ex: myapp://)
 if someone launch the protocol the app in called
 the app receives the full uri
 parameters are passed in the uri
 file type association
 a file extension is registered (ex: *.myapp)
 when a file type is opened the app is called
 the app receives a reference to the file
 modification the original file require a copy.
 other info
 system protocol and types cannot be overriden (es: mp3, etc...)
 multiple association are allowed. the choice is up to the user.
 a file type supports an icon (3 sizes)
 to launch an association
 LaunchUriAsync  Protocols
 LaunchFileAsync  File Types
protocol & file association
 near field communication
 limited to short range (3-5 cm)
 supports
 custom string or binary messages
 via publish-subscribe
 use of known protocols
 launch apps by id or protocol association
 launch an url in the browser
 initiator for launching sockets
 bluetooh or wi-fi (developer choice)
 read or write tags
 write is limited
 api allows to
 set capability and requirements for app
 check if NFC is supported/enabled
bluetooth & NFC
 bluetooth
 Windows Phone 7.x
 bluetooth is supported
 no developer APIs
 Windows Phone 8.0
 bluetooth is extended (no HID profile)
 developer APIs are provided
 scenarios
 Phone to Device
 socket based
 pick one of paired devices
 your app is client to the device
 Phone to Phone
 socket based
 search for another instance of your app to pair
 your app is client & server
 Windows 8 to Windows Phone 8 is allowed
bluetooth & NFC
 text to speech
 supports different language inflections
 supports SSML (Speech Synth Markup
Language)
 speech to text
 supported two modes
 SpeechRecognizerUI uses default UI
 SpeechRecognizer allow speech recognition without UI
 allowed to use preloaded grammar to improve
recognition
 result
speech
SpeechSynthesizer tts = new SpeechSynthesizer();
await tts.SpeakTextAsync("Please hold on!");
 predefined sequences that matches an
action
start music player and play latin songs
and play latin songs
 result
 app music player is started
 app get "PlaySongs" command with 'latin' argument
voice commands
starts the app
optional
command command
dynamic
discarted argument
voice commands
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0">
<CommandSet xml:lang="en-US" Name="DefaultCommandSetEnglish">
<CommandPrefix>Music Player</CommandPrefix>
<Example>play some songs</Example>
<Command Name="PlaySongs">
<Example>play random songs</Example>
<ListenFor>[and] play {genre} songs</ListenFor>
<ListenFor>[and] play [some] songs</ListenFor>
<ListenFor>[and] play {mode} songs</ListenFor>
<Feedback>Playing music...</Feedback>
<Navigate Target="MusicPlayer.xaml" />
</Command>
<PhraseList Label="genre">
<Item>rock</Item>
<Item>latin</Item>
<Item>classic</Item>
<Item>funky</Item>
<Item>jazz</Item>
</PhraseList>
<PhraseList Label="mode">
<Item>all</Item>
<Item>random</Item>
<Item>favorite</Item>
</PhraseList>
</CommandSet>
</VoiceCommands>
feedback
10
o feedback su:
• http://xedotnet.org/feedback
• codice feedback:
• email: andrea@boschin.it
• twitter: @aboschin
• facebook:
https://www.facebook.com/thelittlegrove
• gamertag: codeblock68
feedback

Más contenido relacionado

La actualidad más candente

follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
QIRIS
 
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual StudioFive Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
readwritehack
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Ryan Baxter
 
Windows phone 8 session 2
Windows phone 8 session 2Windows phone 8 session 2
Windows phone 8 session 2
hitesh chothani
 

La actualidad más candente (20)

An overview of the Windows Phone 7 platform
An overview of the Windows Phone 7 platformAn overview of the Windows Phone 7 platform
An overview of the Windows Phone 7 platform
 
ID E's features
ID E's featuresID E's features
ID E's features
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual StudioFive Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
 
QBS Visual Studio 2012 and modern windows apps
QBS Visual Studio 2012 and modern windows appsQBS Visual Studio 2012 and modern windows apps
QBS Visual Studio 2012 and modern windows apps
 
Construindo Universal apps para Windows e Windows Phone
Construindo Universal apps para Windows e Windows PhoneConstruindo Universal apps para Windows e Windows Phone
Construindo Universal apps para Windows e Windows Phone
 
Windows Mobile 6.5 Overview
Windows Mobile 6.5 OverviewWindows Mobile 6.5 Overview
Windows Mobile 6.5 Overview
 
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
 
Flutter technology Based on Web Development
Flutter technology Based on Web Development Flutter technology Based on Web Development
Flutter technology Based on Web Development
 
Android software development – the first few hours
Android software development – the first few hoursAndroid software development – the first few hours
Android software development – the first few hours
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
Role of java in android app development
Role of java in android app developmentRole of java in android app development
Role of java in android app development
 
DSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java WebinarDSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java Webinar
 
Android class provider in mumbai
Android class provider in mumbaiAndroid class provider in mumbai
Android class provider in mumbai
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 
Windows phone 8 session 2
Windows phone 8 session 2Windows phone 8 session 2
Windows phone 8 session 2
 
Android deep dive
Android deep diveAndroid deep dive
Android deep dive
 

Destacado (8)

Darqa conference may 26 - 2016
Darqa   conference may 26 - 2016Darqa   conference may 26 - 2016
Darqa conference may 26 - 2016
 
About
AboutAbout
About
 
Music, Soul and Wine Art Series
Music, Soul and Wine Art SeriesMusic, Soul and Wine Art Series
Music, Soul and Wine Art Series
 
Advanced Medicaid Presentation Evergreen Commons
Advanced Medicaid Presentation Evergreen CommonsAdvanced Medicaid Presentation Evergreen Commons
Advanced Medicaid Presentation Evergreen Commons
 
Sviluppare applicazioni Metro con Windows 8 e WinRT
Sviluppare applicazioni Metro con Windows 8 e WinRTSviluppare applicazioni Metro con Windows 8 e WinRT
Sviluppare applicazioni Metro con Windows 8 e WinRT
 
Testimonials
TestimonialsTestimonials
Testimonials
 
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
 
Model-View-ViewModel con Windows Store Apps
Model-View-ViewModel con Windows Store AppsModel-View-ViewModel con Windows Store Apps
Model-View-ViewModel con Windows Store Apps
 

Similar a Windows phone 8 overview

Adc2012 windows phone 8
Adc2012 windows phone 8Adc2012 windows phone 8
Adc2012 windows phone 8
AlexanderGoetz
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
sagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
sagaroceanic11
 
Windows store app development V1
Windows store app development V1Windows store app development V1
Windows store app development V1
Foyzul Karim
 
Using the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidUsing the Presentation API and external screens on Android
Using the Presentation API and external screens on Android
Xavier Hallade
 
Windowsphone7
Windowsphone7Windowsphone7
Windowsphone7
yuvaraj72
 

Similar a Windows phone 8 overview (20)

Mobile Devolpment Slides
Mobile Devolpment SlidesMobile Devolpment Slides
Mobile Devolpment Slides
 
Windows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers ConferenceWindows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers Conference
 
Adc2012 windows phone 8
Adc2012 windows phone 8Adc2012 windows phone 8
Adc2012 windows phone 8
 
Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Windows store app development V1
Windows store app development V1Windows store app development V1
Windows store app development V1
 
Windows phone 8 session 1
Windows phone 8 session 1Windows phone 8 session 1
Windows phone 8 session 1
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
Using the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidUsing the Presentation API and external screens on Android
Using the Presentation API and external screens on Android
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
Windows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netpontoWindows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netponto
 
Windowsphone7
Windowsphone7Windowsphone7
Windowsphone7
 
21 app packaging, monetization and publication
21   app packaging, monetization and publication21   app packaging, monetization and publication
21 app packaging, monetization and publication
 
Windows 8 BootCamp
Windows 8 BootCampWindows 8 BootCamp
Windows 8 BootCamp
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Rhodes vs Phonegap
Rhodes vs PhonegapRhodes vs Phonegap
Rhodes vs Phonegap
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
Silverlight Training
Silverlight TrainingSilverlight Training
Silverlight Training
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
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)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Windows phone 8 overview

  • 1. What's new in WP8 Andrea Boschin – Most Valuable Professional (XAML) Windows Phone 8 overview
  • 2.  meet new aspects of Windows Phone 8  be in touch with changes from 7.x  explore new features Talk goals
  • 3.  what about old apps?  the 120000 apps in the store still works!  "quirks mode" ensure 100% compatibility  do i need to recompile?  existing apps works without any action  conversion requires to re-compile  after conversion "quirk mode" is not available anymore  be careful of breaking changes  http://msdn.microsoft.com/en- us/library/windowsphone/develop/jj206947(v=vs.105).aspx  pay attention to multi-core environments when moving from 7 to 8  wp7 does not requires attention but wp8 does. legacy apps compatibility
  • 4.  business apps means:  publish to a private set of users  full control over deployment  protect intellectual property  Windows Phone 7.x  business scenario is almost impossible  Windows Phone 8.0  business scenario is fully supported! business scenario
  • 5.  how to?  register a Microsoft account (company-only)  buy a Symantec certificate (299$ approx)  generate an Application Token (.aetx)  distribute token to devices  sign the apps with the token  then  only token-enabled devices run the signed apps  side-loading is enabled without MS Company Store  also  create your own company-hub to manage content and apps from a single point. business scenario
  • 6.  windows phone 7.x  based on windows ce kernel  completely distinct platform from desktop o.s.  windows phone 8  based on common windows 8 architecture  shares a common kernel with pcs and tablets architecture
  • 7.  what's does it mean?  low level functions & driver model  shared between win8 and wp8  shared api  about 2800 member over 11000 in w8  600 additional members for wp8 shared kernel
  • 8.  what's the problem?  precompilation takes long time  on mobile these waiting are awful  recap: wp7 application startup is really slow  JIT: how do it works?  members are compiled before the use  when application is closed precompilation is discarted  how can we do?  NGEN assemblies before download?  precompilation when download happens, is too slow  what wp8 does?  compile in the cloud!  assemblies are pre-compiled before the download  a mdil file is prepared  MDIL = machine dependent intermediale language  it is something like a template with holes to fill  after download, mdil is converted to ngen  holes are filled. now it runs natively! compilation model
  • 9.  why coding native?  reusability  use of existing code you don't want to write again  portability  use code in different platforms  skills  use existing skills in C++  performances  the last of the problems... often not a good reason native C++ code
  • 10.  how-to  create a WinRT component  All your code is wrapped into the component  write code using specific conventions  classes must be "ref" and "sealed"  use compatible WinRT types  reference component by a C# project  fully native apps does not exists!  use the classes in the component from C#  all the magic is made by the WinRT projection layer native C++ code
  • 11.  Windows Phone 7.x  only 480 x 800 resolution allowed  Windows Phone 8.0  supports different sizes and resolutions  virtually you work always with 480x800 (or 853) multiple screen resolutions WVGA 720p WXGA true resolution 480x800 720x1280 768x1280 virtual resolution 480x800 480x853 480x800 aspect ratio 15:9 16:9 15:9 platform Windows Phone 7.x/8.0 Windows Phone 8.0 Windows Phone 8.0 scale 100 150 160 var width = Application.Current.Host.Content.ActualWidth; var height = Application.Current.Host.Content.ActualHeight;
  • 12. multiple screen resolutions  multiple sizes = much more attention  always pretend screen = 480 x 800  draw apps without size constraints  avoid absolute positioning  prefer "vector" to "raster"  provide large images or different scales  large images are scaled gracefully  with different scales: choose the better size  you can also:  disable specific resolution in manifest  this means to forget a particular segment of the market
  • 13.  Windows Phone 7.x  G&L is made by tricks  Windows Phone 8.0  easy & effective  project automatically prepared for G&L  localization works by Binding to resx  support for multiple languages  problems  ApplicationBar still doesn't support Binding   AppTitle localization requires Win32 resources globalization & localization
  • 14.  new concept of Contact Store  every app has its own store  can add and remove contacts silently  can prevent deletion from the its store  when uninstalled, contact store goes away  Notes  a contact store is an isolated sandbox  similar contacts in different stores are merged  Security  guaranteed by Windows Store Certification  if check fails, you can simply delete the app... contact stores
  • 15.  tiles  3 formats available to developers  small: 159x159  medium: 336x336  wide: 691x336  small & medium are required!  new Templates  TemplateFlip  front & rear predefined content  TemplateCycle  up to 9 rolling tiles  TemplateIconic  automatically reflects WP design guidelines  also supported in 7.8  manually via reflection  with Mangopollo project on codeplex http://mangopollo.codeplex.com/ tiles & lock screen
  • 16.  Iconic template: 110x110 & 220x220 tiles & lock screen
  • 17.  lock screen  when enabled reflects content from tile  User must enable app to lock screen  settings can be launched with a protocol  LockScreenManager  allow request authorization directly tiles & lock screen private async void OpenLockScreenSettings(object sender, RoutedEventArgs e) { await Windows.System.Launcher.LaunchUriAsync( new Uri("ms-settings-lock:")); }
  • 18.  protocol association  a protocol is registered (ex: myapp://)  if someone launch the protocol the app in called  the app receives the full uri  parameters are passed in the uri  file type association  a file extension is registered (ex: *.myapp)  when a file type is opened the app is called  the app receives a reference to the file  modification the original file require a copy.  other info  system protocol and types cannot be overriden (es: mp3, etc...)  multiple association are allowed. the choice is up to the user.  a file type supports an icon (3 sizes)  to launch an association  LaunchUriAsync  Protocols  LaunchFileAsync  File Types protocol & file association
  • 19.  near field communication  limited to short range (3-5 cm)  supports  custom string or binary messages  via publish-subscribe  use of known protocols  launch apps by id or protocol association  launch an url in the browser  initiator for launching sockets  bluetooh or wi-fi (developer choice)  read or write tags  write is limited  api allows to  set capability and requirements for app  check if NFC is supported/enabled bluetooth & NFC
  • 20.  bluetooth  Windows Phone 7.x  bluetooth is supported  no developer APIs  Windows Phone 8.0  bluetooth is extended (no HID profile)  developer APIs are provided  scenarios  Phone to Device  socket based  pick one of paired devices  your app is client to the device  Phone to Phone  socket based  search for another instance of your app to pair  your app is client & server  Windows 8 to Windows Phone 8 is allowed bluetooth & NFC
  • 21.  text to speech  supports different language inflections  supports SSML (Speech Synth Markup Language)  speech to text  supported two modes  SpeechRecognizerUI uses default UI  SpeechRecognizer allow speech recognition without UI  allowed to use preloaded grammar to improve recognition  result speech SpeechSynthesizer tts = new SpeechSynthesizer(); await tts.SpeakTextAsync("Please hold on!");
  • 22.  predefined sequences that matches an action start music player and play latin songs and play latin songs  result  app music player is started  app get "PlaySongs" command with 'latin' argument voice commands starts the app optional command command dynamic discarted argument
  • 23. voice commands <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0"> <CommandSet xml:lang="en-US" Name="DefaultCommandSetEnglish"> <CommandPrefix>Music Player</CommandPrefix> <Example>play some songs</Example> <Command Name="PlaySongs"> <Example>play random songs</Example> <ListenFor>[and] play {genre} songs</ListenFor> <ListenFor>[and] play [some] songs</ListenFor> <ListenFor>[and] play {mode} songs</ListenFor> <Feedback>Playing music...</Feedback> <Navigate Target="MusicPlayer.xaml" /> </Command> <PhraseList Label="genre"> <Item>rock</Item> <Item>latin</Item> <Item>classic</Item> <Item>funky</Item> <Item>jazz</Item> </PhraseList> <PhraseList Label="mode"> <Item>all</Item> <Item>random</Item> <Item>favorite</Item> </PhraseList> </CommandSet> </VoiceCommands>
  • 24. feedback 10 o feedback su: • http://xedotnet.org/feedback • codice feedback: • email: andrea@boschin.it • twitter: @aboschin • facebook: https://www.facebook.com/thelittlegrove • gamertag: codeblock68 feedback