SlideShare a Scribd company logo
1 of 30
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Silverlight programming on Microsoft Phone
Radu Poenaru
Microsoft Student Partner
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
What we are trying to achieve
• How to create a simple Silverlight app
• Use Blend 4 for Phone for design
http://70gigapixel.cloudapp.net/
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
What is Silverlight?
“Silverlight is a powerful development platform for creating
engaging, interactive user experiences for Web, desktop, and
mobile applications when online or offline.”
Microsoft Official Silverlight website
http://www.silverlight.net/
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Silverlight
• Very powerful framework
• Same known XAML and C#
• Windows, Mac, Linux and now Phone
• Learning curve is smooth
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Silverlight capacities
Inputs
• Keyboard
• Mouse
• Touch
• Ink
Media
• Digital media capture & playback
• VC1, WMA, MP3
Data
• Language Integrated Query (LINQ)
• LINQ to XML
• XML
• IsolatedStorage
Base Class Library (BCL)
• Generics
• Collections
• Cryptography
• Threading
Windows Communication
Foundation
• REST
• RSS/ATOM
• SOAP
XAML
UI Core
• Vector
• Animation
• Text
• Images
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
What about Silverlight for Phone
It is a superset of Silverlight 3 having several elements from
Silverlight 4 and many extras:
• Performance tuning
• Input integration
• Hardware media and sensor integration
• OS application model integration
• Relaxed sandbox constraints
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
application structure
first, a little history…
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Application
default silverlight application
UserControl
ContentContent Content
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
silverlight 3 navigation application
UserControl
Frame
Page 3Page 1 Page 2
ApplicationApplication
UserControl
ContentContent Content
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Windows Phone application
UserControl
Frame
Page 3Page 1 Page 2
ApplicationApplication
Frame
Page 3Page 1 Page 2
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
back key details
• Lets the user to return to previously-viewed screens
• Can go back across applications
• Not used for application-specific behaviour
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
a world of constant interruptions
lock
screen
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
basic application lifetime
Not
running
Start
Running
Exit
• Obscured
• Paused
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
obscured: popup ui from shell
Running
Obscured
Running
Unobscured
Games could
auto-pause
Game could
auto-resume
• Phone call
• Reminder
• Battery low
Not in the
Mix build
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
paused: jump to another app
Running
Pause
Suspended
Resume
Assume your
process is killed
Save state
for later use
Load state to continue
where you left off
Not in the
Mix build
User never knows
what happened :-)
• Start Button
• Accept call
• Open toast
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Evaluating app performance
•Render Thread FPS: The number of frames per
second that the independent simple animations and
rendering thread is using.
•User Interface Thread FPS: The number of fps that
the primary user interface thread is experiencing
•Texture Memory Usage: A specialized memory
counter indicating the video memory used for storing
application textures.
•Surface Counter: A count of the number of surfaces
that are passed to the graphics chip.
•Intermediate Texture Count: The number of
intermediate textures created for compositing.
•Screen Fill Rate: A metric representing the number
of complete phone screens being painted each and
every frame.
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Basics
• XAML – eXtensible Application Markup Language
• XML with custom tags
• Maps to code
• Can contain as children
• resources
• styles
• controls
• supports binding
• Anything that is done in XAML can be done in code
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Shapes
• Vector- based
• Easy to scale, keeping the smoothness
• Can be easily imported from Photoshop or Illustrator
• Example(ellipse code):
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Brushes
• Determines how objects are painted and outlined
• Solid – filled with just one color
• Gradient – linear or radial with multiple stop points
• Image – shows an image in the brush
• Media – paints with a playing movie
Let‘s see a Demo!
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Controls
• Encapsulate functionality
• Requires a x:Name if you plan to call it from the code
• Same properties in XAML as in Code
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Events
• Can be created in XAML and Code
• XAML editor helps you create a handler
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Layout containers
• Flexible Layout system
• Canvas – fixed position
• StackPanel – „Stacks“ dynamically
• Grid – rows and columns, very flexible
• Can be nested – but beware of performance issues
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Demo
• Layout demo
• Attached properties
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Transforms
• Alters any element
• Controls
• Text
• Media
• Transforms
• Rotate, Scale, Skew ,Translate, Matrix
• Projections
• Plane, Matrix,
• Apply 3D to a 2D element
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Animations
• Animates a property value over the time
• Basic elements in a page
• Contains one or more Storiboards
• Contains one or more Animations
• Contains one or more Keyframes
• Expression Blend is the best tool to do this
Let‘s see some demo!
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Styling
• Applies a set of values to a specific target type
• Created in page Resources, application Resources or a
ResourceDictionary
• Requires
• x:Key
• TargetType
• On the element – StaticResource pointing to the x:Key
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Binding
• Connects data to UI
• Two types
• Property binding
• List binding
• Value converters – ex take color Red and convert it to hex
representation
• Based on change notification
• Cascades through the hierarchy of controls
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Code reuse
• Reuse UI
• User controls
• Custom controls
• Reuse code
• Across projects
• Across platforms – Web, Desktop through OOB, Phone
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
References
• Search for Silverlight 3 source:
• Forums, books, podcasts
• http://silverlight.net
• http://www.stackoverflow.com
• Get Started with Silverlight for Windows Phone
http://www.silverlight.net/getstarted/devices/windows-phone/
• Silverlight for Windows Phone forum
http://forums.silverlight.net/forums/63.aspx
• Mix 2010 event http://live.visitmix.com/Sessions
Presented by Radu Poenaru at „Windows Phone 7“ Workshop
® Windows Phone®
Comments and sugestions are welcome!
radu.poenaru@studentpartners.de
www.radupoenaru.com
Thank you!

