Download presentation
Presentation is loading. Please wait.
Published byMarylou Abigail Barrett Modified over 8 years ago
2
Vladimir Milev New Venture Software Sharing Code between WPF and Universal Apps
4
Founder and CSA at www.newventuresoftware.com www.newventuresoftware.com Spent 9 years at Telerik, most of them on XAML Twitter: @vmilev Blog: http://www.newventuresoftware.com/blog/author/vladimir- milev/ http://www.newventuresoftware.com/blog/author/vladimir- milev/ 4 th time speaker at NTK Speaker at other conferences i.e. DevReach, How.Camp and others. Vladimir Milev
7
Identifying our use case and needs Code Sharing techniques PRISM and Unity Navigation Sharing XAML Discussion / Q&A Agenda
9
Universal Apps / UWP Platform Convergence Investment in the future? Code Reuse Look and feel unification
10
It is “THE Platform” for Desktop development Visual Studio, AutoCAD, Expression Blend, GitHub It’s longevity is secure Pretty much the only choice for new LOB apps Support for Windows 7 (and Vista) - huge market share at 60%+.NET Apps in Windows Store WPF
11
XAML Based WPF as extension to UWP Common business logic Support for widest range of MS platforms Support for Windows 7 and earlier The case for WPF + Universal Apps
13
File Includes (Add as link option or Same folder approach) Shared Projects Portable Class library When to use each? Strategies for sharing code
14
Did that for XAML controls at Telerik Somewhat archaic way of doing things The predecessor of Shared Projects Not recommended to be done on a large scale Still suitable for exception cases File includes (add as link option)
15
Shared Projects
16
Two types – classic and (universal apps) Targets the least common denominator APIs Much more simplified development model It is er… well… portable It scales well to large systems requiring multiple solutions, involving third parties or multiple programming languages Difficult to access platform specific APIs: Requires DI, IoC containers, and lots of interfaces. Portable Class Libraries
17
Line of Business Application Basics: MVVM Pattern: Views, ViewModels Navigation Commanding We will explore our approach to each Introducing MyApp
18
Creating the project structure Installing the Share Project Manager Extension Adding a Desktop (WPF) Project Configuring folder structure (DEMO) Initial Project Setup
20
Why PRISM? Consider also Caliburn.Micro, MVVM Light Subset of PRISM: PRISM MVVM ViewModel and BindableBase AutoWireViewModel IView interface Implementing cross-platform PRISM
22
Navigation INavigationService interface
23
No counterpart in WPF Regions and RegionManager (with MEF) Frame control and it’s NavigationService Reimplementing the INavigationService in WPF Introducing the Unity IoC Container. Introducing Commanding. Navigation
25
XAML Preprocessing
26
Share the XAML file Fix the WPF Version Create an RegExp preprocessor Insert some MSBuild Magic Adding a custom template control sample XAML Preprocessing
28
Identifying our use case and needs Code Sharing techniques PRISM and Unity Navigation Sharing XAML Discussion / Q&A Recap
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.