TOTVS CloudBridge — O ambiente Protheus no dispositivo móvel.

Ricardo Mansano Godoi
TOTVS Developers
Published in
3 min readJan 22, 2018

No início de 2016 nossa plataforma móvel foi disponibilizada, desde então temos investido em treinamento e capacitação interna, mas uma pergunta ficou no ar na ocasião de seu lançamento:

Existem dúzias de soluções que trazem o HTML5 como opção para os dispositivos móveis, então qual o nosso “famoso” diferencial?

Com o CloudBridge trouxemos o ecossistema Protheus (Appserver/SmartClitent) para os dispositivos, permitindo:

1. Transportar toda inteligência de nossas rotinas AdvPL para os dispositivos;
2. Integrar telas AdvPL com conteúdo HTML5;
3. Construir rotinas 100% HTML5, utilizando o AdvPL como back-end.

Começando a falar da plataforma, temos três templates prontos e um quarto no forno:

1. FatClient: O AppServer e o SmartClient no dispositivo, com o adicional do HTML5;

2. Cordova: Onde possibilitamos a comunicação direta entre o Cordova e o AppServer embutido no device;

3. Ionic: Onde seguimos o modelo do Cordova, possibilitando também o uso do Ionic como interface;

4. THF Mobile: Que irá integrar as plataformas CloudBridge e THF.

Falando do valor agregado, temos dois pontos de destaque.

O primeiro é certificar os desenvolvedores Protheus para construir, não apenas Apps, mas rotinas complexas para dispositivos móveis, com uma curva de aprendizado mínima, já que continuarão a desenvolver em AdvPL.

A segunda, possibilitar um “sem fim” de opções de interface, já que o seu limite será o que o HTML5 permitir.

No exemplo abaixo pode ser vista a similaridade de uma rotina sendo executada no Windows e no Android, com TButtons AdvPL à esquerda e a camada HTML5 à direita, totalmente integrada ao aplicativo, permitindo a ação, no caso acender e apagar de luzes, tanto da camada AdvPL quanto da JavsScript.

Vamos ver um pequeno trecho de código, entendo o modelo.

Na camada AdvPL, de forma reduzida, temos:

1. A execução do JavaScript através do método runJavaScript e do método AdvPLToJs da classe TWebChannel;

2. A comunicação AdvPL/JS é baseada no protocolo WebSocket, feita através do componente TWebChannel;

3. O retorno das informações e solicitações de processamento via JavaScript serão recebidas pelo bloco de código bJsToAdvpl;

4. Por fim, o componente TWebEngine, que no desktop disponibiliza o Chromium e no dispositivo o Webview nativo, garantindo compatibilidade com o sistema operacional em execução.

Passando para camada HTML5, temos:

1. A conexão da camada JavaScript ao AdvPL através do websocket;
2. As mensagens sendo recebidas através do método dialog.advplToJs;
3. E o retorno de informações através do método dialog.jsToAdvpl.

Isso é apenas um vislumbre da plataforma, temos um amplo material em vídeo explicando o modelo, os links estão logo abaixo.

Sobre o CloudBridge:

https://youtu.be/OTmX3GPtrt0
https://youtu.be/ExGB_iHzD6s
https://youtu.be/GIi3SNQfxfM

Sobre o TWebEngine:

https://youtu.be/W2dXcaNLIxk

Deixemos saber o que acharam da plataforma, e estamos prontos pra tirar suas dúvidas.

Agradecemos pela sua paciência e um grande abraço a todos…

--

--

Ricardo Mansano Godoi
TOTVS Developers

Chief engineer of Front-end and Development Tools on TOTVS, developing software since 88, plugged to the brand new technologies and Nerd to the bone.