meetech windows apps

Post on 25-Jan-2017

81 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Desenvolvimento de 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

meetech

Briefing

Windows Phone

Mercado de desenvolvimento

Loja

Design

Versões

Arquitetura e Tecnologias

SDK

XAML, C#

MVVM e Frameworks

Prism

1IntroduçãoWindows Phone?

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?

Introdução

1. Windows Phone?

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

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?

Introdução

1. Windows Phone?

2Design & UIEstruturas e layouts

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

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

3StorePublicação de 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

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

4FerramentasIDE e linguagem

Ferramentas gratuitas Visual Studio

Blend Expression

Emuladores

Windows Phone SDK

Ferramentas

4. IDE e linguagem

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

Ferramentas

4. IDE e linguagem

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

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

5ArquiteturaMVVM

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

• 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

Arquitetura

5. MVVM

Frameworks

• Caliburn• MVVM Light• Prism• Reactive UI

Arquitetura

5. MVVM

6PRISMFramework MVVM

PRISM

6. Framework MVVM

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/

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

• 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

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);

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>

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(); } }}

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"; }}

Play and test

PRISM

6. Framework MVVM

7ReferênciasLinks

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

Perguntas?

Obrigado!

Nabil Safatli

contato@nabilsafatli.com

www.github.com/nabilsafatli

www.nabilsafatli.com

top related