Saltar al contenido

La filosofía de Jitterbit App Builder

Introducción

Construir aplicaciones con App Builder es diferente de la programación tradicional. Para aprovecharlo al máximo, debes familiarizarte con las filosofías fundamentales que lo sustentan y la terminología que utiliza. Esta página explica el enfoque de App Builder hacia el desarrollo de aplicaciones web, sus conceptos fundamentales y los principios de diseño que guían su funcionalidad. Con una buena comprensión de estas ideas, apreciarás cómo funciona App Builder y estarás mejor preparado para construir aplicaciones dentro de su marco.

Configuración sobre código

App Builder te permite, como no programador, crear aplicaciones web y móviles robustas de nivel empresarial. En lugar de codificar, construyes aplicaciones utilizando herramientas visuales, asistentes y pantallas de configuración. Esto hace que el proceso de desarrollo sea más rápido y fácil que intentar aprender a programar la misma funcionalidad.

En App Builder, te enfocas en lo que tu aplicación necesita hacer, no en cómo hacerlo. Defines reglas de negocio, conectas tus datos y diseñas cómo se ve y funciona tu aplicación. La plataforma realiza la mayor parte del trabajo duro, manejando automáticamente detalles técnicos como la creación de consultas a bases de datos o la selección de índices. Con mvSQL, el propio dialecto SQL de App Builder, puedes escribir reglas complejas que funcionan en cualquier base de datos.

Un principio fundamental de App Builder es que tus aplicaciones deben funcionar en todas partes, en diferentes dispositivos y en diferentes sistemas operativos. Con App Builder, construyes tu aplicación una vez, y su algoritmo de diseño de paneles ajusta automáticamente tus páginas, paneles y controles para cualquier tamaño de pantalla. Esto asegura que tu aplicación se vea y funcione igual en todas partes, por lo que no necesitas construir diferentes versiones para diferentes dispositivos.

Pensando en capas

Un concepto clave de App Builder es cómo divide una aplicación en cuatro capas distintas, cada una responsable de un aspecto diferente de una aplicación:

  • Capa de Datos: Esta es la base; aquí, te conectas a tus fuentes de datos, defines tablas y estableces relaciones entre ellas para asegurar la integridad de los datos. También puedes controlar los permisos de inserción, actualización y eliminación a nivel de tabla individual.

  • Capa de Negocios: El 'motor' de la aplicación, que contiene todas las reglas, lógica, cálculos y procesos que trabajan con tus datos. Aquí es donde usas mvSQL para construir Objetos de Negocio y Subconsultas, que sirven como la única fuente de verdad para la lógica de tu aplicación. Estos objetos vienen en varias formas especializadas, como Objetos de Origen para exponer tablas de datos, Objetos de Lista para llenar eficientemente menús desplegables, Reglas de Validación para hacer cumplir la calidad de los datos, y poderosas Reglas CRUD (Crear, Leer, Actualizar, Eliminar) para realizar acciones en muchos registros a la vez.

  • Capa de UI: Lo que experimentan tus usuarios; las páginas, paneles, menús, gráficos y controles que componen las partes visibles de tu aplicación. Esto incluye paneles especializados para mostrar datos de diferentes maneras, como cuadrículas estándar, Paneles de Tablero estéticos, o Paneles de Gráfico visuales.

  • Capa de Seguridad: El guardián de la aplicación, que gestiona quién puede iniciar sesión (autenticación) y qué se les permite ver y hacer (autorización). Esto incluye no solo lo que los usuarios pueden hacer, sino también qué datos pueden ver a través de una poderosa función de seguridad a nivel de fila conocida como Alcance.

graph TD
  subgraph " "
    direction TB
    SecurityLayer["<b>🛡️ Security Layer</b><br/><br/>Roles, Privileges, Authentication, Reach"]
    UILayer["<b>🖥️ UI Layer</b><br/><br/>Pages, Panels, Controls, User Experience"]
    BusinessLayer["<b>⚙️ Business Layer</b><br/><br/>Logic, Business Rules, Validation, mvSQL"]
    DataLayer["<b>🗃️ Data Layer</b><br/><br/>Data Sources, Tables, Relationships"]
  end

  SecurityLayer --> UILayer --> BusinessLayer --> DataLayer

App Builder no te obliga a construir una aplicación en un orden específico: puedes comenzar con la Capa de Datos, configurando tus tablas y cómo se relacionan; puedes comenzar con la Capa de UI, diseñando cómo se ve tu aplicación y luego construyendo las estructuras de datos para respaldar ese diseño; o puedes comenzar en la Capa de Negocios, definiendo lógica compleja que luego conectarás tanto a tus datos como a la interfaz de tu aplicación.

Conceptos fundamentales y principios de diseño

