E o futuro do Java! – Hipsters #27
E a plataforma Java também vive! Sim, houve alguns problemas e demoras, e a comunidade não ficou muito contente com a velocidade da plataforma pós Java 8. Como vai a versão 9? Como vai o Java EE? O que podemos esperar?
Participantes:
- Paulo Silveira, host do hipsters, javeiro quando era menino
- Mauricio Linhares, o cohost que tá enferrujado no Java
- Alberto Souza, o fanático do Spring
- Michael ‘Mister M’ Nascimento, o cara que até dá talks com o James Gosling!
Links citados no episódio e extras:
- JEPs (mini specs) do JDK 9
- Projeto Jigsaw
- Improving, empresa que tem como um dos líderes o Michael
- E conheça o curso de Java 8 que inclusive foi feito pelo host do hipsters!
Produção e conteúdo:
- Alura Cursos online de Tecnologia – https://www.alura.com.br
- Caelum Ensino e Inovação
Edição e sonorização: Radiofobia Podcast e Multimídia
Raphael da Rocha
Foi só falar de Java que travou a página(sério)…
Victor Menegusso
Talvez é porque a página é feita em PHP… flame wars hehehe
Maurício Linhares
https://uploads.disquscdn.com/images/14cea6dd911521a47bc4d20733b6f6ce426ed305b12236be1914c6a9e4fc501c.jpg
Raphael da Rocha
Mauricio, quando vocês vão falar de Python???
Maurício Linhares
Em breve!
Raphael da Rocha
Não, sem guerras… HEHE
Foi só uma brincadeira… ;D
Victor Menegusso
Este é um assunto que eu estava esperando desde o inicio do Hipsters.
Danilo Vieira
Andei vendo alguns projetos Android sendo desenvolvidos usando kotlin no Android Studio. Me pareceu promissor. O que me falta agora é só coragem de embarcar algum projeto nele.
Eduardo Medeiros Branquinho
O Alberto Souza é fanático do Spring? Mas não foi ele que escreveu o livro de Java EE pra casa do código?Ora ora ora, alguem andou sendo infiel por aqui hahaha
Alberto Luiz Souza
Calma ê.. disseminar sempre eh valido :P. Meu amor por um não gera ódio no outro.
JOAO JOSE MARANHAO JUNIOR
Muito bom o Podcast !!
Demorou mas chegou !!
Parabéns !!
Daniel Moura
Cara toda vez que escuto o Paulo Silveira falando eu acho que ele ta gripado.
Pohhh vamos falar de Java kkkk. o/
Paulo Silveira
tô gripado nao. nao é todo mundo que nasce com um vozeirão como o mauricio linhares
Daniel Moura
kkkkk Parabéns pelo Podcast cara, escuto toda semana..
Rubinho_sjr
Poxa ja teve de dotNet e Java, estou ansiosamente o de esperando pelo de PHP agora.
Tenho dois pontos pra comentar.
Primeiro é que vendo vocês conversando me deu uma ser uma certa impressão de que a disparidade entre oque se aprende na faculdade e oque se usa na “vida real” é ainda maior do que eu sempre vi. Aprendi servlets JSP como se fosse a forma de se usar java pra web hoje e que se eu começa-se a trabalhar em uma empresa que usa Java eu ia conseguir usar pelo menos a base do que eu aprendi. Eu entendo que as linguagens evoluem mais rápido do que a grade curricular de uma graduação pode ser alterada. Mas não esperava algo nesse nível. Como gostei mais de desenvolver com PHP eu nunca fui atras de ver como era o mercado Java e agora estou vendo que a montanha que eu tenho q subir se quiser mudar de linguagem é muito maior do que eu imaginei.
Segundo, o cast deve ter sido muito mais bacana pra quem já usa Java do que pra mim, pq não entendi quase nada do que foi falado.
Mais é isso ae grande abraço o/
Eduardo Floriano
Penso que a api de servlets, e até mesmo o jsp, é a base para as demais tecnologias do java ee, sendo assim, acho que é valido sim esse conhecimento. Fazendo uma analogia ao mundo orientação objetos, se você souber como uma interface funciona, não vai importar muito qual implementação você vai utilizar – as tecnologias java ee utilizam a api de servlets por baixo. Se ensinarem JSF na faculdade talvez não vale tanto quando você for aprender algum mvc action como o spring. Pelo menos é assim que eu vejo.
Pingback: Futuro do Java? Ouça o Hipsters Ponto Tech | blog.caelum.com.br
Deyve Machado
Muito bom ! Parabéns ! Abraços !
Kelvin Dules
Primeiro podcast que acompanho TODOS os ep. Muito bom!
Paulo Silveira
fico contente Kelvin!!
Júnior Araújo
Queremos o de PHP!
Matheus Castiglioni
Durante um momento o Mauricio mencionou que as empresas não fazem mais o deploy de um war para um tomcat contendo outros war’s, certo ?
Como as empresas fazem o deploy hoje ? Eu teria que ter um container em docker com tomcat para cada war ?
Fiquei com essa dúvida, pois no meu trabalho ainda fazemos do método antigo como o Paulo mencionou kkkk
Maurício Linhares
Sim, o ideal seria fazer isso. Compartilhar o tomcat com outras apps gera vários problemas com classloaders e bibliotecas, é melhor evitar isso.
Matheus Castiglioni
Maravilha Mauricio, vou começar tal implementação.
Maurício Linhares
E não precisa usar Tomcat também, tem várias outras opções, como o http://undertow.io/
Giulliano Santos
Também estou nessa. kkkkkk, so nos war, fiquei até sem graça… kkkkkkk
Francisco Moura
Olá @disqus_1suansPmYr:disqus e demais hipsters, saudações!!
Gastando meus dois cents, você pode ter soluções de deploy independentes sem usar docker.
Algumas possibilidades de configuração na mesma máquina:
1) Configurar instâncias de containers (tomcat ou jetty, por exemplo) em diferentes portas. Assim, cada instância configurada em uma porta diferente será dedicada ao atendimento de uma determinada aplicação.
Referências:
– https://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html#Multiple_Instances
– Googling: “tomcat instances”
– Tenho uma documentação específica para um projeto (google docs) para configurar várias instâncias de tomcat, caso tenham interesse posso disponibilizar.
2) Executar várias instâncias do application server. Você pode executar, por exemplo JBoss ou Wildfly standalone, em diferentes portas e fazer o deploy da aplicação na instância designada.
Referências:
– http://blog.arungupta.me/multiple-instances-wildfly-different-ports-same-machine-tech-tip-8/
– http://www.mastertheboss.com/jboss-server/jboss-configuration/configuring-port-offset-on-jboss-as-wildfly
Em essência, os application servers e containers servlet/JSP são … Containers!!
Para deixar todos felizes:
Se algum “ator” da sua organização lhe questionar sobre a exposição das portas ou que terão que abrir várias portas no firewall, sorria e diga, vamos usar somente a porta padrão 80 ou 443.
Para atingir tal objetivo, configure um proxy reverso (com apache httpd ou nginx) para atender nas portas http/https padrão e encaminhar as requests para as portas específicas de cada aplicação.
Abraços.
Matheus Castiglioni
Show de bola Francisco, até o momento estou tentando fazer tal implementação com docker, parei no momento de criar os volumes por ainda falta de conhecimento.
Gostei das informações(parece ser algo bem complexo), porém estou entrando nesse mundo de deploy, devops e infra agora, pois até então estava focado em front e java, então acredito que para conseguir atingir um nível de deploy satisfatória ainda levará algum tempo de estudo e quebrando a cabeça para implementar tais recursos.
Vou ler com mais calmas depois os links que me enviou.
Abraçooooos.
Poliana MRN
Olá @franciscommoura:disqus , acho que o problema dessa solução, seria o caso da manutenção. Por exemplo se todos os serviços utilizam o mesmo data source, e precisar fazer alguma alteração na url do banco ou alterar numero de conexões de cada pool por exemplo teria o trabalho de ter que fazer essa alteração em cada instancia de servidor.
Bruno Tomé
Comecei ouvir segunda feira, hoje (Quarta-feira), terminei todos, a qualidade está incrível. Parabéns e tragam o de php e seus frameworks :D. E que tal falarem sobre o mercado Swift depois que seu código foi aberto?
Paulo Silveira
php virá!
ouviu TODOS os 27 em dois dias? o louco!!
Fernando Boaglio
agora só falta o podcast das Java Wars! guerra de fóruns , guerra de frameworks, guerra de servidor de app, guerra de IDEs, ô povo desunido hein ? kkk
Maurício Linhares
https://uploads.disquscdn.com/images/3db78cc495e77f6272f8cf0ff235da3869a1ac0729f43bf0510dc90b59fb9daa.gif
Poliana Magalhães Reis
Olá Hipsters ! Boa tarde . Ouvi o ultimo podcast e gostaria de saber a sugestão de vocês.
Uma das coisas que foi falado é que hoje em dia, ninguém mais utiliza (ou ninguém mais deveria utilizar) a prática de fazer deploy de várias aplicações em um servidor de aplicação.
Entendo que para as novas arquiteturas podemos ter essa escolha. Por exemplo, o ultimo projeto que desenvolvi utilizei o wildfly swarm e uma arquitetura de micro serviços.
No ambiente que trabalho, não são permitidos virtualizações. Possuímos um datacenter e todos servidores são maquinas físicas, (por diversas questões q não cabe no escopo) exceto para desenvolvimento e
teste, portanto, para manter os projetos legados, ( talvez o caso de reimplementar alguns dos legados) , gostaria de saber um pouco mais sobre outras alternativas.
Pensei na opção de utilizar um container (ex. docker) para separar cada aplicação mas talvez tb não valha a pena neste caso.
Na opinião de vocês, no caso de legado, qual seria melhor opção.
Aproveitando a deixa, e para novas aplicações web (cliente / servidor ), quais seriam as recomendações ?
Maurício Linhares
Eu diria que docker é o ideal, roda num container, não tem virtualização e você roda fácil na sua máquina de desenvolvimento e produção (dependendo do tamanho vale a pena olhar pra Kubernetes também pra controlar os servidores).
Francisco Moura
Olá @polianamreis:disqus!
Deixei um comentário no post do Matheus que pode lhe auxiliar.
Veja:
https://www.hipsters.tech/e-o-futuro-do-java-hipsters-27/#comment-3145947980
Abraços.
Mateus Queiroz Correia
Mais uma vez um excelente conteúdo! Padrão Hipsters Ponto Tech!
Senti falta de comentários sobre o licenciamento relacionado ao Java, JVM e as disputas que a Oracle está travando na justiça com algumas empresas, como a própria Google (http://www.v3.co.uk/v3-uk/news/3001518/oracle-chasing-java-se-users-over-unpaid-fees e http://g1.globo.com/tecnologia/noticia/2016/05/google-vence-oracle-em-julgamento-de-us-9-bilhoes-envolvendo-android.html)
Será que teremos problemas de cobranças no futuro ao utilizar o Java? Para evitar problemas, o que deve ser pago para Oracle? Há alternativas?
Paulo Silveira
oi Mateus. Algumas dessas noticias foram exageradas e, no momento, nao há sinal nenhum que a Oracle va cobrar pelo uso da JVM e da JRE que conhecemos tão bem…. Eu não me preocuparia… tanto
Maurício Linhares
Opa,
Depende do uso. Quem usa uma das soluções que a Oracle fala lá (que são JREs com coisas que eles compraram da BEA muitos anos atrás) podem ter problemas, mas pouca gente faz isso. E de toda forma sempre tem o OpenJDK que não tem nenhum desses problemas de licença.
Lucas Formiga
Olá, vocês poderiam gravar um podcast sobre o Firebase? Se já foi gravado, ignore minha falta de atenção nos episódios.
Felipe Antunes
Olá !!! Ótimo episodio e ótimo trabalho que estão fazendo por sinal
…
Um podcast que adoraria ver é sobre grandes aplicações, algo falando sobre oque é usado pelos gigantes (Facebook, Google, etc…) e um possível motivo da escolha de tecnologias.
Não consigo achar algo que me venda o peixe da forma certa rsrsrs.
Maurício Linhares
Vamos falar com gente dessas empresas sim mas, contudo, entretanto, todavia, as decisões que eles tomam são numa escala muito diferente do resto do pessoal. Muitas vezes decidir usar uma coisa só porque um desses grandes usa pode ser muito mais dor de cabeça do que o necessário.
Tudo tem que ser pensado em contexto. Por exemplo, o Facebook usa Haskell pesadamente na suite de spam deles, mas será que dá pra usar Haskell na minha empresa? Será que consigo montar equipe, contratar gente e fazer esse trabalho? É legal saber o que eles usam mas nem sempre dá pra simplesmente decidir ir pelo mesmo caminho.
Pablo Weslly
Porque Haskell em vez de usar outra programação mais conhecida ?
Silvio Pereira
Eles não usam Haskell em tudo mas usam bastante. Uma aplicação do tamanho do facebook é dividida em centenas de módulos. Haskell tem pontos fortes como a simplicidade do código, facilidade de manutenção, desempenho, foco no paralelismo (o que o facebook preza bastante), etc.
Pablo Weslly
Obrigado pelo conhecimento.
Mario Bressan
Tô estudando Haskell e não sabia de nenhuma empresa que usasse. Me interessei por programaçao funcional e achei que seria uma boa linguagem para aprender.
João Vitor Oliveira
Olaaa, curto toda semana cada episodio. Gostaria de ver um podcast falando sobre a caminhada como dev, de onde vir pra onde ir hahahhaha
Lucas
Ola! Eu entendi mal ou falaram que um dos motivos do Java vai ficar mais seguro é porque vão fechar o código? (8m e 45s) fiquei um pouco confuso ‘-
Rafael
Excelente como sempre! Obrigado. =]
Bruno Maximo
Muito bom!
Mas gostaria de saber quando vão falar de PHP (Laravel).
Abraços.
Rafael
Olá Paulo sempre tive uma dúvida,é possível uma pessoa dominar tudo de java, tipo, desktop, web, android e afins? Ou é muita coisa e não é necessário tudo isto.
Alexandre Queiroz
acredito que somente se você for acadêmico fazendo pesquisa mesmo.
mas é muito incomum.
simplesmente porque o universo é muito grande,
imagine que voce é um professor de português, você precisa ter lido todos os livros? certamente não!
é a mesma coisa, é muito incomum um profissional trabalhar com mobile, swing e web. (embora seja possivel), mas mesmo nesse caso, voce precisa entrar em cada peculiaridade da linguagem,
no web voce vai usar JAVA EE ou Spring? no android voce vai usar native ou algum framework?
swing com EJB OU CDI? e a camada de segurança? e a camada de persistência?
e o front da sua web vai ver como? JSF? angular? outro?
é muito pouco provavel que uma só pessoa realmente saiba tudo sobre tudo. =|, mas quem sabe, deve ter algum monstro ai.
Luiz França Dos Santos
Oi Paulo, senti falta do Flow API no JDK, pra reactive programming (https://community.oracle.com/docs/DOC-1006738). Vc acredita que o reactive programming vai ser uma tendencia no Brasil?
Bruno Lopes de Mello
Acabei de terminar o curso da Caelum de Java formação completa, e aprendi a fazer deploy gerando um .war e colocando em webapps no tomcat, qual seria um método mais sugestivo?