Criar uma aplicação cliente/servidor com a ferramenta Build4D

Apresentamos a última iteração do componente Build4D, agora acessível no GitHub. Nas publicações anteriores do blogue, discutimos as possibilidades de um projeto compilado, de um componente e de uma aplicação autónoma.

Agora pode criar um script para a sua aplicação Cliente/Servidor de A a Z. E integrá-lo facilmente com ferramentas de integração contínua.

Vamos ver como.

Componente Build4D

Quais são as possibilidades?

O Build4D oferece duas classes para gerar a sua aplicação cliente/servidor: as classes cliente e as classes servidor. Assim, com os diferentes parâmetros, todas as combinações são possíveis.

Pode gerar

  • um cliente macOS ou Windows,
  • um arquivo cliente macOS ou Windows para atualizações automáticas,
  • um servidor macOS ou Windows.

Exemplo

Eis um exemplo simples de como criar um servidor Windows com clientes integrados:

Passo 1: Criar um cliente e um arquivo de cliente

Eis um exemplo simples de como criar uma aplicação cliente e um arquivo cliente.

var $build : cs.Build4D.Client
var $settings ; $archive: Object
var $success : Boolean

$settings :={}

// Define o arquivo de projeto externo
$settings .projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4DProject")

// Define a rota do 4D Volume Desktop
$settings .sourceAppFolder:=Folder(fk documents folder).folder("4D v20.1/4D Volume Desktop.app")
// OU
$settings .sourceAppFolder:=Folder(fk documents folder).folder("4D v20.1/4D Volume Desktop")

// Configura a aplicação
$settings .buildName:="myApp"
$settings .destinationFolder:="Test/Client/"

// Adiciona o ícone da aplicação
$settings .iconPath:="/RESOURCES/myIcon.icns"
// OU
$settings .iconPath:="/RESOURCES/myIcon.ico"

// Adiciona informação da aplicação
$settings .versioning:={}
$settings .versioning.version:="version"
$settings .versioning.copyright$archive$buildbuildArchive:="copyright"
$settings .versioning.companyName:="companyName"

// Assina se a aplicação for de macOS
$settings .signApplication:={}
$settings .signApplication.macSignature:=True
$settings .signApplication.macCertificate:="xxxxxx" //Certificate number found in your keyChain
// Create the client application
$build :=cs.Build4D.Client.new($settings)
$success :=$build.build()

// Cria o arquivo da aplicação cliente
$archive:=$build.buildArchive()

Passo 2: Criar um servidor com os clientes integrados

Depois de criar o arquivo de cliente (como no exemplo acima), pode criar a aplicação de servidor e utilizar os atributos macOSClientArchive e winClientArchive para passar o caminho para os arquivos de cliente criados anteriormente.

Aqui está um exemplo de como criar uma aplicação de servidor com arquivos cliente.

var $build : cs.Build4D.Server
var $settings : Object
var $success : Boolean

$settings :={}

// Define o arquivo projeto externo
$settings .projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4DProject")

// Configure the application
$settings .buildName:="myApp"
$settings .destinationFolder:="Test/Server/"

// Define a rota 4D Server
$settings .sourceAppFolder:=Folder(fk documents folder).folder("4D v20.0/4D Server.app")
// OR
$settings .sourceAppFolder:=Folder(fk documents folder).folder("4D v20.0/4D Server")

// Adiciona o ícone da aplicação
$settings .iconPath:="/RESOURCES/myIcon.icns"
// OR
$settings .iconPath:="/RESOURCES/myIcon.ico"

// Adiciona informação da aplicação
$settings .versioning:={}
$settings .versioning.version:="version"
$settings .versioning.copyright:="copyright"
$settings .versioning.companyName:="companyName"

// Add the client archives
$settings .macOSClientArchive:="...caminho do Arquivo macOS..."
$settings .windowsClientArchive:="...caminho do Arquivo win..."

// Create the deployment license file
$settings .license$buildbuild:=Folder(fk licenses folder).file("XXXXX.license4D")
$settings .xmlKeyLicense:=Folder(fk licenses folder).file("XXXXX.license4D")

// Sign if macOS appplication
$settings .signApplication:={}
$settings .signApplication.macSignature:=True
$settings .signApplication.macCertificate:="xxxxxx"
//Certificate number found in your keyChain
// Launch the build
$build :=cs.Build4D.Server.new($settings)
$success:=$build.build()

Seguinte…

Explore a documentação para obter mais informações sobre esta nova possibilidade!

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.