Otro principio fundamental es que tu aplicación debe poder acceder de manera segura a los datos sin importar dónde se encuentren. App Builder está diseñado para conectarse a muchas fuentes de datos diferentes, como bases de datos tradicionales, APIs REST o servicios en la nube, y tratarlas como si fueran parte de tu sistema local.

El App Builder incluye características que simplifican y aceleran las tareas de desarrollo comunes. Puedes utilizar sus asistentes, que son guías paso a paso para crear aplicaciones, páginas, tablas y controles. El Live Designer es un entorno interactivo donde puedes editar páginas y ver tus cambios en tiempo real. El App Workbench y el Design Center también actúan como centros centralizados, ofreciendo acceso rápido a las tareas de desarrollo más comunes, organizadas por las cuatro capas de la aplicación.

graph LR
  subgraph " "
    direction LR

    Hub("🚀<br/><b>Accelerators</b>")

    subgraph <b>Tools</b>
      direction TB
      Spoke1["🖌️ <b>Visual Tools</b><br/><br/>Live Designer, Drag & Drop"]
      Spoke2["✨ <b>Guided Setup</b><br/><br/>Application & Page Wizards"]
      Spoke3["♻️ <b>Reusable Logic</b><br/><br/>Business Objects & Templates"]
      Spoke4["🧰 <b>Centralized Hubs</b><br/><br/>App Workbench & Design Center"]
      end
  end

  Hub -- " " --> Spoke1
  Hub -- " " --> Spoke2
  Hub -- " " --> Spoke3
  Hub -- " " --> Spoke4

El App Builder acelera aún más el desarrollo a través de componentes inteligentes y reutilizables. Puedes definir el Uso de una columna (como Título o Subtítulo), y la plataforma lo utilizará automáticamente para configurar componentes como listas desplegables. Para la interactividad de la aplicación, puedes implementar un Puente para enviar notificaciones y alertas a los usuarios por correo electrónico o mediante ventanas emergentes en pantalla, lo que permite flujos de trabajo complejos con intervención humana.

Con el App Builder, la seguridad se considera un aspecto fundamental del diseño de tu aplicación, en lugar de ser una idea secundaria. El modelo de seguridad del App Builder utiliza roles y privilegios. No otorgas acceso a las páginas directamente; en su lugar, gestionas el acceso a través de los objetos de datos subyacentes. Si un usuario de la aplicación no tiene permiso para ver datos específicos, las partes de la interfaz de usuario que los muestran, como paneles, enlaces o botones, se ocultan o desactivan automáticamente.

La apariencia y la sensación de tus aplicaciones se gestionan de manera centralizada utilizando temas y estilos. Los Objetos de Negocio te permiten crear una única regla de negocio autoritativa que puede reutilizarse en muchas páginas y paneles diferentes. El App Builder también utiliza plantillas de columnas, lo que significa que recuerda tus configuraciones de columna (como nombre, tipo de dato y tipo de control) para hacer que la creación de tablas futuras sea más rápida.

Piensa como un desarrollador de App Builder

Para adoptar la mentalidad del App Builder, primero debes desglosar tu idea de aplicación en las cuatro capas distintas: Datos, Negocios, UI y Seguridad. Piensa en qué datos necesitas, qué reglas se aplican, cómo debería lucir tu aplicación y quién puede acceder a qué.

Al diseñar una página, siempre conecta tus paneles a un objeto de negocio en la capa de negocios, no directamente a una tabla en la capa de datos. Esto te brinda la flexibilidad de agregar lógica, cálculos o restricciones de seguridad más adelante sin tener que reconstruir tu interfaz de usuario.

Diseña tus páginas con un flujo lógico y agrupación de paneles. Deja que el motor responsivo de App Builder maneje cómo se ajusta tu aplicación a diferentes tamaños de pantalla. Evita intentar forzar un diseño pixel-perfect para solo un tamaño de pantalla.

graph LR
  subgraph " "
    direction LR

    Theme("🎨 <b>Theme & Style Configuration</b><br/><br/>Colors, Fonts, Logos")

    subgraph "Renders on:"
        direction TB
        Desktop["🖥️ Desktop"]
        Tablet["📱 Tablet"]
        Mobile["🤳 Mobile"]
        end
    end

    Theme -- " " --> Desktop
    Theme -- " " --> Tablet
    Theme -- " " --> Mobile

Finalmente, utiliza los menús del hub para la navegación y construcción: el IDE, App Workbench y Live Designer. Estos están diseñados para guiarte a través del flujo de trabajo previsto y proporcionar opciones contextuales. Adopta las convenciones de nomenclatura de la plataforma (como TableName (Purpose) para tus reglas de negocio) para mantener tu aplicación organizada y mantenible a medida que crece.