• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Get a flying start with Windows Phone 7 - NDC2010
 

Get a flying start with Windows Phone 7 - NDC2010

on

  • 2,572 views

Windows Phone 7 is brand new, totally fresh operating system that will appear in phones before Christmas. The new platform is a complete rewrite and offers lots of interesting opportunities to third ...

Windows Phone 7 is brand new, totally fresh operating system that will appear in phones before Christmas. The new platform is a complete rewrite and offers lots of interesting opportunities to third party developers. The development platform for Windows Phone 7 is all based around managed code and the tools and frameworks you already know and love. This presentation you will give you an overview of the Windows Phone 7 development platform, and how you can leverage your existing Silverlight skills to build great applications for the Windows Phone 7 marketplace.

The session assumes some prior knowledge of Silverlight, as the focus of this presentation will be features that are specific to the phone. It will not only cover the basics of the Windows Phone 7 platform, but also how you can re–use many of the same patterns, frameworks, techniques and practices that you use when building regular Silverlight applications.

Statistics

Views

Total Views
2,572
Views on SlideShare
2,173
Embed Views
399

Actions

Likes
0
Downloads
76
Comments
0

10 Embeds 399

http://jonas.follesoe.no 359
http://feeds.feedburner.com 15
http://localhost 7
http://www.blognewschannels.com 6
http://0.0.0.0 5
http://webcache.googleusercontent.com 2
http://theoldreader.com 2
https://silverreader.com 1
http://www.newsblur.com 1
https://newsblur.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Get a flying start with Windows Phone 7 - NDC2010 Get a flying start with Windows Phone 7 - NDC2010 Presentation Transcript

    • GET A FLYING START WITH WP7
      JONAS FOLLESØ
      jonas@follesoe.no
      http://jonas.follesoe.no
      @follesoe
    • ABOUT ME
      JONAS FOLLESØ
      jonas@follesoe.no
      http://jonas.follesoe.no
      @follesoe
    • AGENDA:- TDD- RX & ASYNC- MVVM & IOC- BLEND 4- LOCATION- NOTIFICATION
      http://www.flickr.com/photos/20792787@N00/2248623391/
    • KNOW SILVERLIGHT?THEN YOU KNOW WP7!
    • FLIGHTS NORWAYMONITORARRIVALS AND DEPARTURES
      http://www.flickr.com/photos/svenwerk/2181849280/
    • FLIGHTS NORWAYWHAT WE ARE GOING TO BUILD
    • TDD FUNDAMENTALPRACTICE
      http://www.flickr.com/photos/mad_house_photography/4440871380/
    • WP7SILVERLIGHT 3.NET 4.03 RUNTIMESMAKES THINGS HARD
      http://www.flickr.com/photos/tambako/3974809361/
      • Unit Testing and TDD is a waste of time
      • Silverlight Unit Test Framework from Microsoft
      • Silverlight Port of NUnit
      • Assembly Sharing
      • Other
    • TDD IS ALL ABOUT FLOW
      http://www.flickr.com/photos/zenonline/3431365556/
    • FASTER FEEDBACK CYCLE FOR SILVERLIGHT TDD
    • TDDDEMO
      http://www.flickr.com/photos/infomofo/1405303478/
    • RESTSERVICESWITH FLIGHT INFORMATION
      http://flydata.avinor.no/
      http://open.bekk.no/2009/12/13/hva-skjer-nar-man-gir-bort-flydata-gratis/
    • http://flydata.avinor.no/XmlFeed.asp?airport=OSL
      <?xmlversion="1.0"encoding="iso-8859-1"?>
      <airportname="OSL">
      <flightslastUpdate="2010-06-14T06:29:12">
      <flightuniqueID="1054121">
      <airline>DY</airline>
      <flight_id>DY422</flight_id>
      <dom_int>D</dom_int>
      <schedule_time>2010-06-12T08:55:00</schedule_time>
      <arr_dep>D</arr_dep>
      <airport>MOL</airport>
      </flight>
      </flights>
      </airport>
    • http://flydata.avinor.no/airlineNames.asp
      <?xmlversion="1.0"encoding="iso-8859-1"?>
      <airlineNames>
      <airlineNamecode="AA"name="American Airlines"/>
      <airlineNamecode="AAF"name="AigleAzur"/>
      <airlineNamecode="AAG"name="Atlantic Airlines"/>
      <airlineNamecode="AAT"name="Austrian Airtransport"/>
      <!-- ... -->
      </airlineNames>
    • http://flydata.avinor.no/airportNames.asp
      <?xmlversion="1.0"encoding="iso-8859-1"?>
      <airportNames>
      <airportNamecode="OSD"name="Østersund"/>
      <airportNamecode="OSH"name="Oshkosh"/>
      <airportNamecode="OSI"name="Osijek"/>
      <airportNamecode="OSK"name="Oskarshamn"/>
      <airportNamecode="OSL"name="Oslo"/>
      <!-- ... -->
      </airportNames>
    • http://flydata.avinor.no/flightStatuses.asp
      <?xmlversion="1.0"encoding="iso-8859-1"?>
      <flightStatuses>
      <flightStatuscode="N"statusTextEn="New info" />
      <flightStatuscode="E"statusTextEn="New time" />
      <flightStatuscode="D"statusTextEn="Departed" />
      <flightStatuscode="A"statusTextEn="Arrived" />
      <flightStatuscode="C"statusTextEn="Cancelled" />
      </flightStatuses>
    • ALL NETWORKING IN SILVERLIGHT IS ASYNCHRONOUS
    • RXMAKING ASYNCPROGRAMMINGLESS DIFFICULT
      http://www.flickr.com/photos/adewale_oshineye/3590140051/
    • COMPOSING ASYNCHRONOUS AND EVENT-BASED PROGRAMS USING OBSERVABLE COLLECTIONS
    • varmove=Observable.FromEvent(LayoutRoot, "MouseMove");
      vardown=Observable.FromEvent(LayoutRoot, "MouseLeftButtonDown");
      varup=Observable.FromEvent(LayoutRoot, "MouseLeftButtonUp");
      IObservable<Point>whereUserIsDragging=
      move.SkipUntil(down)
      .TakeUntil(up)
      .Repeat()
      .Select(e=>e.EventArgs.GetPosition(LayoutRoot));
      whereUserIsDragging.Subscribe(p=>Paint(p.X, p.Y));
    • RX DEMO
    • MVVMPATTERN FOR BINDABLE UI
    • APP LOGIC IN CODE BEHIND IS HARD TO TEST AND MAINTAIN
      VIEW
      XAML
      DataModel
      Code-Behind
      EventHandlers
    • SEPARATE USINGMVVM
      VIEW
      XAML
      Code-Behind
      Change notification
      Data-binding and commands
      VIEW MODEL
      Data Model
      State + Operations
    • COMMUNICATION
      View Model
      View Model
      App Service
      View Model
      View Model
      View Model
      App Service
      View Model
    • EVENT AGGREGATOR
      View Model
      View Model
      App Service
      View Model
      Event Aggregator
      App Service
      View Model
      View Model
      View Model
    • VIEW MODEL COMMUNICATION
      View
      View
      XAML
      XAML
      Code-Behind
      Code-Behind
      View Model
      Data Model
      View Model
      State + Operations
      Data Model
      State + Operations
      Message
      Publish messages
      View
      XAML
      Code-Behind
      Subscribe to messages
      View Model
      Event Aggregator
      Message
      State + Operations
    • MVVM SHOULD BE LIGHT WEIGHT
      http://www.flickr.com/photos/treehouse1977/2892417805/
    • http://mvvmlight.codeplex.com/
    • MVVM DEMO
      http://www.flickr.com/photos/20792787@N00/2248623391/
    • DIKEEP THINGS SEPARATE
      More in-depth information:
      The Dependency Inversion Principle Applied
      Fredrik Kalseth, Friday 10:20
      http://www.flickr.com/photos/omarrun/4672531253/in/photostream
    • DI LETS YOU INJECT EXTERNALDEPENDENCIES
    • IMPORTANT TECHNIQUE ON WP7 TO SIMULATE SENSORS
      http://www.flickr.com/photos/howzey/2880455762/
    • ISOLATED STORAGEFOR SIMPLE DATA STORAGE
    • NOSQLFOR WP7?
    • DI &ISOLATED STORAGEDEMO
      http://www.flickr.com/photos/omarrun/4672531253/in/photostream
    • METRO DESIGN LANGUAGE
    • PIVOT CONTROL
    • HUB CONTROL
    • BLEND 4DEMO
    • LOCATION AWARENESSIS KEY WHEN ON THE GO
    • SAME API IN .NET 4 & WP7
      http://www.flickr.com/photos/photograham/198324031/
    • LOCATION AWARENESSDEMO
    • PUSH NOTIFICATIONSKEEP YOU INFORMED
    • WP7 PUSH NOTIFICATIONS
      Your WP Application
      Hand off channel URL
      2
      Your Web Application
      PUSH CLIENT
      Notification Namespaces
      Push Library
      4
      Push
      message
      3
      Push message
      1
      Open Channel
      Microsoft Push Notification Services
    • PUSH NOTIFICATIONS DEMO
      http://www.flickr.com/photos/kozloski/2306510520/
    • SUMMARY:- TDD- RX & ASYNC- MVVM & IOC- BLEND 4- LOCATION- NOTIFICATION
      http://www.flickr.com/photos/20792787@N00/2248623391/
    • FORK ME ON GITHUB
      http://github.com/follesoe/FlightsNorway
    • THANKS!
      JONAS FOLLESØ
      jonas@follesoe.no
      http://jonas.follesoe.no
      @follesoe