WPF para aplicações comerciais – Parte 1 - .Net Magazine 74
A Microsoft criou o WPF inicialmente como uma plataforma para desenvolvimento de aplicações multimídia. Porém, a comunidade de desenvolvedores também o adotou para o desenvolvimento de aplicações comerciais, também conhecidas como LOB (Line-Of-Business). Neste artigo vamos abordar as melhores práticas para o desenvolvimento desse tipo de aplicação utilizando WPF e NHibernate juntos.
Artigos.NETWPF para aplicações comerciais – Parte 1 - .Net Magazine 74
A
Microsoft criou o WPF inicialmente como uma plataforma para desenvolvimento de
aplicações multimídia. Porém, a comunidade de desenvolvedores também o adotou para
o desenvolvimento de aplicações comerciais, também conhecidas como LOB (Line-Of-Business).
Neste artigo vamos abordar as melhores práticas para o desenvolvimento desse
tipo de aplicação utilizando WPF e NHibernate juntos.
Para
que serve
O
WPF apresenta um novo paradigma para o desenvolvimento de aplicações Windows, com
avançados recursos de databinding e de geração visual, proporcionando ao
usuário final uma experiência de uso muito mais agradável e, ao mesmo tempo, maior
agilidade ao desenvolvedor.
Em
que situação o tema é útil
Quer
emplacar seu sistema desktop com visual bonito e grandes funcionalidades,
desbancando a concorrência? Quer deixá-lo independente de banco de dados? Quer
poder testá-lo de forma automática e sem muita complicação? É para isso que
vamos utilizar WPF e suas boas práticas descritas neste artigo.
Resumo do DevMan
Toda nova tecnologia que
começa a ganhar espaço carece inicialmente de informações que indiquem qual a
melhor maneira de utilizá-la. A própria Microsoft disponibiliza alguns exemplos
que podem não corresponder às expectativas dos desenvolvedores, que geralmente querem
ver situações reais sendo contempladas. Neste artigo vamos abordar de forma
prática o uso do Windows Presentation Foundation (WPF) para o desenvolvimento
de aplicações comerciais. A aplicação de demonstração irá tocar pontos
importantes como separação de camadas, validação de dados, experiência do
usuário, persistência de dados e muito mais.
Desde o advento da internet,
principalmente após a tecnologia ter disponibilizado altas velocidades de
transmissão de dados, temos ouvido falar que tudo estará online. Seus
documentos, suas imagens, seus negócios, sua vida. Parte disso é realidade, não
temos como negar. Contudo, o desktop ainda está aí. Trazendo essas afirmações
para o campo do desenvolvimento de sistemas vemos que as ferramentas para o
desenvolvimento web se especializaram, evoluíram.
Se compararmos a experiência do usuário
ao utilizar um sistema desktop e um sistema web, podemos dizer que uma
aplicação desktop é mais prazerosa ao usuário final e até, porque não, ao
desenvolvedor. Sistemas desktop ainda existem e vão permanecer entre nós por
muito tempo, mas não devido a limitações tecnológicas. Temos aí o Silverlight
que tem a tarefa de construir interfaces ricas, melhorando a experiência do
usuário. O que fará com que tenhamos ainda sistemas desktop são as regras de
negócio. Em ambientes corporativos, onde a segurança é altamente rígida, talvez
possuir ERP totalmente online é inviável, mas talvez ter partes dele desktop
para garantir agilidade de uso e tempo de resposta seja mais interessante.
Pensando na evolução da interação homem/máquina,
a Microsoft aos poucos foi substituindo sua plataforma de desenvolvimento
desktop, criando algo totalmente novo, o WPF. A grande adoção (internacional)
do uso da plataforma no desenvolvimento de aplicações comerciais pegou o time
de criação do WPF de surpresa, o que fez com que na sua versão 3.5 várias
adequações fossem adicionadas para deixá-lo mais preparado ao desenvolvimento
de aplicações comerciais. É justamente este o foco de artigo, onde vamos
entender como utilizar a plataforma WPF para desenvolvimento de aplicações
comerciais e quais boas práticas estão envolvidas. Mas antes, vamos entender
ligeiramente o que é o WPF.
Windows Presentation
Foundation
Por volta de 2004 surgiu um projeto
chamado até então de Avalon, declarado como a nova tecnologia de interface do
Windows Vista. Com seu amadurecimento ele se tornou o WPF, um conjunto de
classes – ou seja, uma plataforma – para o desenvolvimento de interfaces ricas,
de alta definição, livres da limitação de resolução, que utilizam o poder de
processamento das GPUs (Graphics Processing Unit, ou Unidade de Processamento
Gráfico) onde estão em
execução. O WPF também introduziu uma nova linguagem para
criação de interfaces, o XAML, que tem o papel de definir, de forma
declarativa, todos os controles que uma interface pode possuir, bem como
animações 2D, 3D, efeitos, sons e vídeos. Desta forma temos uma espécie de
code-behind, que pode ser em C#, VB.NET ou qualquer outra linguagem .NET. Veja
no seguinte código a declaração em XAML de uma janela, que pode ser vista na Figura 1:
Agora, como ficaria se desejássemos
clicar no botão e exibir uma mensagem? Basta dar um clique duplo no botão e
seremos levados pela IDE ao code-behind, onde então podemos codificar o evento
Click como a seguir:
O XAML foi desenvolvido para ser
independente de linguagem de programação e garantir uma integração entre equipe
de design e programação. Além disso, garante que ferramentas para o
desenvolvimento de interface sejam utilizadas sem atrapalhar os programadores.
A própria Microsoft desenvolveu o Expression Blend, exclusivo para
desenvolvimento de interfaces WPF e Silverlight, que pode ser facilmente
utilizado por qualquer designer ou até mesmo desenvolvedor. Na Figura 3 vemos a arquitetura por dentro
do WPF.
Figura
3. Arquitetura do WPF
O fato é que aos poucos o WPF está
substituindo o Windows Forms, que reinou por muito tempo no mundo desktop. O
WPF é levado muito a sério pela Microsoft, tendo recebido grandes investimentos
nos últimos anos. O resultado disso, por exemplo, é um Visual Studio 2010
desenvolvido em WPF!
A aplicação de
exemplo
A ideia, como já mencionado, é explorar
situações de uma aplicação comercial, como validação de dados por exemplo. Mas,
como o espaço é curto, vou limitar a aplicação para algo simples, sem muita
complicação. Vamos fazer uma pequena agenda, que mesmo simples, nos permitirá
mostrar como fazer uma boa aplicação comercial usando WPF. Nessa aplicação
poderemos cadastrar contatos e seus telefones, além de poder consultá-los
claro. Como requisitos de negócio, temos: um contato não pode ter seu nome
vazio, e no máximo deve ter 100 caracteres. O telefone por sua vez não pode ter
seu número vazio também. Essa agenda deve permitir uma busca fonética dos
contatos. E esses contatos devem ser armazenados em algum banco de dados
relacional. Para persistir as informações vamos utilizar o NHibernate, assim,
qualquer banco de dados (dentre os mais de 10 suportados) poderá ser utilizado.
Mãos à obra
Para desenvolver este exemplo vou
utilizar o Visual Studio 2010 RC, mas no momento que você estiver lendo este
artigo já teremos a sua versão final disponível, o que a princípio não deve
impactar o desenvolvimento do exemplo.
Portanto, abra o Visual Studio, acesse o
menu File > New > Project. Em Installed Templates
escolha Other Project Types > Visual Studio Solutions e então Blank
Solution. Em Name, dê o nome de
AgendaWPF e escolha uma pasta para o projeto. Pressione OK. Nesse instante
temos uma solução vazia.
Como vamos utilizar boas práticas,
dividiremos o sistema em camadas:
·
Apresentação – nesta camada teremos as janelas
da aplicação;
·
Serviços – aqui vamos encontrar classes que irão
manipular objetos de negócio e acesso aos dados;
·
Negócios – as classes que representam nosso domínio
do problema estarão aqui;
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.