Visual Studio Summit 2014 - Portable Class Library

Preview:

Citation preview

Visual Studio Summit 2014

Thiago Lunardi, Analista de Desenvolvimento

Desenvolvendo para Windows Phone 8 e

Windows 8 com Portable Class Libraries

ucast!

MTAC, MCSD, MCTS, MCP, Scrum Developer

Visual Studio Summit 2014

Desenvolvedor Junior Cross-Platform

Desenvolvedor Pleno Windows Phone e Store

Desenvolvedor Senior ASP.NET

Desenvolvedor Master ASP 3.0

Thiago Lunardi

Visual Studio Summit 2014

A mãe da inovação

Necessidade

Visual Studio Summit 2014

NecessidadeA mãe da inovação

Visual Studio Summit 2014

NecessidadeA mãe da inovação

2 Plataformas

3 Aplicações

6 PROJETO$

Visual Studio Summit 2014

Necessidade

• Repetição de códigos entre projetos = Repetição da mesma tarefa

• Se bug na APP Windows Phone → Bug na APP Windows Store =

Repetição da mesma correção;

A mãe da inovação

• Atraso no desenvolvimento de outras features;

• Aumento proporcional do custo de desenvolvimento:

– “Se HH for R$ X / hora → 2 x R$ X / hora”

– “Se horas de sono for Y horas → Irá dormir menos horas”

• Desenvolvedor fica desmotivado pela repetição, e não produção;

Visual Studio Summit 2014

Assemblies portáveis

Portable Class Library

Visual Studio Summit 2014

Portable Class Library

Portable

Class

Library

Agregando valores

Visual Studio Summit 2014

Portable Class LibraryBenefícios, recursos e facilidades

• Agrega valor ao desenvolvimento multi-plataforma;

• Cria “portable assemblies” referenciáveis;

• Gera o mínimo de tipagem para:

– .NET Framework

– Silverlight

– .NET for Windows Store apps;

– Windows Phone

– Xbox

Visual Studio Summit 2014

Portable Class LibrarySuporte de funcionalidades entre plataformas

Visual Studio Summit 2014

Portable Class LibraryDetalhada documentação fornecida pelo MSDN

Visual Studio Summit 2014

Portable Class LibraryTemplates de projetos

Templates de projetos PCL disponíveis a partir do Visual Studio 2010 Service Pack 1 + Extensão

Visual Studio Summit 2014

Portable Class LibraryTemplates de projetos

“One Source

One Project

One Binary

Multiple Platforms!”

Visual Studio Summit 2014

Portable Class Library Project

Demonstração

Visual Studio Summit 2014

Portable Class Library + MVVMModel View ViewModel

Views (Platform-specific)

How to display information

Written in XAML

View Models (Portable)

What information to display

Flow of interaction

Models (Portable)

Data objects

Business logic

Etc.

Visual Studio Summit 2014

Portable Class Library + MVVMReferencias para implementar PCL + MVVM

• System.Collections.ObjectModel

– ObservableCollection<T> class

– ReadOnlyObservableCollection<T> class

• System.Collections.Specialized

– INotifyCollectionChanged class

– NotifyCollectionChangedAction class

– NotifyCollectionChangedEventArgs class

– NotifyCollectionChangedEventHandler class

• System.ComponentModel

– DataErrorsChangedEventArgs class

– INotifyDataErrorInfo class

– INotifyPropertyChanged class

– System.Windows.Input.ICommand class

– All classes in the

System.ComponentModel.DataAnnotations

namespace

Recommended