build your wp8 app today
DESCRIPTION
A short 45min talk about why and how getting started and build your Windows Phone 8 app today.TRANSCRIPT
Windows Phone
Osez franchir le cap !
Windows Phone ?Once upon a time…
ModernUI (Metro) everywhere
Flash back
WM6.5 WP7.0WP7.0.
x (Nodo)
WP7.1 (Mango
)
WP7.1 (Tango)
WP8.0 (Apollo)
WP8 GDR2
WP8 GDR3 WP8.1
« We screwed up WM6.5 »(Steve Ballmer)
Septembre 09
Octobre 10
Mars 11
Septembre 11
Juin 12
Octobre 12
WP7.8
Août 13
Novembre 13
2014
Fresh news
Hi, I’m JeremyBefore the fun begins
Introduction
Jérémy Alles
MVP / WPF Disciples
@jalpf
www.japf.fr
A fast and fluid todo list
Windows Phone + Windows 8
Sync in the cloud
2day-app.com
45min for an overview of Windows Phone development ?
Design Principles XAML
Files and Storage
C#
Native Code Reuse
App Model
Application LifecycleBackground Agents
Live Tiles
Lock Screen and Notifications
Lock Screen Wallpaper
Push Notifications
DirectX Interop
WebBrowser
App to App Communication
HTTP NetworkingSockets
Bluetooth
Proximity
Speech
MapsLocation
Wallet
In-App Purchase
Trial
DevCenterEnterprise
Background Audio
VoIP
Video
CompassCamera
Lenses
File Associations
Controls
Launchers & Choosers
Data
Hubs
Pages & Navigation
C++
VB.NET
What about you ?“Who are you people ?”
Agenda
Getting startedDev platformUI platformLive tiles & lockscreenMonetizationBuilding for both screensMiscConclusion
Ready, go ?WindowsPhone.exe
Dev Centerhttp://developer.windowsphone.com
Dev Center Registratio
n
US $19
Tools
What you need ?Visual Studio 2012Visual Studio 2013
FREE edition available !
To use the emulator ?An Hyper-V capable hardware
To deploy on a device ?A developer account (19$)Or an App Studio account (free)
Demo: First WP app from VS2013Project New Debug Start Debugging !
Windows Phone Dev PlatformC# + XAML = Love
Platform options
XAML + Managed Code (C# or VB)
DirectX + Native Code (C or C++)
Mix of bothReuse existing native librariesAdd 3D vizualization to a XAML app
C#
Static typing
MSIL
C#
Partial types
Nullable typesObject initializers
Linq
Async
Compiler as service
Await
Events
DynamicVar
Iterators
Auto properties
Covariance
Lambda
Extension methods
Contravariance
.Net
Delegates
ClassEnum
Properties
Anonymous types
Controls
Named arguments
Caller info
Generics
Yield
VB
Multitasking on Windows Phone
Windows Phone 7Tombstoning
Run Under Lock
Notifications
Windows Phone 7.5Fast App Switching
Background Audio Playback
Generic Background Agents
Windows Phone 8VoIP
Continuous Background Execution
Fast App Resume
Evolution of Multitasking
Windows Phone UI platformUsing XAML
Design Principles
Pride in craftsmanship
More with less
Fast and fluid
Authentically digital
Win as one
http://aka.ms/wpuxprinciples
UI Framework & XAML
UI FrameworkSignature & Standard Controls
Layouts
Tree based
Retained mode / composited framework
Fully extensibleUserControl & Panel
Styling
Templating
Subclassing
XAMLeXtensible 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);
Controls
Reusable & CustomizableEmbody the Windows Phone design principles
Standard ControlsMap, WebBrowser, Ads, Intrinsic Controls (Button, TextBox, Grid, etc)
Toolkit ControlsDatePicker, TimePicker, Rating, AutoCompleteBox, etc
Signature ControlsPanorama, Pivot, LongListSelector, AppBar
Signature Controls: Panorama
Signature Controls: Pivot
Signature Controls: LongListSelectorJumpListSticky Headers Grid View
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));}
Live Tiles & Lock ScreenStaying alive !
Tile Templates and Tile Sizes
Flip – flips from front to back
Iconic – clean iconic layout
Cycle – cycles through up to nine images
30
Your app can show detailed status on the lock screen
Your app can show quick status (icon and count)
Your app can update the background image
Lock Screen on Windows Phone 8
MonetizationGive me the cash !
Making MoneyPaid Apps Trial -> Paid In-App Purchase Ads
Microsoft takes 30% of your revenue (up to 25,000$, 20% after)
Build for bothWindows Phone 8 + Windows 8
Build For Both
Windows and Windows Phone Shared CoreStraightforward to share code between appsNo XAML sharing technique however…
MVVM - 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
MiscSome other useful stuff you might to look at
Team Foundation Service
Azure Mobile Services
App Studio
Build an app from your browser
Add content
Customize the app
Download it on your device
Share with family & friends
ConclusionSi c’est pas maintenant le bon moment ?
Conclusion
It’s the best time to get started !Tons of useful resources available onlineTopics we didn’t covered…
More advanced APIs: speech, NFC, wallet, background tasks…Launchers and choosersFile associationDeployment…
Happy to take questions !
Jump Start http://aka.ms/wp8js
Design Boot Camp
http://aka.ms/wp8designbootcamp
Training Kit http://aka.ms/wp8hol
Absolute Beginners
http://aka.ms/wpdevbegin