Atualmente muitas linguagens emergentes estão ganhando e inovando o mercado. Mas o que não pode ser esquecido, é que Java se renova e continua se renovando para poder se manter no mercado. Nesta palestra, destinada a iniciantes e até mesmo quem já trabalha com Java há algum tempo, será mostrado o que é necessário aprender atualmente no mundo Java WEB para se manter atualizado perante as novas tendências tecnológicas.
Angularjs é um framework javascript construido e mantido pelo grupo de engenheiros do Google, ele usa o HTML como uma "template engine" aliado a conceitos de Orientação a Objetos, testes, dentre outros, no intuito de fornecer uma solução completa para o cliente-side de sua aplicação. Além disso tem total compatibilidade com as bibliotecas javascript mais utilizadas, como jQuery. é um novo conceito para desenvolvimento de web apps client-site.
Entenda as novidades que estão por vir com o AngularJS 2.0, as novas definições, facilidades, novos desafios e entenda o motivo do AngularJS ser um framework excelente para todos os momentos.
Navegando em um mar de siglas do mundo javaAndrei Tognolo
O números de apis e frameworks que existem para a plataforma Java podem assustar novos desenvolvedores. Essa palestra busca mostrar uma visão geral das principais apis relacionadas ao padrão JavaEE.
Após visitar as principais tecnologias JavaEE, vamos analisar cenários e decidir quais tecnologias utilizar.
Make Java fun again com Spring Boot. Palestra apresentada no WoMakers Code Summit Sergipe em Agosto de 2018. Palestra realizada no DCOMP - UFS, São Cristóvão - SE
Sua aplicação AngularJS está lenta? Como otimizar a performance? Combinar outras tecnologias como workaround são paliativos, pois não resolvem o problema. Nessa palestra, entenda conceitos do núcleo do AngularJS e várias técnicas para aumentar o desempenho de suas aplicações web.
Vamos explorar conceitos fundamentais como o ciclo de vida do $rootScope e como funciona o dirty checking, assim como $compile, $watch e $emit. Veremos também boas práticas ao utilizar diretivas, filters, services e outros componentes do framework. Outro ponto abordado é a utilização de paradigmas e patterns assíncronos para melhorar o desempenho de suas aplicações.
Por fim, veremos boas práticas, como melhorar os nossos testes unitários e end-to-end, discutiremos conceitos de lazy web e conheceremo ferramentas que podem nos ajudar nesta tarefa.
Angularjs é um framework javascript construido e mantido pelo grupo de engenheiros do Google, ele usa o HTML como uma "template engine" aliado a conceitos de Orientação a Objetos, testes, dentre outros, no intuito de fornecer uma solução completa para o cliente-side de sua aplicação. Além disso tem total compatibilidade com as bibliotecas javascript mais utilizadas, como jQuery. é um novo conceito para desenvolvimento de web apps client-site.
Entenda as novidades que estão por vir com o AngularJS 2.0, as novas definições, facilidades, novos desafios e entenda o motivo do AngularJS ser um framework excelente para todos os momentos.
Navegando em um mar de siglas do mundo javaAndrei Tognolo
O números de apis e frameworks que existem para a plataforma Java podem assustar novos desenvolvedores. Essa palestra busca mostrar uma visão geral das principais apis relacionadas ao padrão JavaEE.
Após visitar as principais tecnologias JavaEE, vamos analisar cenários e decidir quais tecnologias utilizar.
Make Java fun again com Spring Boot. Palestra apresentada no WoMakers Code Summit Sergipe em Agosto de 2018. Palestra realizada no DCOMP - UFS, São Cristóvão - SE
Sua aplicação AngularJS está lenta? Como otimizar a performance? Combinar outras tecnologias como workaround são paliativos, pois não resolvem o problema. Nessa palestra, entenda conceitos do núcleo do AngularJS e várias técnicas para aumentar o desempenho de suas aplicações web.
Vamos explorar conceitos fundamentais como o ciclo de vida do $rootScope e como funciona o dirty checking, assim como $compile, $watch e $emit. Veremos também boas práticas ao utilizar diretivas, filters, services e outros componentes do framework. Outro ponto abordado é a utilização de paradigmas e patterns assíncronos para melhorar o desempenho de suas aplicações.
Por fim, veremos boas práticas, como melhorar os nossos testes unitários e end-to-end, discutiremos conceitos de lazy web e conheceremo ferramentas que podem nos ajudar nesta tarefa.
Seminário apresentado na disciplina Tópicos Especias de Programada para a Web, do curso de Análise e Desenvolvimento de Sistemas. Apresenta o funcionamento do JSP.
A apresentação aborda sobre a origem e o core do Spring, um framework open-source para desenvolvimento Java, bem como seus principais projetos e porque esse mega projeto de quase 20 anos de idade, ainda hoje é popular do mundo Java. Discutiremos sua arquitetura, funcionalidades e um roadmap dos projetos que estão sendo trabalhados no momento.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
O Desenvolvimento de Aplicações WEB nem sempre é uma tarefa trivial. Esta apresentação demonstra diversos conceitos, tecnologias e metodologias que são utilizadas em diversos projetos.
Criando Aplicações .NET com o TheWebMindJaydson Gomes
O TheWebMind é uma plataforma livre desenvolvida em PHP que possui a capacidade de interpretar o conhecimento humano. Baseada no conceito NLP(Natural Language Processing) o TheWebMind possui sua própria linguagem (WML) que é similar a linguagem natural humana. Atualmente o projeto conta conta com 2 módulos nativos que geram código para aplicaçoes PHP e um módulo JAVA em fase de desenvolvimento. O objetivo da palestra é apresentar o conceito do TheWebMind e seu novo módulo baseado na plataforma .NET. O módulo .NET visa automatizar o desenvolvimento de aplicaçoes Web, criando uma estrutura MVC com poucas linhas de código WML.
Semelhante a Java: Por onde começar nos dias de hoje? (20)
2. Sobre o palestrante
Por: Thiago Mazarão Maltempi
Github: http://github.com/maltempi
LinkedIn: https://br.linkedin.com/in/maltempi
--------------------
Formado em Análise e desenvolvimento de Sistemas
pela Fatec Mogi Mirim.
Trabalha com desenvolvimento desde 2011 e
atualmente trabalha no instituto Venturus (www.
venturus.org.br).
3. Nível 0 de aprendizado em Java.
Conceitos Básicos que você precisa saber antes de começar:
- Orientação a objetos (Classes, Objetos, classe abstrata,
interfaces, generics) e conceitos do Java Standard Edition.
- JDBC - Um overview apenas para saber como funciona
conexões com banco de dados, pool de conexões etc.
- Preciso ser um ninja Java SE para continuar? NÃO!
5. E o que basicamente preciso saber sobre WEB?
1. Aplicações Cliente - Servidor
2. Básico de HTTP para você criar RESTs.
3. Persistência de dados (banco de dados).
4. Inversão de controle e injeção de dependência
5. MVC
6. HTML + CSS + Javascript
7. Maven ou Gradle.
Leia sobre tudo isso, e a partir daí já comece a fazer NA
PRÁTICA!
6. OK, e por onde começar ou por onde NÃO começar?
Tente focar em coisas novas que estão rolando na comunidade
JAVA.
Tecnologias antigas exigem conhecimento de muitos detalhes.
Detalhes são importantes, mas eles devem ser aprendidos aos
poucos.
Tecnologias novas já tratam grandes problemas antigos,
causadores de longas curvas de aprendizado e calvices.
7. JAVA WEB, e os problemas de ontem (e as vezes de hj)
Muito código! E muito código significa:
- + Horas gastas desenvolvendo
- + Horas gastas testando
- + Bugs!
- + Horas gastas resolvendo bugs
- + E então quando encontra a causa do
bug...
8. Complexidade de configuração
… Você descobre que era uma configuração
errada em um XML.
Muitas coisas antes eram resolvidas com base
em configurações XML.
9. São rodadas em servidores de aplicação pesados
Tecnologias antigas são extremamente
dependentes de servidores de aplicação.
Dependendo do que é feito, é de difícil migração
entre servidores de aplicação
Ex: configurações de segurança, JMS (serviço
de mensageria)
Altíssimo custo para se criar testes unitários e
integração
10. E o frontend então...
● Backend e Frontend são fortemente acoplados
○ Mas era proposital, eles realmente pensavam que isso era uma boa
ideia.
○ Poderia até ser, mas hoje as interfaces WEB evoluíram.
● HTML, CSS e JS criados a partir do backend (JSP, JSF, GWT ...)
● Mistura de regras de negócio de frontend e backend, tornando-se uma
bagunça.
● Sem controle do frontend = gambiarras para suprir limitações.
13. Arquitetura de uma aplicação básica
BROWSER / MOBILE /
WHATEVER
Faz chamadas
HTTP
(GET, POST, PUT,
DELETE etc)
HTTP
REQUEST
SERVIDOR ( MVC / DATA PERSISTENCE / WHATEVER)
HTTP
RESPONSE
Base
de
Dados
REST
Podem ser
outras
interfaces
também.
Serviços
(Regras
de
negócio)
Persistência
(Forma de
acesso à base
de dados)
14. Framework MVC?
{
“name”: “Saul Goodman”,
“phone”: “505 503 4455”,
“email”: “saul@bettercallsaul.com”
}
Spring MVC!
Por exemplo, vamos cadastrar um usuário na base, então o client mandará um request
ao server na URL http://127.0.0.1:8080/usuario via método POST um dado em JSON ou
outro formato:
15. Framework MVC!
O que o framework MVC vai fazer? Criar uma interface entre o cliente e o servidor,
convertendo o dado enviado em objetos, para conseguirmos trabalhar:
@RestController(“/usuario”)
public class UsuarioController {
@Post
public void cadastrarUsuario(Usuario usuario) {
System.out.println(“Name: ” + usuario.getName());
System.out.println(“Phone: ” + usuario.getPhone());
System.out.println(“Email: ” + usuario.getEmail());
}
}
16. Framework MVC!!!!!
Note que a conversão de JSON para objeto Java foi totalmente transparente à nós,
programadores.
Foi o framework MVC (Spring MVC) quem fez toda essa parte para nós.
Esta foi a parte de controller da aplicação, onde interagimos com o o VIEW.
Spring MVC já não é novidade há um tempo, porém, é extremamente importante para
aplicações modernas.
17. Precisando de persistência de dados?
Spring data!
Sem mais necessidade de longas configurações
Sem mais criação de mais do mesmo (Connection Factories, classes generics de acesso
a dados etc).
Sem mais longos criterias ou HSQL.
Agora basta você fazer sua configuração em alto nível e depois criar suas entidades.
18. Precisando criar telas?
Misturar de código em backend com frontend não é mais uma boa ideia.
Perca o medo de Javascript, HTML e CSS, eles são seus amigos! :-)
Hoje em dia temos Bootstrap, SemanticUI, Angular JS, React JS, Ember JS e outros
123803812328102 frameworks para frontend!
Além de ferramentas que vão facilitar sua vida, por exemplo: Bower, Grunt, Gulp etc.
19. Configurações? Facilidade de deploy? SPRING BOOT!
Ele já tem uma configuração default para você começar a desenvolver
instantaneamente.
Altamente customizável.
Crie perfis de runtime para testes, desenvolvimento, homologação etc.
É prático: Ele cria um JAR que encapsula tudo para você: projetos, dependência,
servidor de aplicação etc.
Quer rodar seu projeto em produção?
java -jar meuProjetoEmProducao.jar
20. Sem mais desculpas para não fazer testes!
Crie um perfil de testes, tenha um ambiente
totalmente isolado e faça seus testes!
Isso é uma grande vantagens a outras tecnologias
antigas, que necessitavam de pesados servidores
de aplicação.
21.
22. Por onde continuar?
Spring Security
Integração contínua (Jenkins, Sonar, Code review)
Arquiteturas micro services
Aplicações distribuídas
Spring Integration