Windows 7 mobile

38
a developer guide introducing Windows 7 Mobile Pablo Alejandre del Rio Jeremy Cripps Dan Evett

description

 

Transcript of Windows 7 mobile

Page 1: Windows 7 mobile

a developer guide

introducing

Windows 7 Mobile

Pablo Alejandre del RioJeremy CrippsDan Evett

Page 2: Windows 7 mobile

What we are covering today:

A great introduction to Window 7 Mobile

1Introduction to W7

2Silverlight & Demo

3XNA Demonstration

Page 3: Windows 7 mobile

Introduction to Windows 7 Mobile

Jeremy Cripps

1

Page 4: Windows 7 mobile

• Successor to the flagging Windows Mobile OS

• Launched in Autumn 2010

• Microsoft opted to aim the new operating

system at the consumer market instead of the

enterprise sector.

• User Interface Completely re-designed with a

clean looking Metro Design Language

• Feature set limited at release, but has been

extended by Mango release.

Wiki Introduction

(Wiki,2011)

Page 5: Windows 7 mobile

• The Interface was dated, and was based on

Windows Computers (but without all the

functionality)

• Competitors such as the iPhone OS released many

large updates in the time Windows took for the

small transition from Mobile 6.0 to 6.5

• Not Touchscreen enabled

• Slow Browser

Windows Mobile Criticisms

Page 6: Windows 7 mobile

Met

ro U

I

Samsung Taylor

Page 7: Windows 7 mobile

• Application multitasking for background processing, audio and file transfer, and

fast application switching.

• Deeper phone integration so apps can, for example, take better advantage of

the versatility of Live Tiles (home screen tiles)

• Access to the camera and Motion Sensor library so developers can build apps

that incorporate device hardware and build augmented reality experiences

• Custom Ringtones

Mango! Windows Phone 7.5

Page 8: Windows 7 mobile

• The App store for Windows phone.

• ~£63 per year for Membership to AppHub

Windows Marketplace

(Msdn b,2011)

Page 9: Windows 7 mobile

Windows Marketplace App Restrictions

Pillars

1. Applications are reliable.

2. Applications make efficient use of resources.

3. Applications do not interfere with the phone functionality.

4. Applications are free of malicious software.

• The maximum size of the XAP package file is 225 MB. • An application must not exceed 90 MB of RAM usage, except on devices that have more

than 256 MB of memory. • The application must render the first screen within 5 seconds after launch, and must be

responsive to user input after 20 seconds.• The application must not call any APIs in the Microsoft.Xna.Framework.Game assembly

or the Microsoft.Xna.Framework.Graphics assembly when using any methods from the System.Windows.Controls namespace.

• The application must run on any Windows Phone device, regardless of model, screen size, keyboard hardware, and manufacturer.

Page 10: Windows 7 mobile

• Development Experience is very similar to .net

• Visual Studio can be used to program apps

• Integrated emulator for Windows Phone

• Silverlight and XNA are available to use.

• XAML Views with C# or VB.net for logic

Developing for Windows Phone

Page 11: Windows 7 mobile

• Powered by .NET Compact Framework with most* namespaces intact

• Silverlight and XNA both use reduced frameworks

• WP Silverlight Toolkit available for extra controls and functionality

• No Direct File Structure Access (Isolated Storage)

Windows Phone Compact Framework

Page 12: Windows 7 mobile

Windows Phone Compact Framework

(Abhinaba, 2011)

Page 13: Windows 7 mobile

• Hubs provide an interface to interact with the system software or storage

1. People Hub

2. Office Hub – Sharepoint and OneNote

3. Pictures Hub

4. Music + Video Hub

5. Marketplace Hub

6. Game Hub

Windows Phone Hubs

Page 14: Windows 7 mobile

Isolated Storage

Physical File System

Virtualised File System

Applications

Hardware

App 1 App 2 App 3

Page 15: Windows 7 mobile

Other Features Limitations

• Applications can use a variety of

hardware such as GPS, accelerometer

or Microphone

• Not including Light and Proximity

Sensors

• Each application can have an App bar

with buttons to navigate the App.

• The phone itself must have the same

buttons as all Windows Phones

• No Flash support for Browser.. Yet.

• Emulator cannot play videos and has

other limitations.

• No Copy and Paste in the initial

version of Windows Phone 7

• Cant change Message tone.

Page 16: Windows 7 mobile

2 Developing Apps:Silverlight

Pablo Alejandre del Rio

Page 17: Windows 7 mobile

• Combination of XAML and C#

• XAML: It defines what you can see on the phone

(It is declarative)

• C#: It defines the behaviour

• Modern Application UI Framework

• Rapid Creation of visually apps

• Integrated theme controls

• Html/JavaScript integration.

• W7 metro relies on a modified edition of

Silverlight 3

• W7 Mango: Standard Silverlight 4.

• Plus integration with XNA

• Full Integration in VS 2010

Silverlight Introduction

(Msdn,2010)

Page 18: Windows 7 mobile

Advantages Disadvantages

• Input data integration

• Hardware device access integration

• Hardware Standardised and

optimized for this platform

• Great resources online

• Mix Technologies: Silverlight with

XNA together

• No too many devices yet.

• No too many users yet.

(Fenlon,2011)

Page 19: Windows 7 mobile

Good but, can you show me the money ?

Developing Real Applications

Page 20: Windows 7 mobile

With Silverlight: http://www.youtube.com/watch?v=CgW-p0PxdtQ

Video of real Applications

What can you achieve with Silverlight + XNA ? a lot more http://www.youtube.com/watch?v=9LsaQcCAdEU

