node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

cloudbridge

cloudbridge-cli

Build Status Build status Coverage Status Code Climate

NPM

Ferrramenta para linha de comando CloudBridge

$ npm install -g cloudbridge

Pré Requisitos

  • NodeJS >= 6.0.0
  • Git
  • JRE/JDK 1.8
  • Setar a variável de ambiente JAVA_HOME ou JRE_HOME apontando para o JDK/JRE

Para android

  • Android SDK
  • Build Tools >= 24
  • JDK 1.8
  • Setar a variável de ambiente ANDROID_HOME apontando para o SDK

Para iOS

  • MacOS X. Testado no 10.11 El Captain, 10.12 Sierra, iOS9 e iOS 10
  • XCode >= 8
  • Certificado de desenvolvimento iOS válido ja instalado
  • ios-deploy (npm install -g ios-deploy)
  • Python >= 2.7
  • Six module for Python (easy_install six)

Iniciando um projeto

Existem 3 tipos de projeto, FatClient, Cordova based e Ionic based.

FatClient

O projeto FatClient utiliza o SmartClient (baseado em Qt) para controlar o dispositivo

$ cb start MyApp -t showcase

Templates disponíveis: base, showcase Após a criação, não esquecer de entrar no diretório do projeto

cd MyApp

Cordova based

O projeto Cordova utiliza apenas o AppServer (para ADVPL). A Interface é toda construída compatível com o Cordova (https://cordova.apache.org/), podendo utilizar os plugins já disponíveis. Antes de começar é necessário ter o NPM do cordova já disponível (npm install -g cordova)

$ cb start MyApp --cordova

Após a criação, não esquecer de entrar no diretório do projeto

cd MyApp

Ionic based

Assim como com o Cordova, o projeto utiliza apenas o AppServer (para ADVPL). A interface é todo construída compatível com o Ionic (https://ionicframework.com/). Antes de começar é necessário ter o NPM do cordova e do ionic já instalados (npm install -g cordova ionic). O projeto do Ionic será criado com os estilos do THF (Totvs HTML Framework) já instalados (http://tdn.totvs.com/display/THF/TOTVS+%7C+HTML+Framework).

$ cb start MyApp --ionic

Após a criação, não esquecer de entrar no diretório do projeto

cd MyApp

Adicionar plataformas de desenvolvimento

Plataforms disponíveis: *Windows *Linux *OSX *Android *IOS

$ cb platform add windows
$ cb platform add android

ou

$ cb platform add windows android

Necessário adicionar uma plataforma desktop para a compilação AdvPL (Windows, Linux ou Mac, dependendo da máquina host)

Compilação e execução

$ cb build windows
$ cb run windows
 
$ cb build android
$ cb run android

Adicionar componentes bower (apenas FatClient)

$ cb bower add jquery
$ cb bower add angular#1.2.0
$ cb bower remove jquery

Plugins (apenas Cordova e Ionic based)

A utilização de plugins do projeto Cordova deve seguir as mesmas diretrizes já existentes: https://cordova.apache.org/plugins/

Documentação

Consulte a documentação do CloudBridge no TDN

Assinar o aplicativo

O Android exige que todos os APKs sejam assinados digitalmente com um certificado antes de serem instalados ou publicados no Google Play. Este guia do desenvolvedor Android contém informações detalhadas sobre a assinatura de aplicativos.

Resumidamente siga os seguintes passos:

  • Gere uma chave privada usando o Android Studio ou mesmo pela linha de comando através da ferramenta keytool conforme este guia.
  • Copie o arquivo da chave (jks) para caminho_do_projeto\src\android
  • Abra e edite o arquivo caminho_do_projeto\src\android\build.gradle e insira as informações sobre a chave privada conforme estas instruções.
  • Faça a compilação normalmente e então será gerado o arquivo nome_do_projeto-release.apk em caminho_do_projeto\build

Certificado iOS

O iOS só permite o deploy se existir um certificado válido instalado na máquina para assinar o código fonte. Code Signing

Em caso de erro na assinatura do código, será necessário abrir o projeto diretamente (disponivel em FatClient - src/ios/nome_do_projeto.xcodeproj Cordova - platforms/ios/HelloCordova.xcodeproj Ionic - platforms/ios/MyApp.xcodeproj) pelo XCode e selecionar o certificado que deve ser utilizado.

Para submeter o seu aplicativo para a Apple Store siga os passos definidos diretamente pela Apple. Seus Apps na App Store

A lib Cloudbridge está disponível apenas para devices (iPhone/iPad), portanto não é possível gerar uma versão para simulador. Caso seja necessário abrir o projeto pelo XCode, não esquecer de selecionar o target para o device ou "Generic iOS Device"