Saltar al contenido principal
HPO Software Guías paso a paso para crear bases de datos 4D y aplicaciones low-code: desde tu primera tabla hasta una aplicación empresarial funcional.

Algunos enlaces de este sitio son de afiliados: si compras a través de ellos, es posible que recibamos una comisión sin coste adicional para ti. Esto nunca afecta a nuestras recomendaciones. Consulta nuestra declaración de afiliados para más detalles. Divulgación de afiliados.

Fundamentos de aprendizaje de la cuarta dimensión

Esta serie está diseñada para ayudar a quienes vienen de FileMaker Pro o que tienen alguna experiencia en diseño de bases de datos con otra aplicación. En esta serie, siempre que se utilice “4D”, se hace referencia a “4th Dimension” y siempre que se utilice “FMP”, se hace referencia a “FileMaker Pro”.

Quizás el mayor obstáculo al venir del mundo de FMP es que 4D es fundamentalmente diferente. La filosofía básica del programa es diferente. Los términos son diferentes. Intentaré introducir al lector en 4D explicándole cómo se relacionan las cosas entre 4D y FMP. Sin embargo, algunas de esas cosas son muy difíciles o imposibles de relacionar porque son exclusivas de cada producto.

Las referencias para FMP serán para la versión 5.0.x y la Standard Edition de 4D versión 4.6.x.

Nota: El precio minorista sugerido actual para FMP 5.0 es $249 y para la 4D Standard Edition es $349. Tanto 4D como FMP son multiplataforma. Ambos funcionan en sistemas Macintosh y Windows. Ambos tienen capacidades web.

La Parte I proporcionará un poco de historia tanto de FileMaker como de 4D. Puede ser interesante observar que tanto 4D como FileMaker se originaron en el Macintosh y aproximadamente al mismo tiempo (mediados de los 80). La Parte I también cubrirá, sin entrar en demasiados detalles, lo siguiente:

  • Requisitos del sistema
  • Estructuras del programa
  • Diferencias de redes
  • Diferencias en las versiones de tiempo de ejecución (runtime)
  • Compilador
  • Alojamiento web
  • Gráficos de datos
  • Plug-ins
  • Herramientas/Utilidades
  • Recursos
  • Otras URL de 4D

Nota: El siguiente orden y contenido de cada Parte son provisionales.

Relacionado: — Una interfaz simple de hoja de cálculo ubicada sobre una base de datos relacional real, con automatizaciones, vistas e interfaces para compartir..

  • La Parte II cubrirá la creación de un programa 4D simple
  • La Parte III cubrirá los Menús Personalizados
  • La Parte IV cubrirá los Métodos
  • Partes adicionales por determinar.

Conclusiones clave

  • 4D y FileMaker Pro surgieron de la escena de las bases de datos de Macintosh de mediados de los años 1980, pero resuelven los mismos problemas con arquitecturas muy diferentes.
  • La parte más difícil de pasar de FMP a 4D no es la sintaxis, sino la filosofía subyacente de cómo se separan los datos, la estructura y el código.
  • 4D expone un verdadero motor relacional, un lenguaje de programación (el lenguaje 4D) y un compilador, mientras que FMP históricamente enfatizó un modelo de archivo único basado en el diseño (layout).
  • La terminología difiere drásticamente entre los dos productos, por lo que aprender el vocabulario de 4D es un requisito previo para leer cualquier documentación de 4D.
  • El soporte multiplataforma y la capacidad web existen en ambos productos, pero la forma en que cada uno los ofrece —runtime, compilador y modelo de plug-in— difiere significativamente.
  • Esta Parte I es un mapa del terreno; la construcción práctica comienza en la Parte II.

Por qué 4D se siente diferente a FileMaker Pro

Si ha pasado años en FileMaker Pro, su modelo mental de una base de datos probablemente esté construido alrededor de un único archivo que contiene tablas, diseños, guiones y relaciones, todo en un solo lugar. Abre el archivo, ve un diseño, hace clic en un campo y comienza a trabajar. Ese modelo es conveniente y es una de las razones por las que FMP se volvió tan popular entre equipos pequeños y desarrolladores ciudadanos.

4D le pide que piense de manera diferente. En 4D, la estructura de la base de datos (tablas, campos, relaciones) se define en un contexto estructural separado de los formularios (la interfaz de usuario) y de los métodos (el código). Esta separación se acerca más a cómo se organizan las bases de datos relacionales cliente/servidor tradicionales, y es el cambio conceptual más importante que debe realizar un desarrollador de FileMaker.

Una forma útil de enmarcar la diferencia:

