meetech windows apps
Post on 25-Jan-2017
79 Views
Preview:
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