Noções Básicas de Aprendizagem da 4ª Dimensão
Esta série foi projetada para ajudar aqueles que estão vindo do FileMaker Pro ou que têm alguma experiência em design de banco de dados com outro aplicativo. Nesta série, sempre que “4D” for usado, estará fazendo referência ao “4th Dimension” e sempre que “FMP” for usado, estará fazendo referência ao “FileMaker Pro”.
Talvez o maior obstáculo ao vir do mundo do FMP seja que o 4D é fundamentalmente diferente. A filosofia básica do programa é diferente. Os termos são diferentes. Tentarei introduzir o leitor ao 4D explicando como as coisas se relacionam entre o 4D e o FMP. No entanto, algumas dessas coisas são muito difíceis ou impossíveis de relacionar porque são únicas de cada produto.
As referências para o FMP serão para a versão 5.0.x e para a Standard Edition do 4D versão 4.6.x.
Nota: O preço de varejo sugerido atual para o FMP 5.0 é de US$ 249 e para a 4D Standard Edition é de US$ 349. Tanto o 4D quanto o FMP são multiplataforma. Ambos funcionam em sistemas Macintosh e Windows. Ambos possuem capacidades Web.
A Parte I fornecerá um pouco da história do FileMaker e do 4D. Pode ser interessante notar que tanto o 4D quanto o FileMaker se originaram no Macintosh e aproximadamente na mesma época (meados dos anos 80). A Parte I também cobrirá, sem muitos detalhes, o seguinte:
- Requisitos do sistema
- Estruturas do programa
- Diferenças de rede
- Diferenças nas versões de runtime
- Compilador
- Hospedagem Web
- Gráficos de dados
- Plug-ins
- Ferramentas/Utilitários
- Recursos
- Outras URLs do 4D
Nota: A ordem e o conteúdo de cada Parte a seguir são provisórios.
Relacionado: — Uma interface simples de planilha baseada em um banco de dados relacional real, com automações, visualizações e interfaces compartilháveis..
- Parte II abordará a criação de um programa 4D simples
- Parte III abordará Menus Personalizados
- Parte IV abordará Métodos
- Partes adicionais a definir.
Principais Conclusões
- 4D e FileMaker Pro surgiram do cenário de bancos de dados Macintosh de meados da década de 1980, mas resolvem os mesmos problemas com arquiteturas muito diferentes.
- A parte mais difícil de migrar do FMP para o 4D não é a sintaxe — é a filosofia subjacente de como os dados, a estrutura e o código são separados.
- O 4D expõe um verdadeiro motor relacional, uma linguagem de programação (a linguagem 4D) e um compilador, enquanto o FMP historicamente enfatizou um modelo de arquivo único orientado por layout.
- A terminologia difere acentuadamente entre os dois produtos, portanto, aprender o vocabulário do 4D é um pré-requisito para ler qualquer documentação do 4D.
- O suporte multiplataforma e a capacidade Web existem em ambos os produtos, mas a maneira como cada um os entrega — runtime, compilador e modelo de plug-in — difere significativamente.
- Esta Parte I é um mapa do terreno; a construção prática começa na Parte II.
Por que o 4D Parece Diferente do FileMaker Pro
Se você passou anos no FileMaker Pro, seu modelo mental de um banco de dados provavelmente é construído em torno de um único arquivo que contém tabelas, layouts, scripts e relacionamentos, tudo em um só lugar. Você abre o arquivo, vê um layout, clica em um campo e começa a trabalhar. Esse modelo é conveniente e é um dos motivos pelos quais o FMP se tornou tão popular entre pequenas equipes e desenvolvedores cidadãos.
O 4D pede que você pense de forma diferente. No 4D, a estrutura do banco de dados (tabelas, campos, relações) é definida em um contexto estrutural separado dos formulários (a interface do usuário) e dos métodos (o código). Essa separação está mais próxima de como os bancos de dados relacionais cliente/servidor tradicionais são organizados, e é a mudança conceitual mais importante que um desenvolvedor FileMaker precisa fazer.
Uma maneira útil de enquadrar a diferença:
Se você estiver comprando: — Um construtor de aplicativos de baixo código que se conecta ao conjunto Zoho mais amplo e tem preços por usuário, e não por aplicativo..
- FileMaker Pro tende a ser centrado no documento. O arquivo é a aplicação.
- 4D tende a ser centrado na estrutura. A estrutura define o modelo de dados, e a aplicação é construída sobre ela com formulários, métodos e menus.
Nenhuma das abordagens é “melhor” em abstrato. O FMP otimiza para a iteração rápida de um único desenvolvedor. O 4D otimiza para aplicações maiores, mais estruturadas e mais programáveis — e é por isso que atraiu desenvolvedores que precisavam de uma linguagem de programação real e de um compilador.
Uma Breve História Compartilhada
Vale a pena refletir sobre o fato de que tanto o 4D quanto o FileMaker se originaram no Macintosh e aproximadamente na mesma época, em meados da década de 1980. Isso não é coincidência. O Macintosh original criou um novo mercado para ferramentas de banco de dados de desktop que poderiam ser usadas por indivíduos e pequenas empresas, em vez de por operadores de mainframe.
O FileMaker começou como um produto Macintosh e mais tarde foi adquirido e desenvolvido pela Claris (uma spin-off da Apple), razão pela qual tantos usuários antigos de Mac associam o FileMaker ao ecossistema Apple. O 4D foi desenvolvido pela ACI (ACI US nos Estados Unidos) e cresceu para se tornar um ambiente de desenvolvimento multiplataforma com sua própria linguagem e compilador.
Ambos os produtos sobreviveram à transição do Mac OS clássico para o Windows e para os sistemas operacionais modernos, e ambos adicionaram capacidades Web. Essa linhagem compartilhada é a razão pela qual um desenvolvedor FileMaker pode frequentemente ler a documentação do 4D e reconhecer os problemas que estão sendo resolvidos, mesmo quando as soluções parecem desconhecidas.
Requisitos do Sistema e Realidade Multiplataforma
Tanto o 4D quanto o FMP são multiplataforma. Ambos funcionam em sistemas Macintosh e Windows. Ambos possuem capacidades Web. Isso é o que eles compartilham.
Onde eles divergem é no que “cross platform” (multiplataforma) significa para o desenvolvedor. No mundo FileMaker, você normalmente desenvolve em uma plataforma e o mesmo arquivo abre na outra, com layouts que se adaptam. No 4D, o desenvolvimento multiplataforma é mais explícito: você está construindo um aplicativo compilado ou interpretado que deve ser implantado em cada plataforma alvo, e você precisa estar ciente de comportamentos específicos da plataforma, caminhos de arquivos e convenções de interface.
Orientações práticas para o desenvolvedor vindo do FMP:
- Defina seus alvos de implantação desde cedo. Se você implantar apenas em uma plataforma, poderá ignorar muitas nuances multiplataforma. Se implantar em ambas, planeje isso desde o primeiro formulário.
- Teste na “outra” plataforma antes de estar profundamente imerso no projeto. Problemas multiplataforma são baratos de corrigir no início e caros de corrigir tarde.
- Entenda o modelo de runtime. O 4D distingue entre o ambiente de desenvolvimento e o runtime implantado, que é um conceito que os desenvolvedores FileMaker frequentemente encontram pela primeira vez aqui.
Estruturas de Programa: Como as Peças se Encaixam
Esta é a seção que mais recompensa a leitura cuidadosa, porque é onde a diferença de filosofia se torna concreta.
No 4D, as principais peças estruturais são:
- A estrutura (The structure) — a definição de tabelas, campos e relações. Este é o seu modelo de dados.
- Formulários (Forms) — a interface do usuário. Os formulários são anexados a tabelas e são o equivalente aos layouts do FileMaker, mas são mais explicitamente separados dos dados.
- Métodos (Methods) — o código. O 4D possui uma linguagem de programação completa, e os métodos são onde a lógica reside.
- Menus — menus personalizados, que a Parte III desta série cobrirá em detalhes.
No FileMaker Pro, essas preocupações são mais misturadas. Um layout pode conter tanto a apresentação quanto a lógica (via gatilhos de script e cálculos), e o próprio arquivo é o recipiente para tudo.
A consequência prática é que, no 4D, você gastará mais tempo projetando antes de construir. Isso parece mais lento no início e mais rápido depois. O FileMaker recompensa o ato de mergulhar direto; o 4D recompensa o planejamento da estrutura primeiro.
Uma comparação aproximada:
| Preocupação | FileMaker Pro (5.0.x) | 4D (Standard Edition 4.6.x) |
|---|---|---|
| Modelo de dados | Tabelas e relacionamentos dentro do arquivo | Estrutura definida separadamente da UI |
| Interface do usuário | Layouts | Formulários |
| Lógica | Scripts e cálculos | Métodos (linguagem completa) |
| Menus | Menus integrados, customização limitada | Menus personalizados (cobertos na Parte III) |
| Implantação | Abrir o arquivo | Runtime e opções de implantação compilada |
| Extensão | Plug-ins | Plug-ins |
Diferenças de Rede
A rede é uma das áreas onde os dois produtos divergem de formas que importam para implantações reais.
O modelo de rede do FileMaker Pro é construído em torno da abertura de um arquivo compartilhado via rede, com o FileMaker Server ou compartilhamento peer-to-peer lidando com o acesso simultâneo. Ele é projetado para ser simples: você compartilha um arquivo, outros o abrem.
O modelo de rede do 4D reflete sua herança cliente/servidor. Os aplicativos 4D são tipicamente implantados como um cliente conectando-se a um processo de servidor, e o desenvolvedor tem mais controle — e mais responsabilidade — sobre como os dados se movem entre eles. Isso importa porque afeta o ajuste de desempenho, o comportamento de bloqueio de registros e como você projeta formulários que exibem grandes conjuntos de registros.
Para o desenvolvedor vindo do FMP, as perguntas-chave a se fazer são:
- Quantos usuários simultâneos realmente se conectarão?
- O aplicativo será executado em uma LAN, WAN ou na Internet pública?
- Quanta informação cada formulário puxará pela rede, e isso pode ser reduzido?
Essas são perguntas que os desenvolvedores FileMaker frequentemente podem adiar. No 4D, elas tendem a surgir mais cedo.
Runtimes, o Compilador e Por Que Eles Importam
Dois dos conceitos mais distintos do 4D — e dois dos menos familiares para desenvolvedores FileMaker — são o runtime e o compilador.
Um runtime é uma versão do seu aplicativo que pode ser distribuída para usuários que não possuem o ambiente de desenvolvimento 4D. É assim que os desenvolvedores 4D entregam aplicativos independentes. O FileMaker tem um conceito análogo em soluções de runtime, mas o modelo de runtime do 4D é mais central para a forma como o produto é usado comercialmente.
O compilador pega seu código 4D interpretado e o compila em uma forma mais rápida e protegida. A compilação não serve apenas para velocidade; trata-se também de proteger seu código-fonte ao distribuir um aplicativo. Para desenvolvedores que sempre trabalharam no FileMaker, onde o arquivo é o aplicativo e a fonte é efetivamente o arquivo, esta é uma ideia genuinamente nova.
Como decidir se deve compilar:
- Compile quando estiver distribuindo para usuários finais e quiser desempenho e proteção do código-fonte.
- Mantenha interpretado durante o desenvolvimento, onde o ciclo de edição-teste mais rápido importa mais do que a velocidade bruta.
- Planeje a compilação cedo, porque o código que compila sem erros geralmente é um código melhor estruturado.
Web Hosting, Data Charting e Plug-Ins
Ambos os produtos possuem capacidades Web, mas abordam a Web de forma diferente. A publicação Web do FileMaker historicamente enfatizou o fornecimento de layouts para um navegador. As capacidades Web do 4D estão integradas à sua linguagem e ao seu servidor, o que dá aos desenvolvedores mais controle programático sobre o que é servido e como.
Data charting (gráficos de dados) é outra área onde os desenvolvedores 4D historicamente recorreram a plug-ins e ferramentas externas para renderizar gráficos e relatórios. Se a criação de gráficos for importante para seu aplicativo, avalie isso cedo, em vez de assumir que já vem integrado.
Plug-ins existem em ambos os ecossistemas. No FileMaker, os plug-ins estendem o mecanismo de cálculo e scripting. No 4D, os plug-ins ampliam a linguagem e podem se conectar profundamente à aplicação. O conselho prático é o mesmo em ambos os mundos: prefira recursos integrados onde eles existirem e trate os plug-ins como dependências que você deve manter entre versões.
Ferramentas, Utilitários e Recursos
Alguns hábitos separam os desenvolvedores que prosperam no 4D daqueles que têm dificuldades:
- Leia a documentação oficial primeiro. A documentação do 4D é a fonte autoritativa para a linguagem e o modelo de estrutura.
- Use a comunidade de desenvolvedores. Listas de discussão e grupos de usuários foram, e continuam sendo, onde reside o conhecimento prático de 4D.
- Mantenha uma biblioteca pessoal de métodos. Como o código 4D é baseado em texto e reutilizável, uma biblioteca de métodos bem organizada compensa em todos os projetos.
- Aprenda o vocabulário deliberadamente. Termos como estrutura, formulário, método e runtime têm significados específicos no 4D que diferem de seus equivalentes no FileMaker.
Para um embasamento mais amplo sobre o modelo relacional que fundamenta ambos os produtos, o trabalho original de E. F. Codd sobre bancos de dados relacionais continua sendo a referência canônica, e o artigo da Wikipedia sobre o modelo relacional é um ponto de partida razoável.
Para a história da plataforma Macintosh que deu origem a ambos os produtos, o artigo da Wikipedia sobre o Macintosh é um contexto útil. Para terminologia geral de banco de dados, o artigo da Wikipedia sobre sistemas de gerenciamento de banco de dados é uma orientação útil.
Agradecimentos
Agradecimentos especiais a:
- Brendan Coveney, Presidente da ACI US, por sua ajuda com a história da 4th Dimension.
- Will Porter (wporter@polytrope.com) da POLYTROPE SOLUTIONS, Houston, Texas, The XXII Group, por sua ajuda na revisão e por me manter no caminho certo.
- James Fortier (jim40er@halcyon.com) por fornecer alguns dos recursos e ajudar na revisão do documento.
- Douglas Blew (fridays@impluse.net) por sugestões.
- Jim Staples (jstaples@acius.com) da ACI US, Inc., Macom/Press Relations, pela revisão e por oferecer comentários.
- David Graham (davidgraham@mac.com) por projetar os layouts web e PDF deste guia.
Perguntas Frequentes
O 4D é basicamente o mesmo que o FileMaker Pro?
Não. Ambos são produtos de banco de dados multiplataforma que se originaram no Macintosh em meados da década de 1980 e ambos possuem recursos Web, mas suas filosofias subjacentes diferem. O FileMaker Pro é centrado em documentos, onde o arquivo é a aplicação, enquanto o 4D separa a estrutura de dados, formulários e métodos em preocupações distintas. Essa separação é a razão pela qual o 4D parece mais um ambiente de desenvolvimento tradicional.
Preciso conhecer uma linguagem de programação para usar o 4D?
Você pode construir coisas simples sem programação profunda, mas o verdadeiro poder do 4D está em sua linguagem e em seus métodos. Vindo do FileMaker, onde scripts e cálculos cobrem muito terreno, você descobrirá que o 4D espera que você escreva mais código para funcionalidades equivalentes. A recompensa é mais controle e melhor estrutura para aplicações maiores.
O que é um runtime de 4D e por que isso é importante?
Um runtime é uma versão distribuível de sua aplicação que os usuários podem executar sem possuir o ambiente de desenvolvimento 4D completo. Isso é importante porque é assim que os desenvolvedores 4D entregam aplicações autônomas aos usuários finais. O FileMaker tem um conceito semelhante, mas no 4D o modelo de runtime é mais central para a implantação comercial.
Por que eu compilaria minha aplicação 4D?
A compilação melhora o desempenho e protege seu código-fonte quando você distribui a aplicação. Durante o desenvolvimento, você geralmente permanece no modo interpretado para um ciclo de edição-teste mais rápido, e compila quando está pronto para entregar. O código que compila sem erros também tende a ser melhor organizado, portanto, planejar a compilação desde cedo vale a pena.
Quão diferente é a rede entre o 4D e o FileMaker Pro?
A rede do FileMaker Pro é construída em torno do compartilhamento de um arquivo, com o FileMaker Server ou o compartilhamento ponto a ponto lidando com o acesso simultâneo. A rede do 4D reflete sua herança cliente/servidor, dando aos desenvolvedores mais controle e mais responsabilidade sobre como os dados se movem entre cliente e servidor. Isso afeta o ajuste de desempenho, o bloqueio de registros e a forma como você projeta formulários que exibem grandes conjuntos de registros.
O que a Parte II desta série cobrirá?
A Parte II cobrirá a criação de um programa 4D simples, percorrendo o processo da estrutura ao formulário e ao método. A Parte III cobrirá Menus Personalizados, e a Parte IV cobrirá Métodos com mais profundidade. Partes adicionais serão determinadas, e a ordem e o conteúdo de cada parte são provisórios.
Copyright © 1994-2000 HPO Soft. All rights reserved.
Experimente o FileMaker gratuitamente por 45 dias
A plataforma de banco de dados relacional de longa duração para equipes que precisam de aplicativos personalizados em desktop, web e dispositivos móveis a partir de um único arquivo.