Si estás de compras: — Un creador de aplicaciones de bajo código que se conecta a la suite más amplia de Zoho y ofrece precios por usuario en lugar de por aplicación..

  • FileMaker Pro tiende a estar centrado en el documento. El archivo es la aplicación.
  • 4D tiende a estar centrado en la estructura. La estructura define el modelo de datos, y la aplicación se construye sobre ella con formularios, métodos y menús.

Ninguno de los enfoques es “mejor” en abstracto. FMP optimiza la iteración rápida de un solo desarrollador. 4D optimiza aplicaciones más grandes, más estructuradas y más programables, razón por la cual atrajo a desarrolladores que necesitaban un lenguaje de programación real y un compilador.

Una breve historia compartida

Vale la pena detenerse en el hecho de que tanto 4D como FileMaker se originaron en el Macintosh y aproximadamente al mismo tiempo, a mediados de los años 1980. Eso no es una coincidencia. El Macintosh original creó un nuevo mercado para herramientas de bases de datos de escritorio que pudieran ser utilizadas por individuos y pequeñas empresas en lugar de por operadores de mainframe.

FileMaker comenzó como un producto de Macintosh y luego fue adquirido y desarrollada por Claris (una filial de Apple), razón por la cual tantos usuarios antiguos de Mac asocian FileMaker con el ecosistema de Apple. 4D fue desarrollado por ACI (ACI US en los Estados Unidos) y creció hasta convertirse en un entorno de desarrollo multiplataforma con su propio lenguaje y compilador.

Ambos productos sobrevivieron a la transición del Mac OS clásico a Windows y a los sistemas operativos modernos, y ambos agregaron capacidades web. Ese linaje compartido es la razón por la que un desarrollador de FileMaker a menudo puede leer la documentación de 4D y reconocer los problemas que se están resolviendo, incluso cuando las soluciones parecen desconocidas.

Requisitos del sistema y realidad multiplataforma

Tanto 4D como FMP son multiplataforma. Ambos funcionan en sistemas Macintosh y Windows. Ambos tienen capacidades web. Eso es lo que comparten.

Donde divergen es en lo que significa “multiplataforma” para el desarrollador. En el mundo de FileMaker, normalmente se desarrolla en una plataforma y el mismo archivo se abre en la otra, con diseños que se adaptan. En 4D, el desarrollo multiplataforma es más explícito: está creando una aplicación compilada o interpretada que debe implementarse en cada plataforma de destino, y debe ser consciente de los comportamientos, rutas de archivos y convenciones de interfaz específicos de la plataforma.

Relacionado: — Un creador de bases de datos sin código dirigido a portales, directorios y herramientas internas, con precios fijos en lugar de tarifas por usuario..

Guía práctica para el desarrollador procedente de FMP:

  • Decida sus objetivos de implementación con anticipación. Si solo implementa en una plataforma, puede ignorar muchos matices multiplataforma. Si implementa en ambas, planifíquelo desde el primer formulario.
  • Pruebe en la “otra” plataforma antes de profundizar en el proyecto. Los problemas multiplataforma son baratos de solucionar temprano y costosos de solucionar tarde.
  • Comprenda el modelo de tiempo de ejecución. 4D distingue entre el entorno de desarrollo y el tiempo de ejecución (runtime) implementado, que es un concepto que los desarrolladores de FileMaker suelen conocer por primera vez aquí.

Estructuras del programa: cómo encajan las piezas

Esta es la sección que más merece una lectura cuidadosa, porque es donde la diferencia filosófica se vuelve concreta.

En 4D, las principales piezas estructurales son:

Nuestra elección: — La plataforma de base de datos relacional de larga duración para equipos que necesitan aplicaciones personalizadas en escritorio, web y dispositivos móviles desde un solo archivo..

  • La estructura — la definición de tablas, campos y relaciones. Este es su modelo de datos.
  • Formularios — la interfaz de usuario. Los formularios se adjuntan a tablas y son el equivalente a los diseños de FileMaker, pero están más explícitamente separados de los datos.
  • Métodos — el código. 4D tiene un lenguaje de programación completo, y los métodos son donde reside la lógica.
  • Menús — menús personalizados, que la Parte III de esta serie cubrirá en detalle.

En FileMaker Pro, estas preocupaciones están más mezcladas. Un diseño puede contener tanto presentación como lógica (a través de activadores de scripts y cálculos), y el archivo en sí es el contenedor de todo.

La consecuencia práctica es que en 4D pasará más tiempo diseñando antes de construir. Eso se siente más lento al principio y más rápido después. FileMaker recompensa el lanzarse directamente; 4D recompensa la planificación de la estructura primero.

Una comparación aproximada:

