Este artigo é um estudo sobre o Play! Framework, uma alternativa aos padrões Java Enterprise que ganha cada vez mais popularidade em serviços PaaS devido ao gerenciamento eficiente de recursos, sistema de build-deploy robusto.
Artigo do tipo Tutorial
Recursos especiais neste artigo: Artigo no estilo Solução Completa Autores: Felipe Pierin e André Roque
Dominando o Play! Framework Este artigo é um estudo
sobre o Play! Framework, uma alternativa aos padrões Java Enterprise que ganha
cada vez mais popularidade em serviços PaaS devido ao gerenciamento eficiente
de recursos, sistema de build-deploy robusto e a capacidade de promover alta
produtividade para os desenvolvedores por meio da detecção antecipada de erros.
Em que situação o tema é útil Este tema é útil ao desenvolvedor
interessado em buscar alternativas de alta produtividade para o desenvolvimento
de aplicações web capazes de atender às novas demandas exigidas para a computação
em nuvem.
O avanço
tecnológico aliado ao processo de expansão da internet vem proporcionando às
pessoas melhores experiências para tarefas cotidianas como a procura por oferta
e compra de produtos e serviços, tornando mais rápido e prazeroso o que antes
já foi muito desgastante principalmente em função dos distanciamentos físicos
de um lugar para outro. Em meio a esse processo é notável que as barreiras
existentes entre as pessoas foram atenuadas em virtude da facilidade de
compartilhar e encontrar informações, abrindo espaço para que a informação e o
conhecimento se tornem cada vez mais difundidos. Inseridas nesse cenário,
empresas já consolidadas no mercado passaram a revisar seus processos internos,
convergindo em direção às metodologias ágeis de desenvolvimento em busca de
maior produtividade. Enquanto isso, novas empresas têm usado as
vantagens da computação na nuvem, como fácil escalabilidade e agilidade em
levar o produto ao mercado, para
criar sistemas inovadores e de baixo custo.
O aumento
da produtividade é indiscutivelmente um dos fatores atualmente mais almejados
pelas empresas de grande ou pequeno porte. Na medida em que uma empresa se
torna mais produtiva, seus lucros e esforços para aumentar a qualidade de forma
a agregar fatores positivos ao produto tendem a serem maiores. Para isso, é
necessário buscar através de metodologias, organização ou ferramentas, uma
maneira de tornar a empresa mais eficaz e ágil, de forma que seja capaz de
atingir todos que queiram usufruir dos seus serviços antes da concorrência.
Nesse
contexto, Play! Framework é uma solução que almeja entregar ao desenvolvedor de
software um ambiente mais produtivo para a elaboração e posterior manutenção de
sistemas que se encaixam com os novos requisitos exigidos pelas aplicações web
atuais. É uma ferramenta singular que disponibiliza formas eficazes para
atender sistemas altamente distribuídos, que dependem de informação em tempo
real, lidam com alta concorrência, com programação assíncrona ou com os novos
paradigmas de armazenamento de informação, tais quais os bancos de dados não
relacionais. Além disso, ainda conta com a capacidade tornar um desenvolvedor
mais eficiente durante o processo de desenvolvimento do software.
A curva
rápida de aprendizado, o sistema de detecção de erros robusto e a capacidade de
atualização de código em tempo real são as características que fazem do Play!
uma ferramenta de alta produtividade. A organização do projeto em uma estrutura
web MVC e o seu modelo RESTful o
tornam de fácil entendimento e são características também de outros frameworks,
como o Spring MVC e o VRaptor. Por sua vez, o mecanismo de detecção de erros
utilizado pelo Play!, que engloba desde arquivos de configuração até o
código-fonte propriamente dito, está baseado na força de recursos da linguagem
Scala. Já os modelos de compilação, build
e deploy, contrastam com os padrões
J2EE tradicionais e, por esse motivo, considera-se que o framework é mais
parecido com soluções como Django, Grails, ou Rails.
Em meio
ao processo de criação de software, um dos fatores que estimulam o incremento
da produtividade para o desenvolvedor é a capacidade de identificar possíveis
erros o quanto antes, tais como chamadas a métodos incorretos ou até o uso de
funções inexistentes. O Play! é uma ferramenta que consegue abordar essas
inconsistências semânticas logo nos estágios iniciais do processo de compilação
e engloba não só a linguagem de programação usual, mas também abrange os
arquivos de configuração, de definição de rotas (rotas são a forma como o Play!
liga URLs a métodos dos Controllers) e
os templates, que definem as páginas
que serão renderizadas. Isso torna plausível encontrar problemas que antes só
seriam vistos quando a aplicação já se encontrasse rodando, pois questões como o
tipo dos dados que devem ser passados para um template ou a divergência entre os parâmetros usados na URL de uma
rota com os respectivos métodos declarados em um dado Controller serão encontrados logo durante o processo de compilação.
No entanto, a convergência do Play! para a antecipação da detecção de problemas
que envolvem a inter-relação entre código-fonte, arquivos de configuração e templates, não é uma característica
herdada do Java, mas sim da relação cada vez mais presente do framework com
outra linguagem: a Scala.
A
linguagem Scala é o grande segredo por trás das propriedades não usuais da
linguagem Java e que estão presentes no pacote oferecido peloPlay!, como é o caso da detecção
antecipada de erros. Justamente para aproveitar a força de uma linguagem
funcional é que os criadores do framework decidiram pela revisão completa da
solução baseada em Java e adotada durante as versões 1.x, migrando-a
definitivamente para Scala nas versões 2.x em diante. Apesar disso, a adoção do
Scala como coração do framework não necessariamente implica em uma dor de
cabeça ao usuário que está habituado com a linguagem Java, afinal, são grandes
os indícios de que o suporte ao desenvolvimento com Java será sempre mantido.
Até mesmo para a criação de arquivos de configuração, rotas ou templates, onde
a linguagem se faz mais presente, não se é exigido um alto grau de conhecimento
nela, assim como na versão 1.x não era necessário uma familiaridade com Groovy.
Ademais, alguns ganhos podem ser observados pelo maior uso de Scala, já que os
arquivos de configuração podem ser reutilizados com maior facilidade e, por
serem compilados, podem vir a trazer um ganho significativo de performance.
O Play!
torna o desenvolvedor eficiente não só pela detecção de erros otimizada, mas
também pela forma com que lida com o processo de recarregamento de código-fonte
simultâneo à aplicação rodando, o chamado “hot-reloading”. Hot-reloadingpermite que o desenvolvedor altere o
código sem precisar reiniciar a aplicação, o que torna muito mais curto o ciclo
de feedback (o tempo entre fazer uma
alteração e verificar se os resultados estão corretos). Esses ciclos curtos de feedback se tornam possíveis por uma API
HTTP assíncrona divergente dos padrões Java EE da API de Servlet. Esse é um dos
motivos pelos quais o framework possui um servidor HTTP embutido e, dessa
maneira, permite o deploy sem a
necessidade de um container como o
JBoss, Tomcat ou Jetty associados.
Por fim,
antes de iniciar os exemplos sobre o uso da ferramenta, é importante salientar
que o Play! Framework foi elaborado de forma a ser uma alternativa Stateless,
isto é, não possui sessões Java EE atreladas a cada conexão iniciada com o
servidor. Além disso, é disponibilizado com uma variedade de bibliotecas
populares para prover uma ampla gama de funcionalidades. O uso dessas
bibliotecas, porém, requer um breve conhecimento da ferramenta de build SBT (Simple Build Tool), que é similar aos já conhecidos Ant e Maven.
Construindo uma Loja Virtual
Neste
artigo, abordaremos a criação de uma loja virtual simples que usa, de forma
extensiva, os recursos básicos oferecidos pelo Play! Framework. A partir desse
projeto, teremos a oportunidade de explorar um conjunto considerável das capacidades
oferecidas pela ferramenta e que são realmente úteis quando se trata do desenvolvimento
de sistemas e aplicações voltadas para a ...
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.