As 5 tecnologias baseadas em Java para aprender em 2008

Para 2008 eu aposto no Rhino (http://www.mozilla.org/rhino/) pela facilidade de aprendizado de quem é programador Java.
Uma linguagem puramente funcional é adequado, estou vendo algumas para aprender os conceitos adequadamente.
JSR223 (Scripting) é muito pouco para integração com outras linguagens mas será o ano dela.
Quando o Fowler soltar o livro sobre DSL será o boom e vai estourar no Brasil, gente que nem sabe o que é vai querer “comprar” :slight_smile:

Explicacao de REST bem bacana:

http://tomayko.com/articles/2004/12/12/rest-to-my-wife

JRuby.

Não vejo nada de legal acontecer em java há anos, lembra quando toda semana havia algo novo e completamente inovador?

BTW, cad6e o JavaFX? Já morreu rápido assim?

Eu não sei…

Falando de desenvolvimento Web, eu prefiro estudar novas propostas de comunicação entre o Servidor e o Client,
No caso, ao invés de usar o protocolo http simples, para trafegar html/js/css cuspidos dos servidor,
Vou investir em tecnlogias novas como o protocolo AMF3 que provê compactação, e transferência binária,
com este posso simplesmente trocar objetos java com meu client rich, no caso Flex.

Isto é, meu paradigma na view será orientado a objetos.

[quote=feltraco]acho que o interessante é vc saber pra que cada
um serve

assim quando vc precisar já sabe o que buscar…

Minha opinião… :wink: [/quote]

Concordo!

Mas tbm penso que deve se especializar em algo, ou seja, ir a fundo em uma tecnologia…

[quote=feltraco]acho que o interessante é vc saber pra que cada
um serve

assim quando vc precisar já sabe o que buscar…

Minha opinião… :wink: [/quote]

Também concordo. Uma coisa que estou estudando é Ruby (aí entra o JRuby)! Não sei quanto ao Srs. mas, enquanto vou lendo o tutorial vou pensando: “nó poderia ter isso no java!” :slight_smile: :? :frowning:

A Paz!

[quote=Quinger][quote=feltraco]acho que o interessante é vc saber pra que cada
um serve

assim quando vc precisar já sabe o que buscar…

Minha opinião… :wink: [/quote]

Concordo!

Mas tbm penso que deve se especializar em algo, ou seja, ir a fundo em uma tecnologia…[/quote]

tb concordo contigo…

E acho que o Flex e o Spring, são duas tecnologias muito interessantes…

HTTP tambem faz isso sem problemas. Transferencia binaria? So olhar pra qualquer imagem transferida. Compactacao? mod_gzip?

galera primeramente quero parenizar por este post, tem algumas tecnologias citas aqui que eu ainda não conhecia,
agora vou dar uma olhada, e conhecelas…

essa foi pros favoritos…abs !!!

HTTP tambem faz isso sem problemas. Transferencia binaria? So olhar pra qualquer imagem transferida. Compactacao? mod_gzip?[/quote]

Concordo com o cv, dá pra colocar um objeto java serializável através de HTTP sem problemas (se não me engano, o mime type é application/x-java-serializable). Não sei o que um outro protocolo mais obscuro vai acrescentar às aplicações quando o HTTP já é suficiente.

[quote=saoj]

Alguém poderia resumir em duas linhas o que é REST e principalmente qual é o seu “pulo-do-gato”?[/quote]

Não dou 1 mês para surgir o MentaRest.

[quote=cmilfont]Para 2008 eu aposto no Rhino (http://www.mozilla.org/rhino/) pela facilidade de aprendizado de quem é programador Java.
Uma linguagem puramente funcional é adequado, estou vendo algumas para aprender os conceitos adequadamente.
JSR223 (Scripting) é muito pouco para integração com outras linguagens mas será o ano dela.
Quando o Fowler soltar o livro sobre DSL será o boom e vai estourar no Brasil, gente que nem sabe o que é vai querer “comprar” :)[/quote]

Pessoal, tem alguém usando isto?
Se alguém puder falar sobre alguma coisa que tenha feito com Rhino.

A propósito, minha aposta para esse ano é o JRuby, acredito que deva cair nas graças da galera. :smiley:

HTTP tambem faz isso sem problemas. Transferencia binaria? So olhar pra qualquer imagem transferida. Compactacao? mod_gzip?[/quote]

Concordo com o cv, dá pra colocar um objeto java serializável através de HTTP sem problemas (se não me engano, o mime type é application/x-java-serializable). Não sei o que um outro protocolo mais obscuro vai acrescentar às aplicações quando o HTTP já é suficiente.[/quote]

Um momento senhores…
Eu não fui tão abragente…

O fato de ter falado no AMF3, não é somente o fato de prover compactação e transferência binária, é que usando um client (Inteligente) baseado em uma VM, eu consigo trocar Objetos, e usar os mesmo na minha tela, não tacar no mime e etc… e fazer sabe lá o que para cuspir um html na tela.

Fora que, com este protocolo posso usar a tecnologia data-push, subscribe e httpstreaming… alguém aqui conhece estas?

Abraços.

[quote=juzepeleteiro][quote=saoj]

Alguém poderia resumir em duas linhas o que é REST e principalmente qual é o seu “pulo-do-gato”?[/quote]

Não dou 1 mês para surgir o MentaRest.[/quote]

Engraçado que eu já tinha codificado isso há um par de anos atrás, mas por algum motivo eu descartei.

Mas o interessante é que eu sempre fui averso a web services, e já em 2004 eu sugeria comunicação entre sistemas via HTTP.

Isso seria REST ? Uma espécie de RMI em cima de HTTP ? AJAX pode ser considerado REST ?

Sérgio,

REST é um estilo arquitetural, que se aproveita do protocolo HTTP por completo. Ex: Se eu tento chamar um serviço feito usando o estilo arquitetural REST e esse serviço não existe, eu não devo receber um status 200 do HTTP e no corpo da mensagem um XML ou JSON ou [coloque aqui o seu formato …]. Simplesmente devo receber um 404.

O REST surgiu de uma tese de doutorado feita por Roy Fielding. Acesse o link abaixo que tem o conteúdo da tese

http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

Respondendo sua pergunta: você pode usar Ajax para consumir um serviço REST. Se o formato da mensagem do serviço for JSON vai ser ainda mais fácil trabalhar pelo Javascript.

Não entendi… Tem como explicar melhor?

Acho que o REST, além de ser HTTP, é baseado num esquema de resources, pelo menos é o que diz a Wikipedia de uma maneira bem enrolada que eu não entendi direito: http://en.wikipedia.org/wiki/REST

[quote=rpffoz]
Um momento senhores…
Eu não fui tão abragente…

O fato de ter falado no AMF3, não é somente o fato de prover compactação e transferência binária, é que usando um client (Inteligente) baseado em uma VM, eu consigo trocar Objetos, e usar os mesmo na minha tela, não tacar no mime e etc… e fazer sabe lá o que para cuspir um html na tela.

Fora que, com este protocolo posso usar a tecnologia data-push, subscribe e httpstreaming… alguém aqui conhece estas?

Abraços.[/quote]

Fala ai Rodrigo !!!

Isso mesmo, concordo com você temos que mostra pro mundo o que é de melhor no sabor Força AdobeFlex

Flex fornece um conjunto abrangente de serviços de dados de gestão a transferência dos dados e integração com aplicações existentes e as infra-estruturas para reduzir o tráfego da rede.Você pode realizar o seguimento do cliente através Flex Data Services:
O RPC (Web Services, Http Service, e Remote Object) O Gerenciamento de Dados (Data Sync, Ocasionalmente Desconectadas clientes, de Dados e Pager)
O Messaging Services (Collaboration, Publicar / Assinar, e Dados Push).

Flex é uma tecnologia muito melhor para quem deseja’s para construir uma “aplicação web”. VEJA O FUTURO DA WEB 2.0"

http://maps.yahoo.com

http://mark-shepherd.com/thesaurus
http://www.alex-uhlmann.de/flash/adobe/blog/distortionEffects/effectCube

Vida Longa ao Flex, eternamente Rich Internet Applications

Abraços

Sim Sérgio, não sei se a maneira correta é falar assim mas HTTP é baseado em resources. A RFC2616 explica melhor. Quando utilizamos os HTTP Methods podemos recuperar recursos, adicioná-los, remove-los ou atualiza-los.

Quando você dá um GET por exemplo você está requisitando um recurso. Quando você dá um PUT você altera, quando da um POST você insere e quando dá DELETE você apaga. Tudo baseado em recursos.

O problema é que estamos acostumados só com GET e POST para nossas aplicações web básicas.

Observe o site dictionary.com:

A url http://dictionary.reference.com/browse/love irá mostrar a palavra love. Repare que não é browse.do?word=love, e tão somente a última parte da URL é a palavra (recurso a ser consultado). Neste caso estamos usando o GET. Em termos de funcionamento, as duas maneiras funcionam sem problemas, mas uma é REST a outra não. Se sua aplicação for REST eu vou ter certeza que ao fazer alguma chamada, seja usando o HTTP method que eu quiser, caso esta seja feita com sucesso e independente do resultado do corpo da mensagem, receberei um HTTP status 200, e caso a chamada (recurso) que estou chamando não existir vou receber um HTTP status 404.

Ex: Na URL http://dictionary.reference.com/browse/love, caso o recurso love não exista, devo receber um 404 (OK o site deles faz diferente mas pra ser REST deveria ser assim) e a URL http://dictionary.reference.com/browse.do?word=love nunca vai me retornar um 404, a não ser que retirem a servlet da aplicação.

Bem, explicando assim não sei se ajudou muito mas espero que sim.

[]s

Ano de 2008 algumas coisinhas que considero legais:

  • Linguagens - Pode escolher uma e estudar, Groovy, Ruby ( dinâmicas) - para o mundo concorrente - Scala.
  • RichMedia - Flex, AMF3 , BlazeDS, GraniteDS
  • CEP - Esse ano acho que a grande aposta vai ser a área do Luca :slight_smile: .

eu tb prestaria atenção em:

  • CEP
  • REST
  • SCALA
  • ERLANG