More Related Content

Viewers also liked

WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformMICTT Palma
 
Web matrix part 2
Web matrix part 2Web matrix part 2
Web matrix part 2yuvaraj72
 
Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 DevelopmentJeff Bramwell
 
01 wp7 introduction
01 wp7   introduction01 wp7   introduction
01 wp7 introductionTao Wang
 
Windowsphone7
Windowsphone7Windowsphone7
Windowsphone7yuvaraj72
 
WP7 Platform Architecture
WP7 Platform ArchitectureWP7 Platform Architecture
WP7 Platform ArchitectureKivanc Ozuolmez
 

Viewers also liked (7)

Asp
AspAsp
Asp
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platform
 
Web matrix part 2
Web matrix part 2Web matrix part 2
Web matrix part 2
 
Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 Development
 
01 wp7 introduction
01 wp7   introduction01 wp7   introduction
01 wp7 introduction
 
Windowsphone7
Windowsphone7Windowsphone7
Windowsphone7
 
WP7 Platform Architecture
WP7 Platform ArchitectureWP7 Platform Architecture
WP7 Platform Architecture
 

Similar to Windows Phone 7 apps development with Silverlight

Introduction to Windows Phone 7
Introduction to Windows Phone 7Introduction to Windows Phone 7
Introduction to Windows Phone 7Radu Poenaru
 
Windows Phone Programming
Windows Phone ProgrammingWindows Phone Programming
Windows Phone ProgrammingPasi Manninen
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsBarcoding, Inc.
 
Windows Phone 8 App Development
Windows Phone 8 App DevelopmentWindows Phone 8 App Development
Windows Phone 8 App DevelopmentDalpatTapaniya
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationJoseph Labrecque
 
Developing Apps for Windows Phone 8
Developing Apps for Windows Phone 8Developing Apps for Windows Phone 8
Developing Apps for Windows Phone 8KMS Technology
 
Universal Apps Oct 2014
Universal Apps Oct 2014Universal Apps Oct 2014
Universal Apps Oct 2014Joe Healy
 
Hybrid Mobile App Development Frameworks 2016
Hybrid Mobile App Development Frameworks 2016Hybrid Mobile App Development Frameworks 2016
Hybrid Mobile App Development Frameworks 2016PixelCrayons
 
Rivalry Now Begins: Rise of Windows Phone 8
Rivalry Now Begins: Rise of Windows Phone 8Rivalry Now Begins: Rise of Windows Phone 8
Rivalry Now Begins: Rise of Windows Phone 8Monitise MEA
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapAmar Mesic
 
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...Selenium Conference Austin 2017
 
Adapting Expectations to Fit a Mobile Workflow
Adapting Expectations to Fit a Mobile WorkflowAdapting Expectations to Fit a Mobile Workflow
Adapting Expectations to Fit a Mobile WorkflowJoseph Labrecque
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
WP7 Study 발표 - WinMoDev
WP7 Study 발표 - WinMoDevWP7 Study 발표 - WinMoDev
WP7 Study 발표 - WinMoDevSeo Jinho
 
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 Fabio Franzini
 
Introduction to Windows 8 Development
Introduction to Windows 8 DevelopmentIntroduction to Windows 8 Development
Introduction to Windows 8 DevelopmentJeff Bramwell
 

Similar to Windows Phone 7 apps development with Silverlight (20)

