SlideShare una empresa de Scribd logo
1 de 14
Migrando
Aplicações
 O que considerer ao Migrar
 uma App WP para W8
Apresentação



          • Aline Firmino Brito
          • Analista de Sistemas
          • Formada pela FATEC e pelo IFSP
Considerações
Básicas
Preparando a
migração
Processo de
Migração
Aprimorando
para
Manutenção
Add As Link
Portable Class Library
Migrando a
Interface
Diferenças entre
Silverlight e
Windows Store
utilizando XAML
Conclusões
Fontes


• http://msdn.microsoft.com/en-
  us/library/windows/apps/hh465136.aspx
• http://channel9.msdn.com/Series/Migrating-apps-from-Windows-
  Phone-to-Windows-8/Setting-Up-Your-Windows-Store-App-Project
• http://blog.lambda3.com.br/2012/04/portable-class-library-a-verso-
  net-do-write-once-run-anywhere/
• http://msdn.microsoft.com/en-us/library/gg597391.aspx
Contato



•   http://www.alinefbrito.net/blog
•   Aline.brito@studentpartner.com
•   @alinefbrito
•   AlineBrito
Muito
Obrigada!

Más contenido relacionado

Similar a Migrando aplicações

Workshop de Firefox OS
Workshop de Firefox OSWorkshop de Firefox OS
Workshop de Firefox OSDavid Ruiz
 
Introdução Ao Silverlight 3
Introdução Ao Silverlight 3Introdução Ao Silverlight 3
Introdução Ao Silverlight 3fredpolicarpo
 
Novidades office 365 setembro 2015
Novidades office 365   setembro 2015Novidades office 365   setembro 2015
Novidades office 365 setembro 2015Jump Call
 
Desenvolvendo para Firefox OS
Desenvolvendo para Firefox OSDesenvolvendo para Firefox OS
Desenvolvendo para Firefox OSDavid Ruiz
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIMinicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIRenato Groffe
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Renato Groff
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyRelsi Maron
 
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .netTDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .netFabian Gehrke
 
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayMinicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayRenato Groff
 
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Renato Groff
 
Selenium renato groffe + milton camara - mvp conf latam 2019
Selenium  renato groffe + milton camara - mvp conf latam 2019Selenium  renato groffe + milton camara - mvp conf latam 2019
Selenium renato groffe + milton camara - mvp conf latam 2019Milton Camara Gomes
 
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010Fabian Gehrke
 
Dynamics CRM - Mais que uma plataforma de CRM
Dynamics CRM - Mais que uma plataforma de CRMDynamics CRM - Mais que uma plataforma de CRM
Dynamics CRM - Mais que uma plataforma de CRMPedro Azevedo
 
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...Fabian Gehrke
 

Similar a Migrando aplicações (20)

IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
Workshop de Firefox OS
Workshop de Firefox OSWorkshop de Firefox OS
Workshop de Firefox OS
 
Introdução Ao Silverlight 3
Introdução Ao Silverlight 3Introdução Ao Silverlight 3
Introdução Ao Silverlight 3
 
Novidades office 365 setembro 2015
Novidades office 365   setembro 2015Novidades office 365   setembro 2015
Novidades office 365 setembro 2015
 
Desenvolvendo para Firefox OS
Desenvolvendo para Firefox OSDesenvolvendo para Firefox OS
Desenvolvendo para Firefox OS
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Msp coding night_ppt
Msp coding night_pptMsp coding night_ppt
Msp coding night_ppt
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web APIMinicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API
 
Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API Minicurso sobre as tecnologias WCF e Web API
Minicurso sobre as tecnologias WCF e Web API
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .netTDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
TDC 2010 Floripa-SC SharePoint 2010: Novidades para os desenvolvedores .net
 
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding DayMinicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
Minicurso sobre as tecnologias WCF e Web API - 2o. MSP Coding Day
 
WebCarioca - TocaObra
WebCarioca - TocaObraWebCarioca - TocaObra
WebCarioca - TocaObra
 
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
 
