create cross platform apps with portable class libraries
DESCRIPTION
This presentation is for Virtual Tech Conference by Microsoft MVPs.TRANSCRIPT
![Page 1: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/1.jpg)
Create Cross Platform apps effectively
with Portable Class Libraries
![Page 2: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/2.jpg)
Fb.com/f5debug
@f5debug
![Page 3: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/3.jpg)
Agenda
![Page 4: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/4.jpg)
Cross Platform Applications
• .Net Framework Apps
• Windows Phone
• Windows 8
• Xbox
• Silverlight
• iOS
• Android
![Page 5: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/5.jpg)
Challenges in building Native Apps
• Multiple Operating Systems
• Multiple Teams and Products
• Feature Fragmentation
• Uniform User Experience
• Cost Factor
![Page 6: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/6.jpg)
Cross Platform Applications
When to use
• Low Performance
Applications
• Apps which makes a
replication of Web
Applications
• Restful Applications
• Targeting multiple
platforms
When not to use
• High Performance
Applications
• More Native features
like OS integration,
device specific
• Tightly coupled with
Network
communications
![Page 7: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/7.jpg)
Portable Class Libraries
• Introduced officially with Visual Studio 2012
• Library that runs on multiple platforms
• Single code base for multiple target platforms
• Avoid multiple copies of the same code
• Share code across platforms
• Can select the target framework out of the
box
![Page 8: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/8.jpg)
Portable Class Libraries
Portable Class Library project supports a
subset of assemblies from
![Page 9: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/9.jpg)
Target Platforms
![Page 10: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/10.jpg)
Portable Class Libraries
Code Files for reusable classes
UX.SilverlightUX.Phone UX.WindowsUX.Web
Common PCL
![Page 11: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/11.jpg)
What can I use and where?
![Page 12: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/12.jpg)
Portable Class Libraries
• One source
• One project
• One binary
Multiple
platforms!
![Page 13: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/13.jpg)
Mobile Apps with Windows Phone 8
Windows Phone Market Place
Separate Visual Studio Templates
Different application Layers and Tiers
Separate Emulators and device specific deployments
![Page 14: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/14.jpg)
Modern Apps with Windows 8
Windows Store Market Place
Separate Visual Studio Templates with support for Web developers
Different application Layers and Tiers
Separate Emulators and device specific deployments
![Page 15: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/15.jpg)
Client
Mobile and Modern Clients
Server
![Page 16: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/16.jpg)
Mobile Apps with Xamarin
C# everywhere
SDK and Studio available for both Windows and MAC
Build Apps for iOS and Android as well
Single code base for all platforms
Separate Emulators and device specific deployments
![Page 17: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/17.jpg)
Cross platform apps with Xamarin
Xamarin
![Page 18: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/18.jpg)
Model-View-ViewModel (MVVM)
ViewsHow to display information
Written in XAML
View ModelsWhat information to display
Flow of interaction
ModelsData objects
Business logic
Etc.
Platform-specific
PortableReferences
Databinds
![Page 19: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/19.jpg)
MVVM in Cross-platform app architecture
Reference Reference
![Page 20: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/20.jpg)
![Page 21: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/21.jpg)
Resources
http://bit.ly/18T5Hal
http://bit.ly/16Gwzod
www.f5debug.net
http://bit.ly/13oyq2v
Portable Class Libraries on Channel9 @ http://bit.ly/1cqtMnO
![Page 22: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/22.jpg)
Question & Answers
![Page 23: Create Cross Platform Apps with Portable Class Libraries](https://reader037.vdocuments.site/reader037/viewer/2022103114/554f7296b4c905bb178b52d9/html5/thumbnails/23.jpg)
Microsoft Tag
Scan the Tag
to reach me directly
in case of any
questions