350 likes | 634 Vues
Windows Phone 7 Development. Tomer Shamam. Senior Architect Sela Group. Agenda: Windows Phone 7. General Concept Metro Software Architecture Silverlight Capabilities Application Model Activation and Navigation Application Lifecycle User Interface
E N D
Windows Phone 7Development Tomer Shamam Senior Architect Sela Group
Agenda: Windows Phone 7 • General Concept • Metro • Software Architecture • Silverlight Capabilities • Application Model • Activation and Navigation • Application Lifecycle • User Interface • Application Bar and System Tray, Panorama, Pivot • Integration Services • Launchers and Choosers, Tiles and Push Notifications, Location and Services Cloud and Integration Services App Model UI Model Software Architecture Hardware Foundation
Cloud and Integration Services General Concept App Model UI Model Software Architecture Hardware Foundation
New Concept DESIGN: END USER COMES FIRST PLATFORM: RICHER, DEEPER, EASIER APPS HARDWARE: FASTER TO MARKET, LESS HEAVY LIFTING
Life Maximizers WHO ARE LIFE MAXIMIZERS? WHAT’S IMPORTANT TO THEM? • Busy personally and professionally • Living a rich, active life • Settled rather than seeking • Juggling priorities • Value technology as a means to achieve goals • Not feeling overwhelmed • Balanced priorities • Growing personally and professionally • Living life to the fullest
Hardware Foundation (in 7.0) Capacitive touch 4 or more contact points 800 Sensors A-GPS, Accelerometer, Compass, Light, Proximity, Camera 5 mega pixels or more Multimedia Common detailed specs, Codec acceleration Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM8x55 800Mhz or higher Hardware buttons | Back, Start, Search 480
Two Flavors of Applications • Modern XAML/event-driven application UI framework • Rapid creation of visually stunning apps • Metro-themed UI controls • HTML/JavaScript • 500,000 developers spanning Windows and web • High performance game framework • Rapid creation of multi-screen 2D and 3D games • Rich content pipeline • Mature, robust, widely adopted technology spanning Xbox 360, Windows, and Zune
Windows Phone Developer Tools Tools Phone Emulator Windows Phone Emulator Samples Documentation Packaging & Verification Tools Guides Community Windows Phone device Packaging and Verification Tools myapp.xap
Deployment Process Develop & Debug Submit& Validate Certify & Sign Windows Phone Application Deployment Service Marketplace
Cloud and Integration Services Software Architecture App Model UI Model Software Architecture Hardware Foundation
Silverlight Capabilities • Inputs • Keyboard, Mouse, Touch, Ink • XAML UI Core • Common Controls, Text, Images, Data Binding, Page Navigation, Vector Graphics, Animation, Transformation, Styles and Templates • Media • Capture and Playback, VC1, WMA, MP3 • Data • LINQ to Objects, LINQ to XML, Isolated Storage, XML • Base Class Library • Generics, Collections, Cryptography, Threading • Communication • REST, RSS/ATOM, SOAP
Multitouch • OOB Controls support touch • Translate touch events to mouse events • ScrollViewer has built-in support for pan and flick • Manipulation for all UIElements • Scale • Translate • Raw Touch, compatible with SL3
Keyboard • Silverlight TextBox integrates with the SIP (on screen keyboard) • Password has a delay • SIP supports input scoping • Key InputScopes: Text, Url, Number, Time, TelephoneNumber, EmailNameOrAddress
Media • Media support • H/W decode • MediaStreamSource • PlayReady DRM • MediaElement Limitations • One MediaElement only • XNA sound effect API • Supports polyphonic, looping wav data
Isolated Storage • Compatible APIs with Silverlight on desktop • No quota limits • Not shared • No write access to Media Library, use XNA for that • Use for your application settings
Cloud and Integration Services ApplicationModel App Model UI Model Software Architecture Hardware Foundation
Activation and Navigation • Activation Events • Handled by the Application instance • Launching, Activated, Deactivated and Closing • Navigation Events • Handled by each PhoneApplicationPage class • OnNavigatedTo, OnNavigatedFrom, OnBackKeyPressed, OnChooserReturn, OnOrientationChanged • Controlled by • Hardware using Back and Home keys • Software using Navigation Service
Application Lifecycle Save State! Load State! • Phone removed from memory • Some state saved to storage
Cloud and Integration Services UIModel App Model UI Model Software Architecture Hardware Foundation
Application Bar and System Tray • System Tray • No integration, but does affect Layout • Show:Hide using SystemTray.IsVisible • Application Bar • Up to 4 Buttons • Menu Items (Recommended 6) • Toggle Visibility • <mypage>.ApplicationBar.IsVisible
Panorama • Part of the native Windows Phone look and feel • Panorama is a long horizontal canvas • PanoramaItemserves as a container that hosts other content and controls
Pivot • Provides a quick way to manage views or pages • Pivot is a container of pivot items • PivotItem contain individual page content such as controls, grids, or links
Many more… • Standard Controls • Buttons, Image, Layout, ListBox, TextBox, Slider, Other… • Bing Maps • Bing Map Control, Integration with Bing Maps Services • Deep Zoom • Included in core run-time , Optimized to take advantage of GPU, Consumes same content as SL on desktop, Supported for Online content • Web Browser • Displays network and local content, Supports pan, double tap and pinch to zoom, Supports transforms & projections, Application can interact with javascript
Cloud and Integration Services IntegrationServices App Model UI Model Software Architecture Hardware Foundation
Launchers & Choosers • Enable applications to provide a set of common phone tasks to their users • Launchers let you fire and forget • SMS, Email, Web Browser, Dialer, Search, etc. • Choosers let you fire and pick the results back • Picture, Camera, Contact, etc.
Types of Push Notifications • Tile notifications • Update tile count, title and background image • Toast notifications • Display a on-top-like message • Raw notifications • Can be used in application logic
Location and Services • The service obtains location data from multiple sources such as GPS, Wi-Fi, and cellular • Applications can access location information • Allows you to create location-aware applications
Register Your Device Test on a physical device Register your device Install, run, and debug unsigned applications Use Zune to register your device