Após três anos de desenvolvimento, a EclipseSource disponibilizou o Tabris 1.0, um framework de desenvolvimento mobile em Java para iOS e Android. O Tabris é voltado para empresas.
O Tabris não é um framework de código aberto, mas as licenças corporativas dão acesso aos fontes. Mais detalhes sobre o licenciamento podem ser encontrados nesta página de preços da EclipseSource.
Conheça algumas de suas características:
- A maior parte da programação é feita em Java;
- A lógica de negócio, incluindo a representação binária da interface do usuário, é executada no lado servidor, na Eclipse RAP;
- A aplicação cliente, que roda no dispositivo mobile, é muito enxuta;
- O servidor se comunica com o cliente através de mensagens em formato JSON, enviando dados e comandos para criação da interface visual do usuário;
- O cliente gera a interface utilizando componentes nativos e é escrito em Objective-C para iOS e Java para Android.
O Tabris vem acompanhado de um conjunto de ferramentas de interface com o usuário, construídas sobre a API SWT do Java. Esse SDK adiciona dois widgets principais: Página e Ação. O widget de Página provê o conteúdo básico de uma aplicação enquanto o de Ação recebe serve para receber os comandos dos usuários. As Páginas são apresentadas em vermelho e as Ações em verde, conforme apresentado na figura abaixo:
As Páginas podem ser encadeadas e navegadas, enquanto as Ações podem ser globais, para toda a aplicação, ou locais, para a página corrente.
Após processar um componente, o lado servidor de uma aplicação envia um trecho de JSON para o cliente, como o utilizado abaixo para criar um botão:
A aplicação cliente irá renderizar o botão utilizando os componentes nativos do iOS ou do Android.
O InfoQ.com conversou com Holger Staudacher, líder de equipe do Tabris-server na EclipseSource, para descobrir mais detalhes sobre o framework. De acordo com Staudacher, o Tabris é voltado para empresas e requer uma conexão de rede permanente com o servidor:
O Tabris é destinado à aplicações móveis locais. Isto significa que o seu melhor funcionamento se dá em ambientes controlados. Neste contexto, "controlado" significa uma conexão estável com a internet, entre outros. Nós temos clientes, como hospitais, onde todos os dispositivos estão conectados na mesma rede. Essas aplicações são geralmente desenvolvidas pela empresa.
O Tabris não funciona em modo offline. A interface com o usuário é basicamente uma sessão. Então, se o dispositivo do usuário perder a conexão com a rede, a sessão se torna inválida. Existe um tratamento de erros que pode ser implementado nos clientes. Atualmente um tratamento genérico tenta refazer as requisições HTTP. Este comportamento pode ser estendido pelo desenvolvedor da aplicação com implementações nativas.
Quando perguntado se o Tabris faria sentido para o desenvolvimento de aplicações de público geral, Staudacher disse que teoricamente poderia ser utilizado, mas que esta não seria a melhor opção para este propósito:
As aplicações "para público geral" implicam em alta demanda para os servidores. Estamos utilizando a tecnologia Java EE padrão. Então, se você terá uma carga muito alta nos servidores, talvez o mecanismo de clusterização do Java EE possa ser uma solução. Isto ainda não foi testado com milhões de usuários, porém, do ponto de vista técnico, esta abordagem seria viável.
O Tabris suporta muitos componentes SWT e adiciona o suporte a diversos sensores nativos, como câmeras e geolocalização.
Atualmente, os tablets são suportados, porém as aplicações que rodam nestes dispositivos só apresentam uma página de cada vez. O suporte para múltiplas páginas será adicionado no futuro. Além disso, o Tabris pode ser estendido para outras plataformas móveis.
No futuro, a equipe do Tabris pretende adicionar funcionalidades de lista de contatos, suporte a orientação do dispositivo e customização de tratamento de eventos do cliente através de scripts, além do suporte ao componente XCallbackUrl.
De acordo com o FAQ do projeto, as aplicações criadas com o Tabris podem ser distribuídas através da App Store "se houver conformidade com as regras da App Store". Uma aplicação de exemplo para Android pode ser encontrada no Google Play.
O Tabris não é um framework de código aberto, mas as licenças corporativas dão acesso ao código-fonte. Mais detalhes podem ser encontrados na página de preços da EclipseSource.