AspectoFileMaker Pro (5.0.x)4D (Standard Edition 4.6.x)
Modelo de datosTablas y relaciones dentro del archivoEstructura definida por separado de la IU
Interfaz de usuarioDiseños (Layouts)Formularios
LógicaScripts y cálculosMétodos (lenguaje completo)
MenúsMenús integrados, personalización limitadaMenús personalizados (tratados en la Parte III)
ImplementaciónAbrir el archivoOpciones de implementación de runtime y compiladas
ExtensionesPlug-insPlug-ins

Diferencias de redes

Las redes son una de las áreas en las que los dos productos divergen en aspectos importantes para las implementaciones reales.

El modelo de red de FileMaker Pro se basa en la apertura de un archivo compartido a través de una red, con FileMaker Server o el uso compartido entre pares manejando el acceso simultáneo. Está diseñado para ser simple: compartes un archivo, otros lo abren.

El modelo de red de 4D refleja su herencia cliente/servidor. Las aplicaciones 4D generalmente se implementan como un cliente que se conecta a un proceso de servidor, y el desarrollador tiene más control —y más responsabilidad— sobre cómo se mueven los datos entre ellos. Esto es importante porque afecta el ajuste del rendimiento, el comportamiento de bloqueo de registros y la forma en que se diseñan formularios que muestran conjuntos de registros grandes.

Para el desarrollador procedente de FMP, las preguntas clave que debe plantearse son:

  • ¿Cuántos usuarios simultáneos se conectarán realmente?
  • ¿La aplicación se ejecutará a través de una LAN, una WAN o la Internet pública?
  • ¿Cuántos datos extraerá cada formulario a través de la red, y puede reducirse esa cantidad?

Estas son preguntas que los desarrolladores de FileMaker a menudo pueden posponer. En 4D, tienden a surgir antes.

Runtimes, el compilador y por qué son importantes

Dos de los conceptos de 4D más distintivos —y dos de los menos familiares para los desarrolladores de FileMaker— son el runtime (tiempo de ejecución) y el compilador.

Un runtime es una versión de su aplicación que puede distribuirse a usuarios que no poseen el entorno de desarrollo 4D. Así es como los desarrolladores de 4D distribuyen aplicaciones independientes. FileMaker tiene un concepto análogo en las soluciones runtime, pero el modelo de runtime de 4D es más central en la forma en que se utiliza comercialmente el producto.

El compilador toma su código 4D interpretado y lo compila en una forma más rápida y protegida. La compilación no se trata solo de velocidad; también se trata de proteger su código fuente cuando distribuye una aplicación. Para los desarrolladores que solo han trabajado en FileMaker, donde el archivo es la aplicación y la fuente es efectivamente el archivo, esta es una idea genuinamente nueva.

Cómo decidir si compilar:

  • Compile cuando esté distribuyendo a usuarios finales y desee rendimiento y protección del código fuente.
  • Manténgase en modo interpretado durante el desarrollo, donde el ciclo de edición y prueba más rápido importa más que la velocidad bruta.
  • Planifique la compilación con antelación, porque el código que se compila limpiamente suele ser un código mejor estructurado.

Alojamiento web, gráficos de datos y plug-ins

Ambos productos tienen capacidades web, pero abordan la web de manera diferente. Históricamente, la publicación web de FileMaker hacía hincapié en servir diseños a un navegador. Las capacidades web de 4D están ligadas a su lenguaje y a su servidor, lo que brinda a los desarrolladores más control programático sobre qué se sirve y cómo.

Los gráficos de datos son otra área donde los desarrolladores de 4D históricamente recurrieron a plug-ins y herramientas externas para representar gráficos e informes. Si los gráficos son importantes para su aplicación, evalúelos con anticipación en lugar de asumir que están integrados.

Los plug-ins existen en ambos ecosistemas. En FileMaker, los plug-ins amplían el motor de cálculo y de scripts. En 4D, los plug-ins amplían el lenguaje y pueden integrarse profundamente en la aplicación. El consejo práctico es el mismo en ambos mundos: prefiera las capacidades integradas cuando existan y trate los plug-ins como dependencias que debe mantener a través de las versiones.

Herramientas, utilidades y recursos

Algunos hábitos separan a los desarrolladores que prosperan con 4D de aquellos que tienen dificultades:

  • Lea primero la documentación oficial. La documentación de 4D es la fuente autorizada para el lenguaje y el modelo de estructura.
  • Utilice la comunidad de desarrolladores. Las listas de discusión y los grupos de usuarios fueron, y siguen siendo, donde reside el conocimiento práctico de 4D.
  • Mantenga una biblioteca personal de métodos. Debido a que el código de 4D está basado en texto y es reutilizable, una biblioteca de métodos bien organizada rinde frutos en todos los proyectos.
  • Aprenda el vocabulario deliberadamente. Términos como estructura, formulario, método y runtime tienen significados específicos en 4D que difieren de sus contrapartes en FileMaker.

