meetech windows apps

40

Upload: nabil-safatli

Post on 25-Jan-2017

81 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Meetech Windows Apps
Page 2: Meetech Windows Apps

Desenvolvimento de Windows Apps

Page 3: Meetech Windows Apps

meetech

Quem sou eu?

Nabil Safatli Formado no INFNET em Análise e Desenvolvimento de Sistemas

Experiência em projetos Mobile, Desktop e Web

Software Developer – OLX

Professor no Infnet

Page 4: Meetech Windows Apps

meetech

Briefing

Windows Phone

Mercado de desenvolvimento

Loja

Design

Versões

Arquitetura e Tecnologias

SDK

XAML, C#

MVVM e Frameworks

Prism

Page 5: Meetech Windows Apps

1IntroduçãoWindows Phone?

Page 6: Meetech Windows Apps

Lançamento e inícioLançado em outubro de 2010 o Windows Phone não é uma continuação do

Windows Mobile

Entrou no mercado para concorrer com Android e iOS

Atualmente encontra-se na versão do Windows 10

Introdução

1. Windows Phone?

Page 7: Meetech Windows Apps

Introdução

1. Windows Phone?

http://www.statista.com/statistics/245189/market-share-of-mobile-operating-systems-for-smartphone-sales-in-brazil/

Page 8: Meetech Windows Apps

Possibilidade de expansão

O desenvolvimento com Xamarin é ágil e agora gratuito após se unir a Microsoft, isso traz grandes possibilidades no mercado

Introdução

1. Windows Phone?

Page 9: Meetech Windows Apps

Introdução

1. Windows Phone?

Page 10: Meetech Windows Apps

2Design & UIEstruturas e layouts

Page 11: Meetech Windows Apps

DesignNova interface dos produtos da Microsoft

Antes possuia o nome de Metro Style

Pode ser vista em diversos produtos como Xbox,

Windows Phone e Windows

Design & UI

2. Estruturas e layouts

Page 12: Meetech Windows Apps

Visibilidade sem abrir o appLive Tiles são blocos dinâmicos

Tais blocos dão vida à tela inicial do aparelho

Trazem as novidades dos aplicativos em tempo real

Design & UI

2. Estruturas e layouts

Page 13: Meetech Windows Apps

3StorePublicação de apps

Page 14: Meetech Windows Apps

Loja unificadaA loja de Windows Phone oferece milhares de aplicativos

Cadastro único para os desenvolvedores de Windows Apps

Aumento do número de usuários de Windows

https://developer.microsoft.com/en-us/windows

Store

3. Publicação de apps

Page 15: Meetech Windows Apps

Conta individual Conta Empresarial Limitação de algumas funcionalidades Taxa única de $19 USD

Acesso total a loja Exige reconhecimento da empresa no

país em que está localizada Taxa única de $99 USD

Store

3. Publicação de apps

Page 16: Meetech Windows Apps

4FerramentasIDE e linguagem

Page 17: Meetech Windows Apps

Ferramentas gratuitas Visual Studio

Blend Expression

Emuladores

Windows Phone SDK

Ferramentas

4. IDE e linguagem

Page 18: Meetech Windows Apps

Web Apps Apache Cordova Xamarin C++ DirectX Azure Tools Universal Apps Office

Ferramentas

4. IDE e linguagem

Page 19: Meetech Windows Apps

Ferramentas

4. IDE e linguagem

XAMLXaml é uma linguagem de marcação

Utilizada em diversas tecnologias e de fácil compreensão

No exemplo ao lado é exibido um TextBlock com algumas

estilizações

Page 20: Meetech Windows Apps

XAML

• Xaml é uma linguagem de marcação• Utilizada em diversas tecnologias e

de fácil compreensão• No exemplo ao lado é exibido um

TextBlock com algumas estilizações

Ferramentas

4. IDE e linguagem

Page 21: Meetech Windows Apps

5ArquiteturaMVVM

Page 22: Meetech Windows Apps

Arquitetura

5. MVVM

Padrão de arquitetura usado em desenvolvimento de WPF, Windows e Windows Phone

Provê maior desacoplamento e facilidade no desenvolvimento

Existem diversos frameworks que auxiliam a estruturar a base necessária do MVVM

Pode ser usado em todas as tecnologias XAML

Com a intenção de separar a interface de utilização e as regras de negócio

MVVM é dividido em 3 camadas

View, ViewModel e Model

Page 23: Meetech Windows Apps

