Como ya sabe, 4D soporta ahora dos formas de trabajar con los fuentes: bases de datos binarias y de proyectos. Las bases de datos binarias son el 4D que todos conocemos y amamos, con el código fuente en un archivo binario para permitir el desarrollo en equipo con 4D Server, y todos los elementos de diseño (métodos, formularios, estructura, etc.) reunidos en un único y compacto archivo binario, el archivo «.4db». Las bases de datos de proyectos facilitan el trabajo colaborativo de los equipos distribuidos, almacenando el código fuente en un sistema de control de fuentes en archivos separados de texto plano. Los proyectos no sustituirán a la 4DB, no tenemos planes de hacer desaparecer la 4DB. Se trata de dos formas diferentes de trabajar y desarrollar. Es usted quien debe elegir la que mejor se adapte a sus necesidades. Aquí tienes una entrada del blog para ayudarte a decidir:
Base de datos binaria (.4DB)
Pros
- Desarrollo multiusuario
Varios usuarios pueden desarrollar y diseñar simultáneamente una base de datos. La integridad del diseño de la base de datos se preserva mediante un sistema de bloqueo de objetos incorporado.
- Trabajar en la misma versión
La base de datos está alojada en el servidor 4D. Todos los desarrolladores trabajan sobre la misma versión del código.
- Vea directamente el trabajo de los otros desarrolladores
Puede ver el último desarrollo de otro desarrollador sin modificarlo(por ejemplo, para comprobar los puntos de entrada y salida de un método que tendrá que llamar en su parte del código).
- Sistema de copia de seguridad incorporado
4D Server incluye un completo módulo de copia de seguridad y restauración de la base de datos. Este módulo le permite hacer una copia de seguridad de una base de datos durante su funcionamiento, sin tener que salir de ella. Las copias de seguridad pueden ser lanzadas manual o automáticamente, a intervalos regulares y sin intervención del usuario.
Cons
- En línea
Requiere un acceso permanente al servidor.
- Complicada reversión
Etiquetar una versión del cliente y poder volver a esta versión en caso de reacción del cliente puede ser un reto.
- Compilación
Sólo puede compilar un cliente 4D a la vez.
- Complicado de probar en modo compilado
Debe reiniciar el servidor para las pruebas, por lo que todos los demás desarrolladores se ven afectados.
- Dificultad para gestionar múltiples versiones
No hay fusión automática de parches de una versión a otra. Requiere un informe manual: encontrar las líneas modificadas y luego integrarlas en la otra versión.
Base de datos de proyectos (.4Dproject)
Pros
- Fuera de línea
Permite desarrollar en cualquier lugar(por ejemplo, en la oficina, de viaje, etc.).
- Historial
Al almacenar en un sistema de control de fuentes, se simplifica enormemente la posibilidad de seguir la evolución de las modificaciones: la fecha, el autor y las líneas modificadas.
- Deshacer un desarrollo
Si una nueva integración desestabiliza su versión, es fácil volver a una versión anterior.
- Desarrollo multiversión
Es fácil fusionar parches de una versión a otra gracias al sistema de ramas de un sistema de control de fuentes.
- Compilar en cualquier momento
Posibilidad de compilar y probar en modo compilado sin limitaciones.
- Conjunto de características mejoradas
Simplificación del despliegue para usuarios y grupos, mejora de las hojas de estilo gracias a CSS, etc. (Lea los posts dedicados a las bases de datos de proyectos para descubrir todas las nuevas posibilidades).
Contras
- Desarrollo con código fuente distribuido
Cada desarrollador codifica solo en su copia del código. Necesidad de organización y reglas para facilitar el reparto del trabajo.
- El acceso al código desde un cliente es de sólo lectura
Se puede probar y depurar en Cliente/Servidor, pero no se modifica el código desplegado en el servidor. Debe reabrir la base de datos con 4D Developer, hacer la modificación y reiniciar el servidor.
Para concluir
Las bases de datos de proyectos abren nuevas perspectivas y ofrecen otra forma de trabajar con 4D. Pero tenga en cuenta que no existe la mejor manera. Usted es libre de elegir lo que mejor se adapte a sus necesidades.