Selenium renato groffe + milton camara - mvp conf latam 2019
Selenium  renato groffe + milton camara - mvp conf latam 2019Selenium  renato groffe + milton camara - mvp conf latam 2019
Selenium renato groffe + milton camara - mvp conf latam 2019
 
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
 
Dynamics CRM - Mais que uma plataforma de CRM
Dynamics CRM - Mais que uma plataforma de CRMDynamics CRM - Mais que uma plataforma de CRM
Dynamics CRM - Mais que uma plataforma de CRM
 
Microsoft Dynamics CRM
Microsoft Dynamics CRMMicrosoft Dynamics CRM
Microsoft Dynamics CRM
 
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
 
Ai1617 ac-tp2-g2-a
Ai1617 ac-tp2-g2-aAi1617 ac-tp2-g2-a
Ai1617 ac-tp2-g2-a
 

Migrando aplicações

Notas del editor

  1. Typically, you develop an application for Windows Phone 7 by using Microsoft Silverlight and one of the managed programming languages—usually C#. There are two main Windows Store app development approaches that you can use when migrating your Windows Phone 7 app: XAML, and JavaScript with HTML5. You develop Windows Store apps using C++, C#, or Visual Basic by using one of those languages with XAML, whereas you develop Windows Store apps using JavaScript with JavaScript, CSS, and HTML5 along with the Windows Library for JavaScript
  2. Do you want to port your app rapidly or invest in greater maintainability? See the Improving maintainability section for a few techniques that you can use to single-source your project or to help reuse code and binaries between projects targeting different platforms. The resolution of a Windows Phone 7 device is 800x480 (WVGA) in landscape mode, and 480x800 in portrait mode. A Windows 8 device can have multiple possible portrait and landscape resolutions, in a variety of aspect ratios. How will your interface and assets scale? See Plan for different form factors for some ideas.A Windows Phone 7 interface is touch-specific. Your Windows 8 interface should support touch as well, but also support other input methods like mouse and keyboard. Will your interface feel cumbersome to someone who is not using touch? See Plan for accessibility for info on keeping your app useful regardless of user input method. Do you have phone-specific functionality in your Windows Phone 7 app? Are you aware of equivalent networking technologies in the Windows Runtime? If you have extensive support for phone or provider features, you may need to redevelop them to be more network or provider independent.Is your app a game that relies on XNA components for graphics rendering? If so, you must port your graphics code to Microsoft DirectX using C++. For more info, see Creating a DirectX game. You can also use DirectX in combination with XAML and with components written in managed languages. For more info, see DirectX and XAML interop and Creating Windows Runtime Components.
  3. Launch Microsoft Visual Studio Express 2012 for Windows 8 and create a new Windows Store app using C++, C#, or Visual Basic. Choose a project template that best matches your app layout and functionality. For more info, see Jumpstart your Windows Store app using templates (C#, C++, Visual Basic).Copy the folders, code, and asset files that you want to reuse in the new project. In the Visual Studio Solution Explorer, click Show All Files. Select the files and folders that you copied, and then right-click them and select Include In Project.Perform a global search and replace to replace "System.Windows" with "Windows.UI.Xaml". Copy any reusable parts of your original XAML code into the new project's XAML files, or into newly created XAML files as necessary. You can sometimes copy and reuse small chunks of XAML such as styles and data templates or the contents of simple layout elements, but not the outermost elements (typically PhoneApplicationPage elements). Build the project to generate errors, then use these errors to identify parts of your code to update or replace. Sometimes the updates required will be as minor as parameter type changes. Other updates will require you to use Windows Runtime APIs instead of .NET APIs for Windows Store apps. To identify which APIs are supported, use this topic for guidance in combination with .NET for Windows Store apps overview and Porting Silverlight or WPF XAML/code to a Windows Store app.Comment or stub out any code that you cannot easily update until your project builds.Update or replace the commented-out code one issue at a time until your port is complete
  4. Before you port your code, refactor it to make it as reusable as possible. In particular, you can avoid issues with UI API differences by applying design patterns such as Model-View-ViewModel (MVVM), which separate your UI logic from your business logic. With MVVM, your model and view model code will be largely unchanged on different platforms, while your view code (your XAML) will be customized for the platform.Share reusable code files between projects instead of maintaining multiple copies targeting different platforms. To do this in Visual Studio, right-click the project in Solution Explorer, select Add Existing Item, select the files to share, and then click Add As Link.If you want to include some platform-specific code in your shared files, use conditional compilation. This works only with C#, C++, and Visual Basic code. For XAML, you must maintain separate code files.Create cross-platform library assemblies using the Portable Class Library. The portable class library includes the subset of .NET APIs that are available in the .NET Framework for Silverlight, the .NET APIs for Windows Store apps, and the full .NET Framework. Portable class library assemblies are binary compatible with all three platforms, and therefore represent the easiest way to reuse code. However, to create projects that target the portable class library, you must use Microsoft Visual Studio Professional 2012 or better.
  5. Most of the layout types from Silverlight, such as Canvas, Grid, and StackPanel, are also present in the Windows Runtime XAML namespaces. Migrating a basic user interface structure should be straightforward, although you should adjust your Grid and layout settings to accommodate multiple resolutions greater than 800x480.Of course, your phone UI is likely designed specifically for the small screen size of the phone, and simply scaling it up is not necessarily the best design. Instead, you should re-imagine your UI for the capabilities of Windows Store apps and the different form factors of Windows 8 devices. Of course, one of these capabilities is the snapped view, for which your phone UI design might be useful.
  6. The XAML controls in the Windows Runtime are based on the Silverlight controls, but may have different or missing functionality. For example: The Windows Runtime does not include the Pivot and Panorama controls available in Silverlight for Windows Phone. These controls are designed for the phone form factor, and help users navigate experiences that are larger than the phone screen. Your Windows Store apps will usually have more screen space, and should take advantage of the greater flexibility of the Grid control. You can also use the FlipView control to provide a simple paging experience.The AppBar control in the Windows Runtime provides a similar experience to the phone ApplicationBar, but is significantly more flexible, supporting custom layouts and data binding. Windows Phone apps can declare which device orientations they support, and can thereby restrict the layout flexibility required. For Windows Store apps, you should design your UI to look great regardless of device orientation and screen size. For more info, see Plan for different form factors.For more info on controls, see Controls by function.Tiles and notificationsTiles for Windows Store apps have behaviors similar to Live Tiles for Windows Phone 7, although there are some differences. For more details on the use of tiles in a Windows Store app using C++, C#, or Visual Basic, read Creating tiles.Notifications are an extension of the push notification model in Windows Phone 7. For more details on the use of notifications in a Windows Store apps, read Sending toast notifications.For info and tutorials on using tiles, toast, and notifications in a Windows Store app using C++, C#, or Visual Basic, read Working with tiles, badges, and toast notifications. Data scenariosWindows Store apps do not currently include built-in support for data-intensive scenarios such as line of business (LOB) scenarios. For example, there are no APIs for client-side SQL and no local database. However, you can still retrieve data from the network by using custom services and OData calls, shape and format the data by using client-side LINQ, and bind to it by using XAML-based controls. Data binding is mostly unchanged. For example, you can implement INotifyPropertyChanged and INotifyCollection to receive change notifications and update your UI accordingly. However, the data-related features of Windows Store apps currently have the following limitations:There is no built-in support for data-entry validation and the IDataErrorInfo and INotifyDataErrorInfo interfaces.The Binding class does not include the extended formatting properties available in Silverlight. However, you can still implement IValueConverter to provide custom formatting.The IValueConverter methods take language strings as parameters instead of CultureInfo objects. The CollectionViewSource class does not provide built-in support for sorting and filtering, and grouping works differently. For more info, see Data binding with XAML and the Data binding sample.NavigationSilverlight for Windows Phone apps require a page-based navigation structure in order to integrate with the platform and make use of the hardware Back button. There is a similar navigation framework available for Windows Store apps, but because of the different platform requirements, there are a few differences:When you navigate to a page in a Windows Store app, you do not use a URI addressing scheme. Instead, you specify the type of the target page as indicated in the x:Class attribute of the page's XAML definition. You can optionally pass a parameter object as well. The navigation framework for Windows Store apps does not include support for fragment navigation, journal (back stack) modification, or URI mapping.