Silverlight Migration Strategies Whitepaper
Total Page:16
File Type:pdf, Size:1020Kb
Silverlight Migration Strategies Whitepaper SILVERLIGHT MIGRATION STRATEGIES A Whitepaper by Wintellect, LLC Authors: Noel Stieglitz Version 1.0 Information in this document is subject to change without notice. Any example companies, organizations, products, people, and events depicted herein are fictitious. No association with any real company, organization, product, person or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Wintellect, LLC. Wintellect may have patents, patent applications, trademarked, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Wintellect, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Other product and company names herein may be the trademarks of their respective owners. Silverlight Migration Strategies Whitepaper Page 1 of 34 http://www.wintellect.com/ Silverlight Migration Strategies Whitepaper CONTENTS Introduction and Motivation .................................................................................................................................... 4 Legacy Silverlight Technology Stack .......................................................................................................................... 5 Overview .............................................................................................................................................................. 5 Architecture and Languages.................................................................................................................................. 5 Core Presentation Framework .......................................................................................................................... 5 .NET Framework for Silverlight .......................................................................................................................... 5 XAML ................................................................................................................................................................ 5 Managed Programming Model (.NET for Silverlight) ......................................................................................... 5 Concepts, Patterns, and Practices ......................................................................................................................... 6 Templates and Custom Controls ....................................................................................................................... 6 Data Binding ..................................................................................................................................................... 7 Routed Events ................................................................................................................................................... 8 Styles and Behaviors ......................................................................................................................................... 8 MVVM .............................................................................................................................................................. 9 Prism .............................................................................................................................................................. 10 Dependency Injection and Service Locators .................................................................................................... 10 WCF RIA Services ................................................................................................................................................ 11 Developer Tools .................................................................................................................................................. 11 Visual Studio ................................................................................................................................................... 11 Microsoft Expression Blend............................................................................................................................. 11 Mitigating Risk Factors before and during Modernizing .......................................................................................... 11 MVVM Pattern Usage ......................................................................................................................................... 11 Modularity .......................................................................................................................................................... 12 Portable Class Library ......................................................................................................................................... 12 Dependency Injection, Following SRP ................................................................................................................. 12 Service Code Quality and Technology Stack ........................................................................................................ 12 Legacy Application Testing and Feature Documentation ..................................................................................... 12 A Path Forward ....................................................................................................................................................... 13 Web or Native .................................................................................................................................................... 13 Scenario Recommendations ................................................................................................................................... 14 Mission Critical Enterprise or Core Business Application ..................................................................................... 14 Silverlight Migration Strategies Whitepaper Page 2 of 34 http://www.wintellect.com/ Silverlight Migration Strategies Whitepaper AngularJS with RESTful Web API ..................................................................................................................... 14 Public Web Application ....................................................................................................................................... 16 JavaScript MV* Framework with Web API....................................................................................................... 16 Non-Critical Enterprise or LOB ............................................................................................................................ 18 ASP.NET MVC .................................................................................................................................................. 18 Standard or Advanced Media.............................................................................................................................. 19 JavaScript MV* Framework/Windows Azure Media Services .......................................................................... 19 Native Migration .................................................................................................................................................... 20 Windows Presentation Foundation (WPF) .......................................................................................................... 20 Windows Store Apps........................................................................................................................................... 21 New Concepts for Silverlight Developers......................................................................................................... 21 Prism .............................................................................................................................................................. 22 Web Migration ....................................................................................................................................................... 24 ASP.NET MVC ..................................................................................................................................................... 24 ASP.NET MVC Key Benefits ............................................................................................................................. 24 MVC Architecture ........................................................................................................................................... 24 Maintainability and Testability ........................................................................................................................ 24 Standards Based HTML Output ....................................................................................................................... 25 Rich Client Web .................................................................................................................................................. 25 AngularJS .......................................................................................................................................................