Crear una aplicación independiente con el componente Build4D

Traducido automáticamente de Deepl

Un nuevo componente build4D ha estado disponible en GitHub durante unos meses. Te permite crear sin esfuerzo un proyecto compilado o un componente. Las cosas se ponen aún mejor; esta nueva versión del componente le permitirá generar una aplicación monousuario, ampliando las posibilidades de su flujo de trabajo de desarrollo.

Así que con tool4D disponible desde v20, integrar el proceso de generación de aplicaciones en tus herramientas de CI (Integración Continua) se ha vuelto notablemente conveniente.

¡Profundicemos en los detalles!

Componente Build4D

¿Qué hace el componente?

Aquí tienes una lista no exhaustiva de lo que el componente te permite hacer:

  • compilar el proyecto,
  • fusionar el 4D Volume Desktop con su proyecto,
  • añadir la información de la aplicación como el Copyright, Empresa…,
  • añadir el icono,
  • elegir las carpetas a añadir, como Documentation, WebFolder, Default Data…,
  • seleccione las carpetas a eliminar, como una carpeta Dev en los Recursos,
  • seleccione los módulos a eliminar, como CEF, Mecab, php…,
  • generar la licencia de despliegue,
  • y firmar la aplicación.

¿Cuál es la diferencia con el comando Build application?

En ambos casos, puedes generar una aplicación monopuesto perfectamente utilizable. El comando Build Application es monolítico. Si quieres personalizar un archivo o añadir o eliminar una carpeta, debes hacerlo después de construir la aplicación. Y para una aplicación macOS, tienes que firmar la aplicación de nuevo.

El componente Build4D se compone de varias clases y funciones codificadas en 4D. Así que si tu aplicación es muy particular y diferente de otras. Puedes añadir fácilmente una nueva función o mejorar una existente.

¿Cómo hacerlo?

El código siguiente es un ejemplo de generación de una aplicación autónoma a partir de un proyecto externo.

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

$settings :={}
// Define the external project file
$settings .projectFile:=Folder(fk documents folder).file("Contacto/Proyecto/Contacto.4folderDProject")

// Configure the application
$settings .buildName:="myApp"
$settings .destinationFolder:="Test/"
$settings .obfuscated:=True
$settings .packedProject:=False
$settings .useSDI:=False
$settings .startElevated:=False
$settings .lastDataPathLookup:="ByAppPath"

// Define the 4D Volume Desktop path
$settings .sourceAppFolder:=Folder(fk documents folder). xml-ph-0034@deepl.internaapp")

// Specify the components required for compilation
$componentFolder :=Folder(fk documents folder).folder("4D v20.0/4D.app/Contents/Components")
$components :=[]
$components .push($componentFolder.file("4D WritePro Interface.4dbase/4D WritePro Interface.4DZ"))
$settings .compilerOptions:={components: $components}

// Delete the unnecessary module
$settings.excludeModules:=["CEF"; "MeCab"]

// Include the folders and files
$settings .includePaths:=[]
$settings .includePaths.push({source: $componentFolder.folder("4D WritePro Interface.4dbase").path; destination: "../Components/"})
$settings .includePaths.push({source: $componentFolder.folder("4D SVG.4dbase").path; destination: "../Components/"})

// Delete the folders and files
$settings .deletePaths:=[]
$settings .deletePaths.push("Resources/Dev/")

// Add the application icon
$settings .iconPath:="/RESOURCES/myIcon.icns"

// Add the application information
$settings .versioning:={}
$settings .versioning.version:="version"
$settings .versioning.copyright:="copyright"
$settings .versioning.companyName:="companyName"
$settings .versioning.fileDescription:="fileDescription"
$settings .versioning.internalName:="internalName"

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

// Sign the macOS appplication
$settings .signApplication:={}
$settings .signApplication.macSignature:=True
$settings .signApplication.macCertificate:="xxxxxx"

// Launch the build
$build:=cs.Build4D.Standalone.new($settings)
$success:=$build.build
()

Para más detalles sobre cada atributo, lea la documentación de cada clase de componente.

En el caso de las aplicaciones para macOS, es necesario certificarlas ante notario para poder distribuirlas. Para más detalles, consulte la documentación de Apple.

A continuación…

Ve a GitHub para descargar el componente «Build4D». Además, para mantenerte informado sobre todas las novedades del componente, haz clic en el botón «Watch» o pon 4D Depot o Build 4D en tus favoritos. Si necesita ayuda, puede leer esta entrada de blog, que detalla todas las organizaciones 4D y cómo utilizar todas las características de Github.

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.