With XNA: Any Game you dream of : http://www.youtube.com/playlist?list=PLA3E6EEC3C0EE5611

Page 21: Windows 7 mobile

• Windows Phone Developer Tools

Visual Studio 2010 Express for Windows Phone

Windows Phone Emulator

Silverlight for Windows

Expression Blend SDK for Windows Mobile

What you need ?

YES, ALL TOOLS ARE FREE !!!

Page 22: Windows 7 mobile

Lifecycle

(Field, 2010)

Page 23: Windows 7 mobile

Lifecycle: Deactivated Event

(mslearn.net,2011)

Page 24: Windows 7 mobile

Architecture Design: Model-View-ViewModel

• There are specific patterns for W7.

• Model-View-ViewModel

– A Way to separate data from user interface

• Similar to previous models:

– Model-View-Controller

– Model-View-Presenter

Page 25: Windows 7 mobile

Model-View-ViewModel (2)

(Hill, 2009)

Page 26: Windows 7 mobile

Model-View-ViewModel (3)

(nikhilk.net , 2009)

Page 27: Windows 7 mobile

Model-View-ViewModel (4)

– Object Class or Data Access Class– Implements INotifyPropertyChanged & Property Change event– When property change, then view can update user interface

– Interface

– Link between Model and View– It is a collection that contains objects from the model– It uses an ObservableCollection– It allows to notify its views when items in the collection

change,and views can update user interface

Model:

View:

ViewModel:

(Microsoft,2011)

Page 28: Windows 7 mobile

Mod

el-V

iew

-Vie

wM

odel

(5)

(Shifflett, 2011)

Page 29: Windows 7 mobile

Building Interface: XAML

• Defines the visuals of the app

• WYSIWYG design

• In addition, it allows data binding, connection between controls and underlying data

• For more complex interface: Expression Blend • Similar to XML

• Is a declarative language (although arithmetic is not allowed )

• Older patterns do not work • Integration with system’s theme

• Interface restructuration according to resolution (Agilitrain ,2010)

Page 30: Windows 7 mobile

• Border

• Canvas

• ContentControl

• ContentPresenter

• Control

• Grid

• HyperlinkButton

• InkPresenter

• ListBox

• MediaElement

• ListBox

• MultiScaleImage

Controls

(Lamas ,2010)

• PasswordBox

• Slider

• PasswordBox

• ProgressBar

• ScrollViewer

• StackPanel

• TextBlock

• UserControl

NEW CONTROLS• ToggleControlSwitch

• WebBrowser

• PhoneApplicationFrame

• PhoneApplicationPage

• Choosers & Launchers

• Application Bar

• Date & PickTimers

• Pivot Panorama

Page 31: Windows 7 mobile

• Limited release of beta application (100 users)

• In Visual Studio:

• Breakpoints

• Setting Variables

• Executing individual methods

• Silverlight Unit Test Framework

• Silverlight Port of NUnit

• In Blend:

• Dummy data generation

Testing

Page 32: Windows 7 mobile

Basics:

Resources

• Anything you need

• Just in one click

• How to start

Beginning:

• Microsoft video Course

• Pluralsight-training

In Depth:• Programming Windows Phone 7 by Charles Petzold

• Windows Phone 7 Application Development. Building Applications and Games Using Visual Studio,

Silverlight and XNA. Nick Randolph & Christopher Fairbairn. Wiley Publishing Inc, Indianapolis, 2011

• Beginning Windows Phone 7 Development. Henry Lee & Eugene Chuvyrov. Apress USA 2010

Page 33: Windows 7 mobile

• Abhinaba (2011)

o http://blogs.msdn.com/blogfiles/abhinaba/WindowsLiveWriter/WindowsPhone7SeriesProgrammingModel_11AC8/image_6.png

• Agilitrain (2010)

o http://www.slideshare.net/shawnwildermuth/arch-mvvm

• Fenlon (2011)

o http://www.tested.com/news/windows-phone-7-mango-bringing-multitasking-and-new-hardware-this-fall/2178/

• Field (2010)

o http://blog.ian-field.co.uk/2010/10/windows-phone-7-application-lifecycle.html

• Microsoft (2011)

o http://msdn.microsoft.com/enus/library/gg521153(v=vs.92).aspx

• Hill (2009)

o http://blogs.msdn.com/b/dphill/archive/2009/01/31/the-viewmodel-pattern.aspx

References

Page 34: Windows 7 mobile

• Msdn (2010)

o http://create.msdn.com/en-US/education/catalog/article/wp7_jump_start

• Msdn b(2011) o http://create.msdn.com/en-us/home/membership

• mslearn.net (2011): http://borntolearn.mslearn.net/wp7/m/crsept2010/60137.aspx

• Lamas (2010)

o http://www.slideshare.net/ei99070/construir-aplicaes-silverlight-para-windows-phone-7

• nikhilk.net (2009)

o http://www.nikhilk.net/Silverlight-ViewModel-MVC.aspx

• Wiki (2011)o http://en.wikipedia.org/wiki/Windows_phone_7

o Shifflett (2011)

• http://karlshifflett.wordpress.com/mvvm/wpf-line-of-business-introduction/

References

Page 35: Windows 7 mobile

We will try to show its potential, summarizing all described previously.

Demonstration

• Introduction and tools

• Controls

• XAML and relative positions

• Application Bar

• MVVM

• Isolated Storage

• Testing

Page 36: Windows 7 mobile

3 XNA Demostration

Dan

Page 37: Windows 7 mobile

? Any furtherQuestions ?

Please Feel to Ask Any Questions

Page 38: Windows 7 mobile

We invite you to join the open discussion

We hope you enjoyed it