Aprenda a usar todo o potencial da Universal Windows Platform (UWP) para criar aplicativos para o Windows 10 em conjunto com o SQLite e o MVVM.
Artigos.NETCriando apps com UWP e SQLite para Windows 10
Por que eu devo ler este artigo:Este artigo se mostra muito útil para quem lida com o desenvolvimento de aplicativos para UWP (Universal Windows Platform), os quais podem ser executados em qualquer dispositivo com Windows 10: computadores, tablets, telefones, HoloLens e outros. Serão mostradas as aplicabilidades, prós e contras dessa plataforma.
Além disso, você verá, através da construção de uma aplicação para gerenciar movimentações financeiras, os principais conceitos do UWP aplicados na ferramenta de desenvolvimento Visual Studio, como se conectar com um banco de dados em SQLite, como usar os princípios do padrão MVVM e, sobretudo, como manipular os nossos projetos desde a criação e configuração.
Com o avanço da tecnologia,
estamos diante de novas experiências no que diz respeito à criação de
aplicações. Nesse sentido, quando falamos de Windows, logo vem à mente sua plataforma
universal de desenvolvimento, mais conhecida como UWP. Mesmo sendo algo
inovador, o conceito do UWP foi de fato introduzido com o Windows 8, sendo
aplicado como uma Windows Runtime. A
partir daí, foi evoluindo ao ponto de conceber a ideia de podermos desenvolver
aplicações com uma só base para qualquer dispositivo que rode Windows 10 (mobile,
desktop, IoT etc.). Isso também nos trouxe a ideia de uma melhor experiência
baseada em diversas necessidades, sejamos nós usuários ou desenvolvedores.
Com a chegada do Windows 10 no
mercado, trabalhar desenvolvendo aplicações com o UWP tornou-se muito mais simples,
já que o mesmo oferece conjuntos de APIs, pacotes de aplicativos e uma Store, tornando
possível a introdução das aplicações para qualquer dispositivo com qualquer
tamanho de tela. Além disso, vários modelos de iteração são permitidos,
dependendo da família de dispositivos que iremos trabalhar, que podem ser PCs,
tablets, Xbox, HoloLens, entre outros.
No decorrer do artigo, trataremos
sobre alguns dos conceitos mais importantes do UWP buscando entender o básico
de sua utilização. Para isso, criaremos um exemplo simples de uma aplicação
financeira, na qual trabalharemos com o padrão MVVM e apresentaremos uma forma
de criar nosso projeto com um banco de dados SQLite simples e muito eficiente.
Antes disso, trataremos de alguns conceitos sobre os principais recursos que
utilizaremos na nossa aplicação.
O que é o UWP?
Ao falar sobre o UWP, devemos ter
em mente que não estamos focando aqui em um sistema operacional, mas sim em uma
família de dispositivos diversos. Um fator importante é referente ao
empacotamento e distribuição das aplicações para a Store, onde poderão ser
baixadas e instaladas nos dispositivos. Esse processo utiliza um único formato
de arquivo, o .AppX, que fornece um mecanismo de instalação confiável e garante
que as aplicações possam ser implantadas e atualizadas sem dificuldades.
Para que seja possível enviar as
aplicações para a Store, é necessário ter um registro como desenvolvedor de
aplicativos, de forma a torná-los disponíveis para todas as famílias de
dispositivos ou apenas para as famílias que desejarmos, além de podermos
gerenciar todas as aplicações do Windows em um único lugar. As APIs fornecidas
com o núcleo do UWP são as mesmas utilizadas para todas as famílias de
dispositivos do Windows, o que quer dizer que se a aplicação contiver apenas as
APIs do núcleo, ou Core, elas serão executadas em qualquer dispositivo Windows
10. Em caso de termos a necessidade de desenvolver para uma família específica
de dispositivos, podemos utilizar extensões especializadas do SDK, o que torna
ainda mais leve a aplicação.
Para as aplicações UWP, são
utilizados elementos UI que usam pixels efetivos, os quais se adaptam
automaticamente com base no número de pixels da tela do dispositivo em uso, o
que facilita bastante ao trabalharmos com diversos hardwares de entrada, como
teclado, controle do Xbox, etc. Outra facilidade que temos para o desenvolvimento
de aplicações UWP é referente às linguagens de programação que podemos
utilizar, como é o caso do C# ou Visual Basic com XAML (eXtensible Application Markup Language), HTML com JavaScript ou
mesmo C++ com DirectX/XAML.
Por fim, mas não menos importante,
podemos usar os dados e as janelas de credenciais para nos permitir uma
experiência de roaming consistente em
todas as telas do Windows onde os usuários executam o aplicativo. Com o roaming
de dados, temos uma maneira mais simples de armazenar as preferências e as
configurações na nuvem de cada usuário, sem que haja a necessidade de
construirmos uma infraestrutura de sincronização para isso. Além disso, podemos
armazenar as credenciais do usuário no Credential
Locker, que tem como prioridade a segurança e a confiabilidade dos dados.
Trabalhando
com o padrão MVVM
Os patterns para qualquer tipo de desenvolvimento nos ajudam na
concepção e definição do relacionamento entre os objetos utilizados na nossa
aplicação e proporcionam uma maior
facilidade na projeção, no desenvolvimento e na manutenção de qualquer tipo de
software. Entre os diversos padrões existentes, focaremos na utilização do MVVM
(Model-View-ViewModel) para a nossa
aplicação.
Utilizaremos um conjunto de
componentes que nos auxiliam no trabalho com o MVVM, chamado MVVM Light ToolKit, framework
open-source comumente utilizado para a construção de aplicações que usam o
padrão MVVM.
O MVVM foi introduzido no ano de
2005 por John Gossman e é composto por alguns princípios básicos, entre eles:
O princípio da simplicidade, que indica que cada View deve ter uma única
ViewModel, a qual deve lhe oferecer todos os serviços necessários;
O princípio da testabilidade, que diz que tanto as ViewModels quanto os Models
devem permitir (ou facilitar) o uso de testes.
De forma simples, vejamos cada
item integrador abaixo:
Model – São os objetos da
lógica de negócio. O Model não precisa saber das interações com o usuário
realizadas na View ou como são implementadas as ViewModels, devendo apenas
interagir com os serviços do sistema e com os dados.
ViewModel – É onde
encapsulamos qualquer código ou dado que a View irá precisar. Ele deve saber
sobre o encapsulamento do Model, mas não é responsável por qualquer lógica de
negócio, que deve estar apenas nos Models. Além disso, o ViewModel não deve
saber nada sobre as especificidades das Views e das UIs que o utilizam.
View – Usamos essa camada para criar a experiência de usuário,
a qual, nas aplicações do Windows 10, utiliza a linguagem de marcação XAML e as
ferramentas de design para ser implementada. A view utiliza tanto propriedades
quanto ações da ViewModel para a realização do seu trabalho. A ligação que é
feita entre a View e o ViewModel é realizada através da propriedade DataContext da View, que armazena
referências à ViewModel através da utilização dos Data Bindings e Commands.
Devido a essas propriedades, torna-se possível a comunicação com o ViewModel, bem
como o acesso aos dados e às atividades oferecidas por ele.
Um pouco sobre o Data Binding
O Data Binding é o meio de comunicação existente entre uma View e uma
ViewModel. Quando essa comunicação é realizada corretamente com os dados, temos
à nossa disposição as devidas notificações no momento em que ocorram mudanças
no valor dos dados. Dessa forma, os elementos visuais que estão vinculados aos
dados refletem essas alterações automaticamente, o que ocorre pelo fato da
ViewModel implementar uma interface chamada INotifyPropertyChanged,
a qual define o método RaisePropertyChanged,
que, por sua vez, é responsável pelas notificações enviadas para a View.
Banco de dados SQLite
Por último, temos o SQLite, um
sistema gerenciador de banco de dados relacional incorporado e desenvolvido em
C que possui um diferencial de não ser uma engineclient-server — ao invés disso, ele é
incorporado aos projetos nativamente. Ele é bastante popular por fazer parte
dos sistemas operacionais Solaris 10 e Mac OS, além de ser o banco oficial do iPhone
e do Skype.
O SQLite utiliza o padrão SQL-92
para trabalhar com o SQL, e sua engine
não é um processo autônomo, podendo ser estática ou dinamicamente ligada à
aplicação. A biblioteca desse SGBD é pequena e disponibilizada em um arquivo
único, que pode ser localizado no diretório de download do mesmo. Além disso,
ele pode ser utilizado em diversos sistemas operacionais, independente de uma
arquitetura de 32 ou 64 bits.
Desenvolvendo a aplicação financeira
Para nosso desenvolvimento,
utilizaremos o Visual Studio 2015 Enterprise, onde iniciaremos a criação de um projeto
vazio do tipo Windows Universal, que
chamaremos de FinancaDevmedia. Portanto,
selecione a opção File > New > Project...,
e, depois, o template Blank App, como
mostrado na Figura 1. Após clicarmos
em OK, o projeto começará a ser
criado e uma nova tela será apresentada, na qual informaremos a plataforma que
será utilizada. Deixaremos as opções padrão conforme mostra a Figura 2.
Oferta válida para todos os planos durante o mês de dezembro
+3 MESES
Grátis
Veja os resultado dos nossos alunos
Conquistas reais de quem está aplicando o método
<Perguntas frequentes>
Carreira
Por onde devo iniciar os estudos?
Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.
Em quanto tempo vou me tornar um programador?
O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.
Eu preciso de um diploma de faculdade para começar a atuar como programador?
Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.
Por que a programação se tornou a profissão mais promissora da atualidade?
A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.
Metodologia
Quais são os principais diferenciais da DevMedia?
Didática e Metodologia
Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios
Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno
Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação
A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.
O que eu irei aprender estudando pela DevMedia?
Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.
Quais as vantagens de aprender programação através da linguagem JavaScript?
Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens
A plataforma oferece certificados?
Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.
A plataforma tem suporte ao aluno, como funciona?
Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.
A DevMedia me forma como programador Full Stack?
Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!
Tem horário para as aulas?
Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.
Por que a DevMedia não usa videoaulas em sua didática?
Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.
Preciso de um computador específico para estudar na DevMedia?
Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.
Eu consigo estudar pelo celular?
Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.
A DevMedia tem aplicativo?
Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.
Preciso estar na faculdade para acompanhar os estudos na DevMedia?
Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.
Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?
Oferecemos o plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX
Adquirindo o plano, terei acesso a todo o conteúdo?
Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.
A plataforma tem planos vitalícios?
Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.
A DevMedia tem fidelidade?
Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.
Como funciona o cancelamento?
Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.
Cadastro
Como excluir meus dados da plataforma?
Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.
Compartilhe esse conteúdo com um amigo!
Faça login para ganhar recompensas.
Ou
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.