Introduction to Windows Phone 7
Introduction to Windows Phone 7Introduction to Windows Phone 7
Introduction to Windows Phone 7
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
Windows Phone Programming
Windows Phone ProgrammingWindows Phone Programming
Windows Phone Programming
 
Computer project work
Computer project workComputer project work
Computer project work
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
 
Windows Phone 8 App Development
Windows Phone 8 App DevelopmentWindows Phone 8 App Development
Windows Phone 8 App Development
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher Education
 
Corona sdk intro
Corona sdk introCorona sdk intro
Corona sdk intro
 
Developing Apps for Windows Phone 8
Developing Apps for Windows Phone 8Developing Apps for Windows Phone 8
Developing Apps for Windows Phone 8
 
Universal Apps Oct 2014
Universal Apps Oct 2014Universal Apps Oct 2014
Universal Apps Oct 2014
 
Hybrid Mobile App Development Frameworks 2016
Hybrid Mobile App Development Frameworks 2016Hybrid Mobile App Development Frameworks 2016
Hybrid Mobile App Development Frameworks 2016
 
Rivalry Now Begins: Rise of Windows Phone 8
Rivalry Now Begins: Rise of Windows Phone 8Rivalry Now Begins: Rise of Windows Phone 8
Rivalry Now Begins: Rise of Windows Phone 8
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
 
Adapting Expectations to Fit a Mobile Workflow
Adapting Expectations to Fit a Mobile WorkflowAdapting Expectations to Fit a Mobile Workflow
Adapting Expectations to Fit a Mobile Workflow
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
WP7 Study 발표 - WinMoDev
WP7 Study 발표 - WinMoDevWP7 Study 발표 - WinMoDev
WP7 Study 발표 - WinMoDev
 
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365
 
Introduction to Windows 8 Development
Introduction to Windows 8 DevelopmentIntroduction to Windows 8 Development
Introduction to Windows 8 Development
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Windows Phone 7 apps development with Silverlight

  • 1. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Silverlight programming on Microsoft Phone Radu Poenaru Microsoft Student Partner
  • 2. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® What we are trying to achieve • How to create a simple Silverlight app • Use Blend 4 for Phone for design http://70gigapixel.cloudapp.net/
  • 3. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® What is Silverlight? “Silverlight is a powerful development platform for creating engaging, interactive user experiences for Web, desktop, and mobile applications when online or offline.” Microsoft Official Silverlight website http://www.silverlight.net/
  • 4. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Silverlight • Very powerful framework • Same known XAML and C# • Windows, Mac, Linux and now Phone • Learning curve is smooth
  • 5. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Silverlight capacities Inputs • Keyboard • Mouse • Touch • Ink Media • Digital media capture & playback • VC1, WMA, MP3 Data • Language Integrated Query (LINQ) • LINQ to XML • XML • IsolatedStorage Base Class Library (BCL) • Generics • Collections • Cryptography • Threading Windows Communication Foundation • REST • RSS/ATOM • SOAP XAML UI Core • Vector • Animation • Text • Images
  • 6. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® What about Silverlight for Phone It is a superset of Silverlight 3 having several elements from Silverlight 4 and many extras: • Performance tuning • Input integration • Hardware media and sensor integration • OS application model integration • Relaxed sandbox constraints
  • 7. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® application structure first, a little history…
  • 8. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Application default silverlight application UserControl ContentContent Content
  • 9. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® silverlight 3 navigation application UserControl Frame Page 3Page 1 Page 2 ApplicationApplication UserControl ContentContent Content
  • 10. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Windows Phone application UserControl Frame Page 3Page 1 Page 2 ApplicationApplication Frame Page 3Page 1 Page 2
  • 11. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® back key details • Lets the user to return to previously-viewed screens • Can go back across applications • Not used for application-specific behaviour
  • 12. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® a world of constant interruptions lock screen
  • 13. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® basic application lifetime Not running Start Running Exit • Obscured • Paused
  • 14. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® obscured: popup ui from shell Running Obscured Running Unobscured Games could auto-pause Game could auto-resume • Phone call • Reminder • Battery low Not in the Mix build
  • 15. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® paused: jump to another app Running Pause Suspended Resume Assume your process is killed Save state for later use Load state to continue where you left off Not in the Mix build User never knows what happened :-) • Start Button • Accept call • Open toast
  • 16. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Evaluating app performance •Render Thread FPS: The number of frames per second that the independent simple animations and rendering thread is using. •User Interface Thread FPS: The number of fps that the primary user interface thread is experiencing •Texture Memory Usage: A specialized memory counter indicating the video memory used for storing application textures. •Surface Counter: A count of the number of surfaces that are passed to the graphics chip. •Intermediate Texture Count: The number of intermediate textures created for compositing. •Screen Fill Rate: A metric representing the number of complete phone screens being painted each and every frame.
  • 17. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Basics • XAML – eXtensible Application Markup Language • XML with custom tags • Maps to code • Can contain as children • resources • styles • controls • supports binding • Anything that is done in XAML can be done in code
  • 18. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Shapes • Vector- based • Easy to scale, keeping the smoothness • Can be easily imported from Photoshop or Illustrator • Example(ellipse code):
  • 19. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Brushes • Determines how objects are painted and outlined • Solid – filled with just one color • Gradient – linear or radial with multiple stop points • Image – shows an image in the brush • Media – paints with a playing movie Let‘s see a Demo!
  • 20. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Controls • Encapsulate functionality • Requires a x:Name if you plan to call it from the code • Same properties in XAML as in Code
  • 21. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Events • Can be created in XAML and Code • XAML editor helps you create a handler
  • 22. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Layout containers • Flexible Layout system • Canvas – fixed position • StackPanel – „Stacks“ dynamically • Grid – rows and columns, very flexible • Can be nested – but beware of performance issues
  • 23. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Demo • Layout demo • Attached properties
  • 24. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Transforms • Alters any element • Controls • Text • Media • Transforms • Rotate, Scale, Skew ,Translate, Matrix • Projections • Plane, Matrix, • Apply 3D to a 2D element
  • 25. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Animations • Animates a property value over the time • Basic elements in a page • Contains one or more Storiboards • Contains one or more Animations • Contains one or more Keyframes • Expression Blend is the best tool to do this Let‘s see some demo!
  • 26. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Styling • Applies a set of values to a specific target type • Created in page Resources, application Resources or a ResourceDictionary • Requires • x:Key • TargetType • On the element – StaticResource pointing to the x:Key
  • 27. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Binding • Connects data to UI • Two types • Property binding • List binding • Value converters – ex take color Red and convert it to hex representation • Based on change notification • Cascades through the hierarchy of controls
  • 28. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Code reuse • Reuse UI • User controls • Custom controls • Reuse code • Across projects • Across platforms – Web, Desktop through OOB, Phone
  • 29. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® References • Search for Silverlight 3 source: • Forums, books, podcasts • http://silverlight.net • http://www.stackoverflow.com • Get Started with Silverlight for Windows Phone http://www.silverlight.net/getstarted/devices/windows-phone/ • Silverlight for Windows Phone forum http://forums.silverlight.net/forums/63.aspx • Mix 2010 event http://live.visitmix.com/Sessions
  • 30. Presented by Radu Poenaru at „Windows Phone 7“ Workshop ® Windows Phone® Comments and sugestions are welcome! radu.poenaru@studentpartners.de www.radupoenaru.com Thank you!

