Designing and Developing a Windows Phone 7 Application in Silverlight End-to-End.

Slides:



Advertisements
Similar presentations
USING THE MODEL-VIEW- VIEWMODEL PATTERN Laurent Bugnion Director, User Experience Integration IdentityMine
Advertisements

Tips, Tricks, and Techniques for Building Killer Silverlight Apps Jeff Prosise
Build-Deploy-Test with Visual Studio Lab Management 2010 Pieter Gheysens Visual Studio ALM MVP – Sparkles User Group Lead VISUG (
Essentials of Developing Windows Phone Apps Chinthaka Dissanayake Tech Lead Exilesoft.
Windows Phone
HTML5 That’s what you need to know today Ingo Rammer, thinktecture
Announcement Feb WMC Barcelona. WMC Barcelona.
Building Windows Phone Applications with Silverlight Nguyen Thanh Tung Project Manager - MISA JSC.
Building Windows Phone Applications with Silverlight Your Name.
An introduction to. Introductions  I’m Rob Fonseca-Ensor  A Solution Architect at Infusion  I run the Canary Wharf.NET User Group  I blog at
& Silverlight, Windows Phone 7, Windows Azure, jQuery, OData and RIA Services. Shaken, not stirred. Kevin
Switching on the cloud for Silverlight MSDN Live Meeting Gill Cleeren Microsoft Regional Director – Silverlight MVP Ordina Belgium.
Khalid Siddiqui Senior Architect, Mobility Center of Excellence Microsoft Corporation SESSION CODE: WPH311.
Parallel Programming in.NET 4.0 Tasks and Threading Ingo Rammer, thinktecture
Total Workstation Lockdown: Your Action Plan Jeremy Moskowitz, Group Policy MVP Chief Propeller-Head: GPanswers.com Founder: PolicyPak Software (policypak.com)
Charles Petzold Launchers and Choosers.
NuGet in Depth Making Open Source Suck Less at Microsoft Scott Hanselman
2 Philosophy Customer Design Experience Platform.
What is WP APP Studio Windows Phone App Studio is a tool to make high quality Windows Phone apps 100% Web-based tool „Code-free” development tool Edit-Continue.
Parallel Programming in.NET 4.0 Tasks and Threading Ingo Rammer, thinktecture
Developing Windows Phone 7 applications Igor Ralić Vedran Vučetić
Windows Phone Application Development Using C#/XAML.
Tim Huckaby Founder, InterKnowlogy Microsoft RD & MVP SESSION CODE: WEB203.
Making Money with Windows Phone Applications and Games Todd Biggs, Director of Product Management John Bruno, Lead Program Manager.
Migration and Deployment of Office 2010 Steffen Krause Senior Technical Evangelist Microsoft Deutschland GmbH
Windows Azure for IT Pros Kurt CLAEYS (TSP Windows Azure, Microsoft EMEA)
WINDOWS PHONE 7.5 “MANGO” ADVANCED Laurent Bugnion Director of UX Integration IdentityMine
Silverlight 101 Ahead! If you know Silverlight and are looking for more advanced content check out : ‘Microsoft Silverlight “Media” : Moving at 60fps’
Building Windows Phone Applications with Silverlight Jaime Rodriguez
Building Windows Phone applications with Silverlight, part 2 Peter Torr Program Manager, Microsoft
Forthcoming SQL Azure Services: SQL Azure Data Sync & SQL Azure Reporting Mark Scurrell Lead Program Manager Microsoft.
Drew Lytle Principal Program Manager Microsoft Corporation SESSION CODE: WPH203.
An Introduction to Developing Applications for Microsoft Silverlight Jaime Rodriguez
Switch on the LightSwitch Gill Cleeren Microsoft Regional Director / Silverlight MVP Ordina Belgium
Building Windows Phone Applications with Silverlight (Part 1) Mike Harsh Program Manager, Microsoft.
Developing SaaS Applications with the Windows Azure Platform Vittorio Bertocci
Service Manager 2010 Real Life Example: The coffee workflow Mike Resseler & Alexandre Verkinderen Infront Consulting Group.
Building Robust, Maintainable Coded UI Tests with Visual Studio 2010 Brian Keller Sr. Technical Evangelist – Visual Studio ALM
Ken Casada Developer Evangelist Microsoft Switzerland Visual Studio LightSwitch.
WINDOWS PHONE 7 DEVELOPER GUIDE A guide to 3 screens and the cloud Scott Densmore Sr. Software Development Engineer Microsoft patterns & practices.
Exploring Mobile Device Networking Lesson 4. Exam Objective Matrix Skills/ConceptsMTA Exam Objectives Understanding Networking for Mobile Devices Network.
Spaso Lazarević Microsoft MVP Nova banka ad Banja Luka Building business application using Visual Studio 2013 LightSwitch.
To OData or Not to OData Chris Eargle kodefuguru.com.
Testing, Debugging, and Deploying a Mobile App Lesson 8.
Understanding Mobile Devices, Interactions, and Tools Lesson 1.
What’s new in Azure SDK 1.3 (and 1.4) Peter Himschoot Microsoft Regional Director Belux U2U Trainer/Architect
Programering af mobile enheder Windows Phone Uge 9 Part 1.
THE SOURCE OF 4 TH & MAYOR: CODE, HACKS, TRICKS Jeff Wilcox Senior Software Development Engineer Microsoft SESSION CODE: WPH308 (c) 2011 Microsoft. All.
Daniel Tizon Semior Consultant, Microsoft Regional Director ANURA-SOLSTEAM Développez pour Windows Phone 7.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Creating mobile applications that integrate with SharePoint 2013 on-
The Windows Phone Application Platform
Dive into Application Lifecycle Management with Visual Studio 2010
Automating AD Administration with Windows PowerShell
Windows Phone 7 advanced services
Windows Phone Platform Integration Yochay Kiriaty
Rock Hard: C++ Evolving
Glenn Block MEF in the real world Glenn Block
Building Windows Phone 7 Applications with the Windows Azure Platform
SharePoint & jQuery: Better Together
Tech Ed North America /1/ :36 AM Required Slide
Unlocking the secrets of REST with WCF
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
WCF Web API, HTTP your way
TechEd /18/2019 2:30 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Chris Eargle kodefuguru.com
Delivering great hardware solutions for Windows
XAML Deep Dive for Windows & Windows Phone Apps Jump Start
Architecting Silverlight Applications with MVVM
4/19/2019 1:57 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Presentation transcript:

Designing and Developing a Windows Phone 7 Application in Silverlight End-to-End

Contents Seeing it all come together Cloud service and SQL Azure OData MVVM Using Expression Blend for UI Phone integration Location services Choosers & Launchers Application Bar Page Navigation Databinding Custom user controls

CLOUD SCREEN Phone Emulator SamplesDocumentation GuidesCommunity Packaging and Verification Tools Notifications LocationIdentityFeeds MapsSocial App Deployment Registration Validation Certification Publishing Marketplace MO and CC Billing Business Intelligence Update Management Elements of the Windows Phone 7 Application Platform Tools Portal ServicesCloud Services SensorsMediaData Xbox LIVENotifications.NET Framework managed code sandbox Location Phone Runtime – On “Screen”

Outloud Architecture ScreenThe Cloud Opinion WiFi MVVM … Outloud Pictures Push Notification: New Opinion OutloudoData SA Storage Aggregated Opinion

DEMO Cloud: Outloud Services Client: Outloud Model

MVVM > The Model Opinion id mood name latitude longitude description dser pictureURL AggregatedOpinion name numberofopinions averagemood

Outloud MVVM Model View-Model View Opinion Entity (EF)SubmitOpinionViewModel OpinionsViewModel AggregatedOpinionViewModel OpinionViewModel SubmitOpinion MainPage AggregatedOpinion DetailedOpinion MVVM Options: Hand Coded Frameworks: Laurent Bugnion’s Light MVVM: Nikhilk Kothari’s FX Framework: Michael Sync’s Silverlight MVVM Toolkit:

UI Guidelines and controls Panorama style applications Pivot style applications

MVVM – Main page (Pivot) Model AggregatedOpinion MainPage Pivot all nearby Appbar OpinionsViewModel bool IsDataLocationLoaded NearBy All PropertyChanged GeoCoordinateWatcher (via GPS Helper) GeoCoordinateWatcher (via GPS Helper)

MVVM –Submit opinion control Model Opinion SubmitOpinionViewModel TakePicture (RelayCommand-MVVMLight) NewOpinion ChosenPicture CurrentGeoCoordinate IsSubmitting SubmitOpinion (RelayCommand-MVVMLight) CancelOpinion (RelayCommand-MVVMLight) SubmitOpinion Submit (control) Step 1 Step 2 Step 3 Step 4 MoodSelector(control) ButtonTakePicture Send Cancel …….. BoolVisibilityConverter EventToCommand

DEMO Main page and a user control

MVVM – Main page and Submit opinion SubmitOpini on MainPage OutloudoDataclient AggregatedOpinion OpinionsViewMod el SubmitOpinionVie wModel RelayCommand (MVVMLight ICommand) EventToCommand (MVVMLight behavior) Opinion Location with GeoCoordinateWatch er Pivot AppBar

MVVM Design data Model AggregatedOpinion OpinionsViewModel AllOpinionsViewModel AllAggregatedOpinions IsDataLoading NearByOpinionsViewModel NearByAggregatedOpinions IsDataLoading BoolToVisbility MainPage Pivot all nearby …….. BoolToVisbility

DEMO Design Data

MVVM Getting Real Data Model AggregatedOpinion OpinionsViewModel AllOpinionsViewModel AllAggregatedOpinions IsDataLoaded NearByOpinionsViewModel NearByAggregatedOpinions IsDataLoaded BoolToVisbility MainPage Pivot all nearby …….. BoolToVisbility OutloudoData SA Storage AggregatedOpinions GetNearByOpinions

Navigating master-detail

MVVM Master-Detail View Model AggregatedOpinion OpinionsViewModel AllOpinionsViewModel SelectedAggregatedOpinion NearByOpinionsViewModel SelectedAggregatedOpinion SelectedItem MainPage Pivot all nearby SelectedItem WP7Contrib LastReplayMessenger AggregatedOpinion Name AverageMood List of Opinions AggregatedOpinion Name AverageMood List of Opinions AggregatedOpinionVM AggregatedOpinion IsDataLoading …….. BoolToVisbility SelectionChanged OutloudoData SA Storage

DEMO Real data and navigation

Tombstoning PhoneApplicationPage.State PhoneApplicationService.State App events Application_Launching Application_Activated Application_Deactivated Application_Closing

MVVM - CameraTask, Tombstoning and save real data Model Opinion SubmitOpinionViewModel TakePicture (RelayCommand-MVVMLight) NewOpinion ChosenPicture CurrentGeoCoordinate IsSubmitting SubmitOpinion (RelayCommand-MVVMLight) CancelOpinion (RelayCommand-MVVMLight) SubmitOpinion Submit (control) Step 1 Step 2 Step 3 Step 4 MoodSelector(control) ButtonTakePicture Send Cancel …….. BoolVisibilityConverter EventToCommand Tombstone (Visual State Manager) Tombstone (Visual State Manager) OutloudoData SA Storage

DEMO Camera integration and tombstoning Saving real data

List of choosers and launchers Launchers BingMapsTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTask MarketplaceSearchTask MediaPlayerLauncher PhoneCallTask Save AddressTask SavePhoneNumberTask (cont’d) SearchTask ComposeTask SMSComposeTask WebBrowserTask Choosers CameraCaptureTask PhoneNumberChooserTask PhotoChooserTask AddressChooserTask

DEMO Saving real data

MVVM - CameraTask, Tombstoning and save real data Model Opinion SubmitOpinionViewModel TakePicture (RelayCommand-MVVMLight) NewOpinion ChosenPicture CurrentGeoCoordinate IsSubmitting SubmitOpinion (RelayCommand-MVVMLight) CancelOpinion (RelayCommand-MVVMLight) SubmitOpinion Submit (control) Step 1 Step 2 Step 3 Step 4 MoodSelector(control) ButtonTakePicture Send Cancel …….. BoolVisibilityConverter EventToCommand Tombstone (Visual State Manager) Tombstone (Visual State Manager) OutloudoData SA Storage

Push Notification Model Opinion OpinionsViewModel MainPage Pivot «Hotel A» NewOpinionArrived Callback (Opinion) New Opinion OutloudoData Register for Notifications Subscribe to Notifications PropertyChanged Raw/Tile/Toast

DEMO out.loud Push Notification

Recap Push Notification Model Opinion OpinionsViewModel MainPage Pivot «Hotel A» NewOpinionArrived Callback (Opinion) New Opinion OutloudoData Register for Notifications Subscribe to Notifications PropertyChanged Raw/Tile/Toast

WHAT’S MISSING?

DEMO Back key press

Possible improvements for demo Categories of opinions Subscribing to categories for push notification Settings page for push notification Saving state for current opinions Orientation support Integration with authentication & membership Integration with Twitter Error handling...

Tips, Tricks and Lessons Learned Using behaviors and create your own Create design time data Application execution lifecycle and tombstoning Accessing location consumes battery: store location CameraCaptureTask and testing on device: WPConnect tool Push notification, for raw notification make sure to notifiy user visually

How things will be easier with “Mango” Tooling Visual Studio tooling for Location Profiler Tombstoning changes Silverlight 4 Tile improvements for resetting tile Tile and toast deep linking to a detailed opinion Performance improvements More at

Resources Windows Phone Training Kit aylang=en&FamilyID=ca23285f-bab8-47fa-b e076a9a Windows Azure Toolkit for Windows Phone 7 OData for Windows Phone WP7 Contrib MVVM Light

Stay up to date with MSDN Belux Register for our newsletters and stay up to date: Technical updates Event announcements and registration Top downloads Follow our blog Join us on Facebook LinkedIn: Download MSDN/TechNet Desktop Gadget

TechDays 2011 On-Demand Watch this session on-demand via Channel9 Download to your favorite MP3 or video player Get access to slides and recommended resources by the speakers

THANK YOU