“I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a...
-
Upload
laura-watkins -
Category
Documents
-
view
214 -
download
0
Transcript of “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a...
![Page 1: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/1.jpg)
![Page 2: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/2.jpg)
Building .NET Apps for Devices and ServicesHabib Heydarian ([email protected])Program Manager, .NET3-304: Building .NET Applications for Devices and Services
![Page 3: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/3.jpg)
Let’s a start with a quick demo!
![Page 4: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/4.jpg)
The evolution of application into experienceWhat used to be:
Has evolved into:
“I type http://www.netflix.com in my browser to watch a movie”
“My friend mentions the TV series Breaking Bad over a coffee. I use my phone to find it and add it to my Netflix queue. I start watching it on the bus on my tablet. I then continue
watching it at home on my TV.”
![Page 5: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/5.jpg)
What is an application?
In the 80s & most of 90s• An app is an exe on my machineIn the ~1st decade of 2000• An app is an exe on my machine or a websiteToday• An app is something that runs on a phone or
tablet or PC or console or car or ?. Is connected. Could also be a website or service, or ???
![Page 6: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/6.jpg)
ApplicationModernization
Modern Times!
![Page 7: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/7.jpg)
Development targets are evolving
![Page 8: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/8.jpg)
Application patterns evolution
Services
Devices
+
+
Emerging patterns
Servers
Client
Established patterns
![Page 9: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/9.jpg)
.NET Application Modernization
Windows Store
Windows Phone
Non-Microsoft native apps
NATIVE APPLICATIONS
WEB APPLICATIONS
Web-PC form factor
On-premises only Hybrid
SERVICES
Web tablet / phone form-factors
Desktop-only
Cloud
![Page 10: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/10.jpg)
Two Inexorable Trends
1. Devices will continue to proliferate at an astonishing rate• Form factors that we can’t imagine today
2. The Cloud movement is just beginning
![Page 11: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/11.jpg)
Developer Expectations
Easy to reuse source code and binaries across devices
New devices do not constitute a reset
![Page 12: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/12.jpg)
An Example: Existing WPF ApplicationRich UIOn-Prem DB
![Page 13: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/13.jpg)
The “Experience Continuum”
Desktop (Rich)
NUIWeb (Reach)
Tablet (Mobile) Phone (Ultra Mobile)
Cloud (The Connective Tissue)
![Page 14: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/14.jpg)
.NET is part of many Microsoft platforms
(Redistributes)
![Page 15: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/15.jpg)
.NET (A *Very* Simplified View)
Runtime
Libraries
Languages
Tools
.NET
General & platform specific capabilities
![Page 16: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/16.jpg)
Project proliferation
![Page 17: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/17.jpg)
One sourceOne projectOne binary
Multiple platforms!
Portable Class Libraries
![Page 18: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/18.jpg)
What can I use and where?
Feature.NET Framework
Windows Store SilverlightWindows Phone
Core √ √ √ √
LINQ √ √ √ √
IQueryable √ √ √ 7.5 and higher
Dynamic keyword
4.5 and higher √ √
Managed Extensibility Framework (MEF)
√ √ √
Network Class Library (NCL)
√ √ √ √
Serialization √ √ √ √
Windows Communication Foundation (WCF)
√ √ √ √
Model-View-View Model (MVVM)
4.5 and higher √ √ √
Data annotations
4.0.3 and 4.5+ √ √
XLINQ 4.0.3 and 4.5+ √ √ √
System.Numerics
√ √ √
![Page 19: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/19.jpg)
Model-View-ViewModel (MVVM)ViewsHow to display informationWritten in XAML
View ModelsWhat information to displayFlow of interaction
ModelsData objectsBusiness logicEtc.
Model
View Model
View Platform-specific
PortableReferences
Databinds
![Page 20: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/20.jpg)
Cross Platform App Architecture
Startup
Views
Windows Store App
Platform specific functionality
View Models
Models
Portable Class Library
Platform functionality abstractions
Startup
Views
Windows Phone App
Platform specific functionality
Reference Reference
![Page 21: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/21.jpg)
Azure service bus
MSDN Magazine:Create a Continuous Client Using Portable Class Libraries
![Page 22: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/22.jpg)
Cross Platform Code Reuse
Share code across platforms with Portable Class Libraries
Use the MVVM pattern to write cross platform apps• Put models and view models in portable libraries• Create platform-specific views
Create portable abstractions for non-portable functionality• Implement the abstractions for each platform you
target
![Page 23: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/23.jpg)
NuGet Packages
During .NET 4.5 we released two components via NuGet:• MEF (Microsoft.Composition) for web and Windows Store apps• TPL Dataflow (Microsoft.Tpl.Dataflow)• These (and new packages) are treated as any other .NET 4.5
component, i.e. are fully supported
.NET (“in box”)
SystemCompositio
n
TPL Dataflo
w
Http Client
Async
Immutable
Collections
![Page 24: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/24.jpg)
.NET Framework NuGet Packages
One-stop shopping for all of your .NET Framework NuGet packages released by Microsoft• In Visual Studio
20[10,12,13]• On the Web
![Page 25: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/25.jpg)
.NET Technology Guidance
Brand new set of .NET developer guidance released this week
Provides a roadmap for multiple scenarios
Visit .NET Technology Guidance
![Page 26: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/26.jpg)
We would love to hear from you!
@dotnetdotnetBlog E-mail
UserVoiceMSDN Forums
![Page 27: “I type in my browser to watch a movie” “My friend mentions the TV series Breaking Bad over a coffee.](https://reader035.fdocuments.net/reader035/viewer/2022062804/56649f0c5503460f94c1f9e4/html5/thumbnails/27.jpg)
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.