NNUG Trondheim 30.09.2010 -  Windows Phone 7
Upcoming SlideShare
Loading in...5
×
 

NNUG Trondheim 30.09.2010 - Windows Phone 7

on

  • 973 views

Introduksjon til Windows Phone 7 som plattform. Presentert på NNUG møte i Trondheim 30.09.2010.

Introduksjon til Windows Phone 7 som plattform. Presentert på NNUG møte i Trondheim 30.09.2010.

Statistics

Views

Total Views
973
Views on SlideShare
971
Embed Views
2

Actions

Likes
0
Downloads
5
Comments
0

2 Embeds 2

http://www.linkedin.com 1
http://www.verious.com 1

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

    NNUG Trondheim 30.09.2010 -  Windows Phone 7 NNUG Trondheim 30.09.2010 - Windows Phone 7 Presentation Transcript

    • Windows Phone 7
      Jonas Follesø
      NNUG Trondheim, 30. september 2010
    • ABOUT ME
      JONAS FOLLESØ
      jonas@follesoe.no
      http://jonas.follesoe.no
      @follesoe
    • AGENDA:- WP7 PLATFORM- PHONE APIs- TDD- BLEND 4- DEMOS!
      http://www.flickr.com/photos/20792787@N00/2248623391/
    • WINDOWS PHONE 7A FRESH START!
    • XNA FOR GAMESSILVERLIGHT FOR APPS
    • KNOW SILVERLIGHT?THEN YOU KNOW WP7!
    • HELLO WORLDDEMO
    • METRO DESIGN LANGUAGE
    • PIVOT CONTROL
    • HUB CONTROL
    • BLEND 4DEMO
    • LAUNCHERS & CHOOSERS
      • CameraCaptureTask
      • EmailAddressChooserTask
      • EmailComposeTask
      • MarketplaceDetailTask
      • MarketplaceHunTask
      • MarketplaceReviewTask
      • MarketplaceSearchTask
      • MediaPlayerLauncher
      • PhoneCallTask
      • PhoneNumberChooserTask
      • PhotoChooserTask
      • SaveEmailAddressTask
      • SavePhoneNumberTask
      • SearchTask
      • SmsComposeTask
      • WebBrowserTask
      http://www.flickr.com/photos/mad_house_photography/4440871380/
    • LAUNCH BUILT IN APP WITH SOME DATA
      http://www.flickr.com/photos/28634332@N05/4054766770/
    • privatevoidsmsCompose_Click(objectsender, RoutedEventArgse)
      {
      varsmsCompose=newSmsComposeTask();
      smsCompose.To="97706660";
      smsCompose.Body="Hello NNUG!";
      smsCompose.Show();
      }
    • LAUNCH BUILT IN APP TO CHOOSE SOME DATA
    • privatevoidchoose_Click(objectsender, RoutedEventArgse)
      {
      varemailChooser=newEmailAddressChooserTask();
      emailChooser.Completed+=emailChooser_Completed;
      emailChooser.Show();
      }
      privatevoidemailChooser_Completed(objectsender, EmailResulte)
      {
      if(e.TaskResult==TaskResult.OK)
      email.Text=e.Email;
      }
    • CHOSER & LAUCHER DEMO
    • EXECUTION MODEL & TOMBSTONING
      http://www.flickr.com/photos/9810948@N05/1583506787/
    • NO MULTI TASKINGBUT...
      http://www.flickr.com/photos/n3ptun3r/3376697490/
    • FAST ACTIVATION & DEACTIVATION GIVES IMPRESSION OF APP RUNNING IN BACKGROUND
      http://www.flickr.com/photos/cirox/363284194/
    • PAGE STATE
      • Poisition of ScollViewer
      • Content of TextBox
      • State of other UI elements
      • OnNavigatedTo & OnNavigatedFrom
    • APP STATE
      • State not associated with spesific page
      • Managed by PhoneApplicationService
    • PERSISTENT DATA
      • Data shared by all instances of app
      • Save and loaded from Isolated Storage
    • TRANSIENT STATE
      • Data for instance of application
      • Stored in State dictionary
      • Similar to cache
    • Launching
      Running
      Deactivating
      Activating
      Closing
      Chooser/Task/Other
    • PUSH NOTIFICATIONS WHEN APP IS NOT RUNNING
    • TWO TYPES OF NOTIFICATIONS
    • 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/
    • privatevoidopen_Click(objectsender, RoutedEventArgse)
      {
      varchannel=HttpNotificationChannel.Find("NNUG");
      if (channel==null)
      {
      channel=newHttpNotificationChannel("NNUG");
      }
      channel.ChannelUriUpdated+=channel_ChannelUriUpdated;
      channel.ShellToastNotificationReceived+=
      channel_ShellToastNotificationReceived;
      channel.Open();
      }
    • privatevoidchannel_ShellToastNotificationReceived
      (objectsender, NotificationEventArgse)
      {
      foreach (vartextine.Collection)
      output.Text+=text+" ";
      }
    • ISOLATED STORAGEFOR SIMPLE DATA STORAGE
    • NOSQLFOR WP7?
    • ISOLATED STORAGEDEMO
      http://www.flickr.com/photos/omarrun/4672531253/in/photostream
    • ACCELEROMETERDEMO
      http://www.flickr.com/photos/howzey/2880455762/
    • LOCATION AWARENESSIS KEY WHEN ON THE GO
    • SAME API IN .NET 4 & WP7
      http://www.flickr.com/photos/photograham/198324031/
    • privatevoidstart_Click(objectsender, System.Windows.RoutedEventArgse)
      {
      varwatcher=newGeoCoordinateWatcher(GeoPositionAccuracy.High);
      watcher.PositionChanged+=watcher_PositionChanged;
      watcher.Start();
      }
      privatevoidwatcher_PositionChanged(objectsender,
      GeoPositionChangedEventArgs<GeoCoordinate>e)
      {
      varlocation=e.Position.Location;
      varlat=location.Latitude;
      varlon=location.Longitude;
      }
    • TDD FUNDAMENTALPRACTICE
      http://www.flickr.com/photos/mad_house_photography/4440871380/
    • TDDDEMO
    • FLIGHTS NORWAYMONITORARRIVALS AND DEPARTURES
      http://www.flickr.com/photos/svenwerk/2181849280/
    • RESTSERVICESWITH FLIGHT INFORMATION
      http://flydata.avinor.no/
      http://open.bekk.no/2009/12/13/hva-skjer-nar-man-gir-bort-flydata-gratis/
    • 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
    • MVVM SHOULD BE LIGHT WEIGHT
      http://www.flickr.com/photos/treehouse1977/2892417805/
    • http://mvvmlight.codeplex.com/
    • FLIGHTS NORWAYDEMO
    • DEMOWP7 TWITTER CLIENT
    • SUMMARY:- WP7 PLATFORM- PHONE APIs- TDD- BLEND 4- DEMOS!
      http://www.flickr.com/photos/20792787@N00/2248623391/
    • FORK ME ON GITHUB
      http://github.com/follesoe/FlightsNorway
      http://github.com/follesoe/FrontEnd2010
    • Jonas Follesø
      Senior Consultant
      +47 977 06660
      Jonas.folleso@bekk.nojonas@follesoe.no