Como sabem, 4D suporta agora duas formas de trabalhar com fontes: bases de dados binárias e de projectos. As bases de dados binárias são as 4D que todos conhecemos e adoramos, com código fonte num ficheiro binário para permitir o desenvolvimento em equipa com o servidor 4D, e todos os elementos de concepção (métodos, formas, estrutura, etc.) reunidos num único ficheiro binário compacto, o ficheiro “.4db”. As bases de dados do projecto facilitam o trabalho colaborativo das equipas distribuídas, armazenando o código-fonte num sistema de controlo de fontes em ficheiros de texto simples e separados. Os projectos não irão substituir o 4DB, não temos planos para fazer desaparecer o 4DB. Trata-se de duas formas diferentes de trabalho e desenvolvimento. Cabe-lhe a si escolher o que melhor se adapta às suas necessidades. Aqui está um post no blogue para o ajudar a decidir:
Base de dados binária (.4DB)
Prós
- Desenvolvimento multiutilizador
Vários utilizadores podem simultaneamente desenvolver e conceber uma base de dados. A integridade da concepção da sua base de dados é preservada através de um sistema de bloqueio de objectos incorporado.
- Trabalhar na mesma versão
A base de dados está alojada no Servidor 4D. Todos os programadores trabalham na mesma versão do código.
- Ver directamente o trabalho dos outros programadores
É possível ver o último desenvolvimento de outro programador sem o modificar(por exemplo , para verificar os pontos de entrada e saída de um método que terá de chamar na sua parte do código).
- Sistema de backup integrado
O Servidor 4D inclui um módulo completo de backup e restauração de bases de dados. Este módulo permite-lhe fazer uma cópia de segurança de uma base de dados durante a operação, sem ter de sair da mesma. As cópias de segurança podem ser lançadas manual ou automaticamente, a intervalos regulares, e sem intervenção do utilizador.
Contras
- Em linha
Requer acesso permanente ao servidor.
- Rollback complicado
A marcação de uma versão do cliente e a possibilidade de voltar a esta versão em caso de feedback do cliente pode ser um desafio.
- Compilação
Apenas um cliente 4D de cada vez pode compilar.
- Complicado para testar em modo compilado
Deve reiniciar o servidor para testes, para que todos os outros desenvolvedores sejam impactados.
- Dificuldade de gerir múltiplas versões
Nenhuma fusão automática de correcções de uma versão para outra. Requer um relatório manual: encontrar as linhas modificadas e depois integrá-las na outra versão.
Base de dados do projecto (.4Dprojecto)
Prós
- Offline
Capaz de se desenvolver em todo o lado(por exemplo, no escritório, quando em viagem, etc.).
- História
Ao armazenar num sistema de controlo de fonte, a capacidade de acompanhar a evolução das modificações é grandemente simplificada: a data, o autor, e as linhas modificadas.
- Rollback um desenvolvimento
Se uma nova integração desestabiliza a sua versão, é fácil voltar a uma versão anterior.
- Desenvolvimento multi-versão
Fácil de fundir correcções de uma versão para outra graças ao sistema de ramificação de um sistema de controlo de fontes.
- Compilar a qualquer momento
Capacidade de compilar e testar em modo compilado sem limitações.
- Conjunto de características melhoradas
Simplificação da implantação para utilizadores e grupos, melhoria das folhas de estilo graças ao CSS, etc. (Leia os posts dedicados às bases de dados dos projectos para descobrir todas as novas possibilidades).
Contras
- Desenvolvimento com código fonte distribuído
Cada desenvolvedor codifica sozinho na sua cópia do código. Necessidade de organização e regras para facilitar a partilha do trabalho.
- O acesso ao código a partir de um cliente é apenas de leitura
Capaz de testar e depurar no Cliente/Servidor, mas não modifica o código implantado no servidor. Deve reabrir a base de dados com o Programador 4D, fazer a modificação, e reiniciar o servidor.
Para concluir
As bases de dados do projecto abrem novas perspectivas e oferecem outra forma de trabalhar com a 4D. Mas tenha em mente que não há melhor maneira. É livre de escolher o que melhor se adapta às suas necessidades.