Para obtener antecedentes más amplios sobre el modelo relacional que subyace a ambos productos, el trabajo original de E. F. Codd sobre bases de datos relacionales sigue siendo la referencia canónica, y el artículo de Wikipedia sobre el modelo relacional es un punto de partida razonable.

Para conocer la historia de la plataforma Macintosh que dio origen a ambos productos, el artículo de Wikipedia sobre el Macintosh es un contexto útil. Para la terminología general de bases de datos, el artículo de Wikipedia sobre sistemas de gestión de bases de datos es una orientación útil.

Agradecimientos

Un agradecimiento especial a:

  • Brendan Coveney, presidente de ACI US, por su ayuda con la historia de 4th Dimension.
  • Will Porter (wporter@polytrope.com) de POLYTROPE SOLUTIONS, Houston, Texas, The XXII Group, por su ayuda corrigiendo y manteniéndome en el camino correcto.
  • James Fortier (jim40er@halcyon.com) por proporcionar algunos de los recursos y ayudar a corregir el documento.
  • Douglas Blew (fridays@impluse.net) por sus sugerencias.
  • Jim Staples (jstaples@acius.com) de ACI US, Inc., Macom/Press Relations, por corregir y ofrecer comentarios.
  • David Graham (davidgraham@mac.com) por diseñar los diseños web y PDF de esta guía.

Preguntas frecuentes

¿Es 4D básicamente lo mismo que FileMaker Pro?

No. Ambos son productos de bases de datos multiplataforma que se originaron en el Macintosh a mediados de la década de 1980 y ambos tienen capacidades Web, pero sus filosofías subyacentes difieren. FileMaker Pro se centra en el documento, donde el archivo es la aplicación, mientras que 4D separa la estructura de datos, los formularios y los métodos en preocupaciones distintas. Esa separación es la razón por la que 4D se siente más como un entorno de desarrollo tradicional.

¿Necesito conocer un lenguaje de programación para utilizar 4D?

Puede construir cosas sencillas sin una programación profunda, pero el verdadero poder de 4D reside en su lenguaje y sus métodos. Viniendo de FileMaker, donde los scripts y los cálculos cubren mucho terreno, encontrará que 4D espera que escriba más código para una funcionalidad equivalente. La recompensa es un mayor control y una mejor estructura para aplicaciones más grandes.

¿Qué es un runtime de 4D y por qué es importante?

Un runtime es una versión distribuible de su aplicación que los usuarios pueden ejecutar sin poseer el entorno de desarrollo completo de 4D. Es importante porque es la forma en que los desarrolladores de 4D envían aplicaciones independientes a los usuarios finales. FileMaker tiene un concepto similar, pero en 4D el modelo de runtime es más central para el despliegue comercial.

¿Por qué debería compilar mi aplicación 4D?

La compilación mejora el rendimiento y protege su código fuente cuando distribuye la aplicación. Durante el desarrollo, generalmente se mantiene el modo interpretado para un ciclo de edición y prueba más rápido, y se compila cuando está listo para el envío. El código que se compila limpiamente también tiende a estar mejor organizado, por lo que vale la pena planificar la compilación desde el principio.

¿Qué tan diferente es la red entre 4D y FileMaker Pro?

La red de FileMaker Pro se basa en compartir un archivo, donde FileMaker Server o el uso compartido peer-to-peer gestionan el acceso concurrente. La red de 4D refleja su herencia cliente/servidor, otorgando a los desarrolladores más control y más responsabilidad sobre cómo se mueven los datos entre el cliente y el servidor. Esto afecta la optimización del rendimiento, el bloqueo de registros y la forma en que diseña formularios que muestran conjuntos de registros grandes.

¿Qué cubrirá la Parte II de esta serie?

La Parte II cubrirá la creación de un programa 4D sencillo, recorriendo el proceso desde la estructura hasta el formulario y el método. La Parte III cubrirá los Menús personalizados y la Parte IV cubrirá los Métodos con más profundidad. Las partes adicionales están por determinarse, y el orden y el contenido de cada parte son provisionales.


Copyright © 1994-2000 HPO Soft. Todos los derechos reservados.



Pruebe FileMaker gratis durante 45 días

La plataforma de base de datos relacional de larga duración para equipos que necesitan aplicaciones personalizadas en escritorio, web y dispositivos móviles desde un solo archivo.