Windows Phone: Introducing App Development
description
Transcript of Windows Phone: Introducing App Development
Windows Phone:Introducing App DevelopmentSam GeorgePrincipal Group Program ManagerWindows Phone App Platforms2-201
Win a Nokia Lumia 928!At the end of the session, we’ll be asking a question on something from the session
Answer it first and correctly, and win a Nokia Lumia 928!
Great NewsKey Concepts for Getting StartedDemos
Agenda
Great News
Apps just in…
Source: Windows Phone Store. Period: 10/30/12 - 1/31/13
Source: Windows Phone Store. Period: 10/30/12 – 5/31/13
160k+Apps
Store available in 50 languages and 191 markets
102k+More developers
New registered developers
2.5xMore Revenue
Increase in daily app revenue
More Downloads200M
Monthly app downloads
More apps
52k+New apps submitted with Windows Phone 8 SDK
As of 6/21/13
Amazing Momentum Since Launch
42% of Windows Phone devices were upgrades from “feature phone” to
smartphone.
4 billion “feature phone” customers worldwide still do not have a smartphone.
23% of Windows Phone devices were bought by users upgrading from Android.
Windows Phone is growing 6x faster than the overall smartphone market
Let’s Get Started
We have an amazing amount of online training on all aspects of Windows Phone development
40 hours of video or audio training!
Slides, video, audio, self-assessments
It Has Never Been Easier to Learn
Jump Start http://aka.ms/wp8jsDesign Boot
Camphttp://aka.ms/wp8designbootcamp
Training Kit http://aka.ms/wp8holAbsolute
Beginners http://aka.ms/wpdevbegin
We Have a Full Featured App Platform
Design Principles XAML
Files and Storage
C#Native Code Reuse
App ModelApplication Lifecycle
Background Agents
Live Tiles
Lock Screen and Notifications
Lock Screen Wallpaper
Push NotificationsDirectX Interop
WebBrowser
App to App Communication
HTTP NetworkingSockets
Bluetooth
Proximity
Speech
MapsLocation
Wallet
In-App Purchase
TrialDevCenterEnterprise
Background Audio
VoIPVideo
CompassCamera
Lenses
File Associations
Controls
Launchers & Choosers
Data
Hubs
Pages & Navigation
C++
VB.NET
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild for Both
Today’s Talk:
What You Need To Get Started
Dev Center & ToolsDev CenterDesign GuidelinesDeveloper Tools & SDKsVideos, Blogs, Samples, Publishhttp://developer.windowsphone.com/
ToolsVisual Studio, Blend, Emulator, Device Unlock, App Deploy, Store Test Kit
DemoDev Center & Tools
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
Design Principles
Pride in craftsmanshipMore with lessFast and fluidAuthentically digitalWin as one
http://aka.ms/wpuxprinciples
To Learn MorePH 2-202: Windows Phone Design for DevelopersCorrina BlackHappening right now (watch it on demand later)North 135
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
UI Framework & XAMLUI Framework• Signature & Standard Controls• Layouts• Tree based• Retained mode / composited
framework• Fully extensible• UserControl & Panel• Styling• Templating• Subclassing
XAML• eXtensible Application Markup
Language• A declarative, markup-based
language to define your user experience
• Everything you can do in XAML you can do in code – it’s just easier in XAML.
<StackPanel> <TextBox/> <Button/></StackPanel>
StackPanel stackPanel = new StackPanel();
TextBox textBox = new TextBox();stackPanel.Children.Add(textBox);
Button button = new Button();stackPanel.Children.Add(button);
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
ControlsReusable & CustomizableEmbody the Windows Phone design principlesSignature ControlsPanorama, Pivot, LongListSelector, AppBar
Standard ControlsMap, WebBrowser, Ads, Intrinsic Controls (Button, TextBox, Grid, etc)
Toolkit ControlsDatePicker, TimePicker, Rating, AutoCompleteBox, etc
Signature Controls: Panorama
Signature Controls: Pivot
Signature Controls: LongListSelectorJumpListSticky Headers Grid View
DemoControls
To Learn MorePH 2-208: Windows Phone UI in XAMLShawn OsterToday at 5PM, North 134
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
Pages & NavigationPages contain contentPhoneApplicationPage class and subclasses
Frame is the top level container control that performs navigationPhoneApplicationFrame class
Apps navigate between pages, passing data between themSimilar to web page model: frame is browser, pages are content
Pages & Navigation
*Screens Transient UI the user does not navigate to Shown in a Popup control by a Page.
*
*
Page Navigation
Each page identified by a URIEach page is essentially stateless
private void btnLongListSelector_Click(object sender, RoutedEventArgs e){ NavigationService.Navigate(new Uri("/LongListSelectorPage.xaml", UriKind.Relative));}
To Learn MorePH 2-204: Windows Phone App FoundationThomas FennelToday at 2PM, North 134
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
Windows Phone Live TilesLive Tiles provide glanceable access to information users care the most aboutLive Tiles can be updated:• From within your app while it is running• As a scheduled task when your app is not
running• In response to Push Notifications
All apps have at least one tile, known as the default tile• Created by user pinning your app to the Start
Screen • Launches main app page
Apps can create additional (secondary) tiles• Created programmatically• Can launch to any page in your app
Static or Dynamic Content• Image / text Based• Apps can generate image from XAML content
In Windows Phone 8.0, you can support three different tile sizes
Windows Phone Live Tiles
Windows Phone 8 Supports Three Tile TemplatesFlipFlips from front to backSimilar to the WP 7.1 Tile template
IconicClean iconic layout designed to reflect Windows Phone design principles
CycleCycles through up to nine images
DemoLive Tiles
To Learn MorePH 2-206: Windows Phone Tiles, Lock and NotificationsThomas FennelThursday 11:30 am, North 134
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
Launchers & ChoosersEnables an app to reuse common functionality from the phoneMicrosoft.Phone.TasksLaunchersSimply launches an experience, like the browser or a mapYou pass data to the launcher, but it does not return data to your appChoosersLaunches an experience to return data to your app, like a photo
Launchers & ChoosersAddressChooserTask MapsTask SaveContactTaskAddWalletItemTask MapUpdaterTask SaveEmailAddressTaskBingMapsDirectionsTask MarketplaceDetailTask SavePhoneNumberTaskBingMapsTask MarketplaceHubTask SaveRingtoneTaskCameraCaptureTask MarketplaceReviewTask SearchTaskConnectionSettingsTask MarketplaceSearchTask ShareLinkTaskEmailAddressChooserTask MediaPlayerLauncher ShareMediaTaskEmailComposeTask PhoneCallTask ShareStatusTaskGameInviteTask PhoneNumberChooserTask SmsComposeTaskMapDownloaderTask PhotoChooserTask WebBrowserTaskMapsDirectionsTask SaveAppointmentTask
DemoLaunchers & Choosers
To Learn MorePH 2-204: Windows Phone App FoundationThomas FennelToday 2pm, North 134
PH 2-212: Windows Phone Cross App CommunicationsSean McKennaFriday 2pm, South 222
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
Web ContentWebBrowser controlStandard XAML controlEmbed in your app – can even “host” the entire app
IE10 BasedHTML5 supportHardware acceleratedBuilt for touch
IE10 Hardware-Accelerated Web PlatformCSS 2D TransformsCSS 3D TransformsCSS AnimationsCSS Backgrounds & BordersCSS ColorCSS Device Adaptation*CSS Flexbox*CSS FontsCSS Grid*CSS Image Values (Gradients)CSS Media QueriesCSS Multi-Column Layout*CSS NamespacesCSS OM Views
CSS Regions And Exclusions*CSS SelectorsCSS TransitionsCSS Values And UnitsData URIDOM Element TraversalDOM HTMLDOM Level 3 CoreDOM Level 3 EventsDOM StyleDOM Traversal And RangeDOMParser And XMLSerializerECMAScript 5FormdataHTML5 Application
CacheHTML5 Async ScriptsHTML5 BlobBuilderHTML5 CanvasHTML5 Drag And DropHTML5 Forms And ValidationHTML5 GeolocationHTML5 History APIHTML5 ParserHTML5 SandboxHTML5 SelectionHTML5 Semantic ElementsHTML5 Video And AudioJavaScript Typed ArrayICC Color Profiles
IndexedDBPage VisibilityPointer (Mouse, Pen, And Touch) Events*RequestAnimationFrameNavigation TimingSelectors API Level 2SVG Filter EffectsSVG, Standalone And In HTMLWeb MessagingWeb SocketsWeb WorkersXHTML/XMLXHR (Level 2)XHR CORS
DemoWeb Content
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
Making MoneyPaid Apps Trial -> Paid In-App Purchase Ads
Payment Methods: More Than iOS & Android
List of MOs: http://msdn.microsoft.com/library/windowsphone/help/jj215902(v=vs.105).aspx
Leading Credit CardsMobile Operator Billing:• 3x greater sales than when
only credit card is available• More Mobile Operator
partners than Google Play• 30 Total!
• Access to markets with low credit card penetration
Alipay & PayPal:• 10x purchases in China!• Paypal option vs Credit Card
Tips on Making MoneyUse Trial API or Freemium (IAP)70x more downloads, 7x more revenue
Use Live TilesTop 50 apps are 3.7x more likely to have Live Tiles
Use Push NotificationsTop 50 apps are 3.2x more likely to use these – keeps users engaged
Use Ad Control with LocalizationMore local relevance drives more clickthroughs
Follow the Windows Phone Design PrinciplesConformant apps are featured in the store more frequently
Tips on Making MoneyLocalize Your AppLanguage, currency, symbols
Publish GloballyFastest growth occurring in new markets
Watch Your Memory UsageApps that use < 90MBs of memory work well on all devices – performance tools help
Act on FeedbackPrompt for reviews and feedback… and fix
Update FrequentlyTop 50 apps are updated every 2-3 months
To Learn MorePH 2-213: Maximizing RevenueBernardo ZamoraToday at 3:30pmNorth 135PH 2-221: Windows Phone Low MemoryAndrew WhitechapelThursday at 5pmNorth 135PH 2-216: Windows Phone Dev Best PracticesStefan WickFriday at 10:30amNorth 134
Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both
Topics
Build For BothWindows and Windows Phone Shared CoreStraightforward to share code between appsMVVM - Model View ViewModelEasy to share Model and ViewModel for both appsViews are tailored to screen sizesEasiest if you build both apps at the same time
To Learn MorePH 2-215: Build for Both Windows 8 and Windows Phone 8Matt HidingerThursday 2pm, North 134PH 2-219: Story of Nokia Music from Windows Phone to Windows 8Matthew CooperThursday 3:30pm, North 134PH 2-205: Windows Phone: MVVM in PracticeMatthias ShapiroFriday 12pm, North 134
Wednesday Thursday Friday09:00 Keynote Keynote PH 2-222
WP NetworkingPeter TorrNorth 13409:30
10:00
10:30 PH 2-211Using Native in your appsTim LavertySouth 102
PH 2-216WP Dev Best PracticesStefan WickNorth 134
11:00
11:30 PH 2-201Intro to WP DevSam GeorgeNorth 134
PH 2-202WP Design for DevCorrina BlackNorth 135
PH 2-206WP Tiles, Lock, NotificationsThomas FennelNorth 13412:00 PH 2-205
WP: MVVM in PracticeMatthias ShapiroNorth 13412:30
13:0013:3014:00 PH 2-204
WP App FoundationThomas FennelNorth 134
PH 2-215Build for Both Win 8 and WP8Matt HidingerNorth 134
PH 2-212WP Cross App CommsSean McKennaSouth 222
PH 2-220WP Map AppsMike O’MalleyNorth 13414:30
15:0015:30 PH 2-210
WP Camera appBerthier LemieuxNorth 134
PH 2-213Maximize RevenueBernardo ZamoraNorth 135
PH 2-219Story of Nokia Music from WP to Win 8Matthew CooperNorth 13416:00
16:3017:00 PH 2-207
WP Game BasicsJoao RazaSouth 304
PH 2-208WP UI in XAMLShawn OsterNorth 134
PH 2-208WP MiddlewareJC CimetiereNorth 132
PH 2-221WP Low MemoryAndrew WhitechapelNorth 135
PH 2-218WP Contest PanelPanelNorth 12317:30
There Has Never Been a Better Time to Build a Windows Phone AppDev Center
Registration
US $19
Limited time promotion
Developer resourcesMSDN DOCS
Design http://aka.ms/wp8devdesignDevelo
phttp://aka.ms/wp8devdoc
Test http://aka.ms/wp8testingPublish http://aka.ms/wp8publishi
ngSamples
http://aka.ms/wp8samples
TRAINING CONTENT
Absolute Beginners http://wpdev.ms/beginvidsJump Start http://aka.ms/wp8js
Design Boot Camp http://aka.ms/wp8designbootcamp
Training Kit http://aka.ms/wp8hol
NEWS & UPDATES
Portal http://dev.windowsphone.comBlog http://wpdev.ms/developerblogChannel
9http://wpdev.ms/insidewp
Twitter http:/twitter.com/wpdev
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.