A filosofia do Jitterbit App Builder
Introdução
Construir aplicações com o App Builder é diferente da programação tradicional. Para aproveitar ao máximo, é necessário entender as filosofias centrais que o sustentam e a terminologia que utiliza. Esta página explica a abordagem do App Builder para o desenvolvimento de aplicativos web, seus conceitos fundamentais e os princípios de design que orientam sua funcionalidade. Com uma boa compreensão dessas ideias, você apreciará como o App Builder funciona e estará melhor preparado para construir aplicações dentro de sua estrutura.
Configuração em vez de código
O App Builder permite que você, como um não-programador, crie aplicativos web e móveis robustos e de nível empresarial. Em vez de codificar, você constrói aplicações usando ferramentas visuais, assistentes e telas de configuração. Isso torna o processo de desenvolvimento mais rápido e fácil do que tentar aprender a programar a mesma funcionalidade.
No App Builder, você se concentra no que seu aplicativo precisa fazer, e não em como fazê-lo. Você define regras de negócios, conecta seus dados e projeta como seu aplicativo se parece e funciona. A plataforma faz a maior parte do trabalho duro, lidando automaticamente com detalhes técnicos, como criar consultas de banco de dados ou selecionar índices. Com mvSQL
, o próprio dialeto SQL do App Builder, você pode escrever regras complexas que funcionam em qualquer banco de dados.
Um princípio central do App Builder é que seus aplicativos devem funcionar em qualquer lugar, em diferentes dispositivos e sistemas operacionais. Com o App Builder, você constrói seu aplicativo uma vez, e seu algoritmo de layout de painel ajusta automaticamente suas páginas, painéis e controles para qualquer tamanho de tela. Isso garante que seu aplicativo tenha a mesma aparência e funcionalidade em todos os lugares, para que você não precise construir versões diferentes para dispositivos diferentes.
Pensando em camadas
Um conceito chave do App Builder é como ele divide um aplicativo em quatro camadas distintas, cada uma responsável por um aspecto diferente de um aplicativo:
-
Camada de Dados: Esta é a base; aqui, você se conecta às suas fontes de dados, define tabelas e estabelece relacionamentos entre elas para garantir a integridade dos dados. Você também pode controlar permissões de inserção, atualização e exclusão em nível de tabela individual.
-
Camada de Negócios: O 'motor' do aplicativo, que contém todas as regras, lógica, cálculos e processos que trabalham com seus dados. É aqui que você usa
mvSQL
para construir Objetos de Negócio e Subconsultas, que servem como a única fonte de verdade para a lógica do seu aplicativo. Esses objetos vêm em várias formas especializadas, como Objetos de Fonte para expor tabelas de dados, Objetos de Lista para preencher menus suspensos de forma eficiente, Regras de Validação para garantir a qualidade dos dados, e poderosas Regras CRUD (Criar, Ler, Atualizar, Excluir) para realizar ações em muitos registros de uma vez. -
Camada de UI: O que seus usuários experimentam; as páginas, painéis, menus, gráficos e controles que compõem as partes visíveis do seu aplicativo. Isso inclui painéis especializados para mostrar dados de diferentes maneiras, como grades padrão, Painéis de Quadro estéticos, ou Painéis de Gráfico visuais.
-
Camada de Segurança: O guardião do aplicativo, gerenciando quem pode fazer login (autenticação) e o que eles estão autorizados a ver e fazer (autorização). Isso inclui não apenas o que os usuários podem fazer, mas também quais dados eles podem ver através de um poderoso recurso de segurança em nível de linha conhecido como Reach.
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
O App Builder não exige que você construa um aplicativo em uma ordem específica: você pode começar pela Camada de Dados, configurando suas tabelas e como elas se relacionam; você pode começar pela Camada de UI, projetando como seu aplicativo se parece e depois construindo as estruturas de dados para suportar esse design; ou você pode começar na Camada de Negócios, definindo lógica complexa que você conectará posteriormente tanto aos seus dados quanto à interface do seu aplicativo.
Conceitos fundamentais e princípios de design
Outro princípio fundamental é que seu aplicativo deve ser capaz de acessar dados de forma segura, não importa onde eles estejam. O App Builder foi projetado para se conectar a muitas fontes de dados diferentes, como bancos de dados tradicionais, APIs REST ou serviços em nuvem, e tratá-los como se fossem parte do seu sistema local.
O App Builder inclui recursos que simplificam e aceleram tarefas comuns de desenvolvimento. Você pode usar seus assistentes, que são guias passo a passo para criar aplicativos, páginas, tabelas e controles. O Live Designer é um ambiente interativo onde você pode editar páginas e ver suas alterações em tempo real. O App Workbench e o Design Center também atuam como centros centralizados, oferecendo acesso rápido às tarefas de desenvolvimento mais comuns, organizadas pelos quatro níveis de aplicação.
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
O App Builder acelera ainda mais o desenvolvimento por meio de componentes inteligentes e reutilizáveis. Você pode definir o Uso de uma coluna (como Título ou Subtítulo), e a plataforma usará isso automaticamente para configurar componentes como listas suspensas. Para interatividade do aplicativo, você pode implementar uma Bridge para enviar notificações e alertas aos usuários por email ou em pop-ups na tela, permitindo fluxos de trabalho complexos com a participação humana.
Com o App Builder, a segurança é considerada um aspecto fundamental do design do seu aplicativo, em vez de uma reflexão tardia. O modelo de segurança do App Builder utiliza funções e privilégios. Você não concede acesso às páginas diretamente; em vez disso, gerencia o acesso por meio dos objetos de dados subjacentes. Se um usuário do aplicativo não tiver permissão para ver dados específicos, as partes da interface do usuário que os exibem, como painéis, links ou botões, são automaticamente ocultadas ou desativadas.
A aparência e a sensação dos seus aplicativos são gerenciadas centralmente usando temas e estilos. Business Objects permitem que você crie uma única regra de negócios autoritativa que pode ser reutilizada em muitas páginas e painéis diferentes. O App Builder também utiliza modelos de coluna, o que significa que ele lembra suas configurações de coluna (como nome, tipo de dado e tipo de controle) para tornar a criação de tabelas futuras mais rápida.
Pense como um desenvolvedor do App Builder
Para entrar na mentalidade do App Builder, você deve primeiro dividir sua ideia de aplicativo em quatro camadas distintas: Dados, Negócios, UI e Segurança. Pense sobre quais dados você precisa, quais regras se aplicam a eles, como seu aplicativo deve parecer e quem pode acessar o quê.
Ao projetar uma página, sempre conecte seus painéis a um objeto de negócios na camada de negócios, e não diretamente a uma tabela na camada de dados. Isso lhe dá a flexibilidade de adicionar lógica, cálculos ou restrições de segurança mais tarde, sem precisar reconstruir sua interface de usuário.
Projete suas páginas com um fluxo lógico e agrupamento de painéis. Deixe o mecanismo responsivo do App Builder lidar com como seu aplicativo se ajusta a diferentes tamanhos de tela. Evite tentar forçar um layout perfeito em pixels para apenas um tamanho de tela.
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
Por fim, use os menus do hub para navegação e construção: o IDE, App Workbench e Live Designer. Estes são projetados para guiá-lo através do fluxo de trabalho pretendido e fornecer opções contextualmente relevantes. Adote as convenções de nomenclatura da plataforma (como TableName (Purpose) para suas regras de negócios) para manter seu aplicativo organizado e sustentável à medida que cresce.