Spring no desktop? E no Android, alguém já usou?
25/04/2017 09:53
1
Muitos anos atrás, por mais estranho que possa parecer, minha primeira experiência com Spring Framework (1.0) não foi em uma aplicação web, mas desktop: o objetivo era ter uma plataforma que me permitisse customizar nosso projeto de acordo com cada cliente.

Então os arquivos XML do Spring (tão mal falados hoje) desempenharam um papel fundamental: nós montávamos a distribuição do que queríamos (veja, isto foi antes das anotações serem incluídas no Spring, então faz muito tempo mesmo), coisas como: "implementação X de integração com sistema externo". Montávamos apenas o pacote de instalação para o cliente e voilá: detecção em tempo de execução dos componentes que queríamos. Era como o uso de plugins, só que sem ser com hot swap, tal como ocorre nas IDEs Java.

Este foi meu primeiro uso do Spring. Então hoje pela manhã pensei: será que o pessoal usa Spring no desktop hoje? Temos algo próximo que é o projeto Spring for Android?, alguém já usou? Viram alguma vantagem? Em qual cenário valeria à pena?
Tags: spring, desktop, android


1
Fala Henrique. Enfim, minha primeira experiência com o Spring também foi no desktop. Foi o lobby feito na época pelo aclamado "container de DI". Posso dizer que a produto bancou a propaganda que fizeram dele e até hoje não me arrependo.
Na época lembro que também usei Jdbc puro, pois ainda estava me acostumando com o conceito de ORM, porém, não lembro mesmo se usei o SpringJDBC.

Hoje apesar de não usar mais App desktop, a hora que eu a fizer, pode ter certeza absoluta que o Spring estará lá. Ansioso por ver a opinião da galera, principalmente se houver alguém que está usando atualmente. 
Abraços.
25/04/2017 11:02


2
Eu já tive uma experiência com Spring no desktop (Java Swing). A ideia, naquela oportunidade, era de alguma forma aproximar a arquitetura da aplicação desktop da arquitetura da aplicação web principal do sistema que estava sendo construído. A motivação era permitir uma menor barreira para devs web que precisassem dar alguma manutenção na aplicação desktop. Foi bem interessante a experiência, na época pesquisei por algum módulo Spring voltado para desktop mas o que existia não era maduro. De certa forma acho que atingi esse objetivo que determinei. Um negócio que gostei muito de fazer foi associar declarativamente ações a componentes via arquivo de configuração. :-)

Como o Adriano, também procuraria usar Spring no desktop hoje em dia.


1
Já desenvolvi alguns projetos usando Spring no desktop, mas foi através do Spring Boot.

Minha ideia inicial era usar o Spring Data JPA para agilizar o desenvolvimento.

Mais pra frente o cliente quis passar algumas funções desse software para um tablet e um coletor de dados, ambos Android. Em ambos usei o spring para android para fazer a comunicação. No software desktop, para minha felicidade, foi incrivelmente rápido e fácil subir um "servlet container" (starter web do spring boot)  para fornecer os dados para o Android.

Eu gostei bastante dessa solução de Rest Client do Spring, uso ela junto com o Gson. Mas não cheguei a mexer em outras, logo que vi o do Spring apostei minhas fichas nela.
25/04/2017 13:45


0
Eu cheguei a usar o Spring 2.5 em uma aplicação JMS. Era o consumidor de uma fila para integrar dados de uma prefeitura. A aplicação foi instalada como serviço no sistema operacional, consumia as mensagens de uma fila, as mensagens eram tratadas e depois persistidas em uma base de dados. Tudo usando Spring, o consumidor JMS e persistência integrada com Hibernate. 
Foi um projeto legal de fazer, meu primeiro projeto em Java. Acho que isso foi em 2009.
26/04/2017 17:35



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails, Spring e mais com a Formação itexto!

Livro de Spring


/dev/All

Os melhores blogs de TI
em um único lugar!

 
Spring Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.