Editor's Notes

  1. My presentation – universitate, msp, interests in MS products, Questions to know each other - Programming level, Silverlight, Design
  2. 0 Examples for SL 3 apply to the Phone 1 2 the text box has a associated sw keyboard, list have implemented phisyx 3 same video experience, sensors : vibr, location services 4 app is part from experience – same look as Phone 5 security concerns – relax cross-domain policy check
  3. Render Thread FPS: The number of frames per second that the independent simple animations and rendering thread is using. Keeping around 60 will provide a great experience, while a number of 30 fps will begin to show a poor experience to the end user. Under 30 fps this counter will turn red in post-beta builds. User Interface Thread FPS: The number of fps that the primary user interface thread is experiencing. Property change notifications, data binding, primary managed code execution, and animations not handled on the render thread use this threads’ resources. Turns red when the count is at or below 15 fps. Texture Memory Usage: A specialized memory counter indicating the video memory used for storing application textures. Surface Counter: A count of the number of surfaces that are passed to the graphics chip. Intermediate Texture Count: The number of intermediate textures created for compositing. Screen Fill Rate: A metric representing the number of complete phone screens being painted each and every frame.
  4. Start the dev of sample application – text block in XAML and code
  5. Importable from designers‘ Photoshop No demo yet
  6. Demo with Ellipse
  7. VS can create the events for you Or you can create them by hand Default event handler for Button – Click event Or by double clicking
  8. Grid – layout system, not semantic informational display
  9. Attached properties A ball doesn‘t now its position, but the parent can provide it. Canvas – not so flexible, phone can be rotated Stack panel Grid – rows : auto or * or pixels
  10. Ball pulsing demo app - animation in Blend - call it from code