Enquanto a tecnologia Java cliente existe há muito tempo, o desenvolvimento do ecossistema está em constante mudança. Houve avanços significativos para o celular, computação em nuvem e distribuição de app que afeta como construir e distribuir seu cliente de aplicações.
Há três boas práticas:
1. Segmente para o celular primeiro.
2. Construa para a nuvem.
3. Empacote sua plataforma.
Segmente para o Celular Primeiro
A utilização de smartphones foi aumentando desde o iPhone e Android foram lançados em 2007 e 2008 respectivamente. Em 2018, smartphones e tablets ultrapassaram o desktop no tráfego da web, são responsáveis por 52.2 % do tráfego da web.
Smartphones evoluíram para executar aplicações que anteriormente só os desktops executavam. Um tablet com um teclado Bluetooth pode ser um substituto para o desktop em alguns casos.
Além disso, smartphones e tablets são fornecidos com Internet, que permite usá-los mesmo quando a banda larga não está disponível. O número de pessoas que utilizam apenas smartphones e não tem acesso a internet com o desktop é bastante. Os dados podem ser visto nesse site.
O JavaFX tem grande recursos que forma expandidos pelo Gluon, colaborador do OpenJDK. Utilizando o JavaFX mobile, você pode escrever uma aplicação uma vez e ser compatível para vários dispositivos como tablets e desktops.
Construa para a Nuvem
Os back-end das aplicações mudou da execução local para as nuvens. O motivo é como o usuário está utilizando os dados hoje. Historicamente, usuários trabalhavam com seus dados apenas localmente.
Com o aumento da velocidade das conexões, encriptação de dados e segurança e a utilização de várias telas pelo o usuário, o comportamento do usuário também mudou. Atualmente os usuários esperam que os seus dados estejam disponíveis em qualquer dispositivo que ele acessar.
Um exemplo é o eteoBoard, um scrum board colaborativo construído pela Saxonia Systems AG na Alemanha. Foi desenvolvido para que times organizem seus projetos mesmo que eles não estejam no mesmo local.
Isso é feito utilizando teleconferência, grandes monitores e lousas eletrônicas com touchscreen construídas com a tecnologia JavaFX.
A aplicação eteoBoard utiliza SynchronizeFX para a sincronização em tempo real entre múltiplos usuários. Todo projeto fica armazenado no Atlassian Jira ou Microsoft Team Foundation Server, ambos têm gerenciamento de ciclo de vida ágil baseados em nuvem com interfaces REST. Sempre os dados estão atualizados para a equipe ver o progresso do projeto.
Empacote sua Plataforma
Computadores desktops e dispositivos móveis tem como preocupação secundária a capacidade de armazenamento de dados no dispositivo. É só ver o crescimento de tamanho dos aplicativos que a maioria das pessoas utilizam.
Tecnologias legadas como Applets e Web Start não são recomendados para aplicações distributivas. Como eles dependem do Java em tempo de execução, qualquer configuração errada o sistema pode falhar. E pior, são tecnologias ultrapassadas que não são mais atualizadas e estão com problemas de segurança.
Sendo assim, você deve empacotar tudo o que seu aplicativo precisa em um único pacote. Isso inclui arquivos de classes, bibliotecas, e o Java runtime necessário para a sua aplicação executar.
Embora isso pareça que o aplicativo ficará muito grande, na verdade só vai aumentar de 20 a 30 MB para que o seu usuário tenha um Java Runtime ideal para a aplicação. O Java 13 reintroduziu uma ferramenta chamada jpackage que garante que o Java runtime será distribuído junto com a aplicação.
Construindo aplicativos instaláveis auto-suficientes em Java com o JEP 343: Packaging Tool
Deixe um comentário