• Model – Implementação do domínio da aplicação, informações do negócio e

validações

• View – Definir a estrutura e layout de apresentação

• View Model – Atua através de Bindings e Comandos entre Views e ViewModels

Arquitetura

5. MVVM

Page 24: Meetech Windows Apps

Arquitetura

5. MVVM

Page 25: Meetech Windows Apps

Frameworks

• Caliburn• MVVM Light• Prism• Reactive UI

Arquitetura

5. MVVM

Page 26: Meetech Windows Apps

6PRISMFramework MVVM

Page 27: Meetech Windows Apps

PRISM

6. Framework MVVM

Page 28: Meetech Windows Apps

PRISM

6. Framework MVVM

Compatível com as versões Universal Windows 8.1 e UWP

É baseado nos fundamentos de MVVM

https://www.nuget.org/packages/Prism.Core/

https://github.com/PrismLibrary/Prism/wiki/Release-Notes---6.1.0

https://www.nuget.org/packages/Prism.StoreApps/

Page 29: Meetech Windows Apps

PRISM

6. Framework MVVM

São necessários alguns passos iniciais de configuração que serão exibidos a seguir

1.Alteração da classe base da aplicação para utilizar o Prism

2.Configurar todas as Views para utilizar a classe VisualStateAwarePage

3.Configurar todos os ViewModels para herdar de ViewModel do Prism

Page 30: Meetech Windows Apps

• Para a criação do projeto serão necessários alguns passos iniciais de configuração que serão exibidos a seguir

• Alteração da classe base da aplicação para utilizar o Prism• Configurar todas as Views para utilizar a classe

VisualStateAwarePage• Configurar todos os ViewModels para herdar de ViewModel do

Prism

PRISM

6. Framework MVVM

Page 31: Meetech Windows Apps

PRISM

6. Framework MVVM – App.xaml.cs

public sealed partial class App : MvvmAppBase { private readonly IUnityContainer _container = new UnityContainer(); public App() { this.InitializeComponent(); } protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args) { _container.RegisterInstance(SessionStateService); _container.RegisterInstance(NavigationService); ViewModelLocationProvider.SetDefaultViewModelFactory ((viewModelType) => _container.Resolve(viewModelType)); NavigationService.Navigate(Experiences.Main.ToString(), null); return Task.FromResult<object>(null);

Page 32: Meetech Windows Apps

PRISM

6. Framework MVVM – MainPage.xaml

<storeApps:VisualStateAwarePagex:Class="MVVMWithPrism.Views.MainPage"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:MVVMWithPrism"mvvm:ViewModelLocator.AutoWireViewModel="True"Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

<Grid><TextBlock FontSize="30"

FontWeight="Bold"VerticalAlignment="Center"TextWrapping="Wrap"Text="Hello World!"/>

</Grid></storeApps:VisualStateAwarePage>

Page 33: Meetech Windows Apps

PRISM

6. Framework MVVM – MainPage.xaml.cs

using Microsoft.Practices.Prism.StoreApps;

namespace MVVMWithPrism.Views{ public sealed partial class MainPage : VisualStateAwarePage { public MainPage() { this.InitializeComponent(); } }}

Page 34: Meetech Windows Apps

MainPageViewModel.cs

PRISM

6. Framework MVVM

using Microsoft.Practices.Prism.Mvvm;

namespace MVVMWithPrism.ViewModels{ public class MainPageViewModel : ViewModel { public string Hello => "Welcome to Windows Development"; }}

Page 35: Meetech Windows Apps

Play and test

PRISM

6. Framework MVVM

Page 36: Meetech Windows Apps

7ReferênciasLinks

Page 37: Meetech Windows Apps

C# In Depthhttp://www.amazon.com/C-Depth-3rd-Jon-Skeet/dp/161729134X

Windows Phone Succintlyhttps://www.syncfusion.com/resources/techportal/ebooks/windowsphone8

Developing Windows 10 Applications with C#https://www.amazon.com/Developing-Windows-10-Applications-C-ebook/dp/B01APYFDPW/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1463063968&sr=1-1&keywords=Universal+Windows+Platform

Xamarin Formshttp://aka.ms/xamebook

Referências

7. Links

Page 38: Meetech Windows Apps

Perguntas?

Page 39: Meetech Windows Apps

Obrigado!

Page 40: Meetech Windows Apps

Nabil Safatli

[email protected]

www.github.com/nabilsafatli

www.nabilsafatli.com