Tipos de app

App freestyle SAPUI5

Um app freestyle SAPUI5 é um app customizado do SAP Fiori cujas views, controllers e lógica de UI os desenvolvedores escrevem diretamente com controles SAPUI5, em vez de gerar as telas a partir de anotações OData, como faz o SAP Fiori elements. Um app freestyle SAPUI5 dá controle total sobre layout e comportamento, e a manutenção desse código fica com o cliente ou o parceiro.

Resumo

Tipo
Aplicação SAPUI5 customizada com UI escrita à mão
Camada
Aplicações de UI
Construído com
Controles SAPUI5 em JavaScript ou TypeScript; SAP Fiori tools (templates freestyle descontinuados)
Implantado em
Repositório ABAP do SAPUI5 (on-premise, Private Edition) ou HTML5 Application Repository (SAP BTP)
Responsável pelo código
Cliente ou parceiro
Quem trabalha com ele
Desenvolvedores SAPUI5, designers de UX, arquitetos de solução
Aplica-se a
SAP S/4HANA on-premise e Private Edition, SAP BTP
Camada: Aplicações de UIOnde se encaixa ▾
Onde se encaixa: L3 · Aplicações de UICamada: Aplicações de UI.L1L2L3L4L5L6BTP

Camada: Aplicações de UI

Abrir o mapa de arquitetura →

Como funciona um app freestyle SAPUI5?

Um app freestyle SAPUI5 usa a estrutura padrão de aplicação SAPUI5, com todas as telas escritas pela equipe de desenvolvimento:

  1. Component e app descriptor — o component inicia o app; o manifest.json declara fontes de dados, models, rotas e inbounds de navegação.
  2. Views — normalmente XML views que posicionam controles SAPUI5, como tabelas, formulários e gráficos.
  3. Controllers — código JavaScript ou TypeScript para eventos, feedback de validação, diálogos e navegação.
  4. Models — models OData para dados do back-end, models JSON para estado local, resource models para textos.
  5. Integração com o launchpad — um target mapping ou inbound torna o app acessível a partir de um tile ou link.

O SAP Fiori tools ainda gera o esqueleto do projeto, mas a SAP agora marca seus templates freestyle SAPUI5 como descontinuados e recomenda começar pela custom page do SAP Fiori elements para OData V4, que ainda deixa o conteúdo da página a cargo da equipe. Nada na UI é derivado de anotações, a menos que a equipe adicione building blocks deliberadamente. Um app freestyle SAPUI5 se define, portanto, por quem escreve a UI — a equipe — e não por qual framework o executa.

Quando construir um app freestyle SAPUI5?

A orientação da SAP para desenvolvedores recomenda usar o SAP Fiori elements o máximo possível e código freestyle o quanto for necessário. O desenvolvimento freestyle é o ponto de partida certo quando pelo menos uma destas condições se aplica:

  • a interação não corresponde a nenhum floorplan, por exemplo uma tela guiada de leitura de códigos ou um quadro de planejamento;
  • o app precisa trabalhar com fontes de dados que não são serviços OData anotados, ou com sistemas externos;
  • a equipe precisa de controle detalhado sobre renderização e desempenho;
  • o design se afasta deliberadamente dos padrões standard para um grupo específico de usuários.

Exemplo: a Alder Manufacturing quer que a equipe do armazém confirme entregas da Bright Freight lendo os paletes em um tablet, com botões grandes e um fluxo de etapa única. Nenhum floorplan atende a essa interação, então uma página freestyle se justifica. Já uma lista de entregas em aberto para supervisores se encaixa em um list report. A decisão de construir um app freestyle SAPUI5 deve ser tomada por tela, não por projeto.

Quais são os pontos fortes de um app freestyle SAPUI5?

  • Controle total do design: qualquer layout, interação ou visualização que os controles SAPUI5 consigam expressar é possível.
  • Qualquer fonte de dados: o app pode combinar serviços OData, APIs REST e dados locais sem precisar de anotações.
  • Mesma linguagem visual: como usa controles e temas SAPUI5, um app freestyle bem projetado se parece com o restante do SAP Fiori.
  • Combinável: páginas freestyle e páginas do SAP Fiori elements podem conviver no mesmo app, e os building blocks do SAP Fiori elements para OData V4 podem ser combinados em layouts customizados.
  • Extensível por terceiros: o SAPUI5 flexibility suporta a adaptação de apps freestyle, assim como de apps SAP Fiori elements, desde que o app defina o flag flexEnabled e use IDs de controle estáveis.

O app freestyle SAPUI5 é a opção que remove o teto do que a interface do usuário pode fazer.

Onde um app freestyle SAPUI5 para?

  • A responsabilidade fica com o cliente. A orientação da SAP atribui a manutenção e a responsabilidade pelo código dos apps freestyle principalmente ao cliente ou parceiro, em comparação com o SAP Fiori elements, em que o framework assume uma parte maior.
  • Consistência é uma tarefa de design. A conformidade com o SAP Fiori é automática nos floorplans, mas precisa ser construída e revisada nas telas freestyle.
  • A evolução do framework é manual. Novos recursos de floorplan chegam aos apps SAP Fiori elements pelo framework; os apps freestyle só mudam quando alguém os altera, inclusive quando o SAPUI5 descontinua APIs.
  • As competências são específicas. A equipe precisa de conhecimento em desenvolvimento web e no framework SAPUI5, não apenas em OData e anotações.
  • A lógica pode migrar para o navegador. Regras codificadas em um controller não protegem dados gravados por outros canais.

Esses limites são o preço da flexibilidade: um app freestyle SAPUI5 custa mais para se manter saudável ao longo de sua vida útil.

Freestyle, SAP Fiori elements ou custom page: como escolher?

A SAP descreve três pontos de partida, e um único app pode combinar os três:

Ponto de partidaO que se obtémQuando escolher
Floorplan do SAP Fiori elements em página inteiraLayout e lógica standard a partir de anotaçõesUm floorplan corresponde à tarefa
Custom page com building blocks (OData V4)Layout próprio, barras de filtro e tabelas standardO layout é especial, mas partes são standard
Página freestyle SAPUI5Controle totalNada standard se encaixa

A opção do meio pertence ao flexible programming model, que permite aos desenvolvedores misturar building blocks orientados a metadados com código próprio. Para equipes que optam por freestyle por hábito, ela costuma ser o melhor meio-termo. Escolher entre freestyle e SAP Fiori elements raramente é tudo ou nada; o flexible programming model transforma isso em uma decisão página a página.

Quais são os erros comuns com apps freestyle SAPUI5?

  1. Escolher freestyle por hábito. Verifique os floorplans primeiro; construa freestyle apenas onde eles não se encaixam.
  2. Nenhum responsável nomeado após o go-live. Uma reclamação frequente nas comunidades de profissionais são apps customizados que ninguém mantém depois que a equipe do projeto sai. Defina o responsável antes da implantação.
  3. Desenvolver em uma versão do SAPUI5 mais nova que a de produção. Teste contra a versão do front-end server de destino.
  4. Regras de negócio apenas no controller. Mantenha as validações também no serviço de back-end.
  5. IDs de controle instáveis. O SAPUI5 flexibility identifica os controles por IDs estáveis, de modo que IDs gerados comprometem a adaptação por key users e tornam frágeis os testes automatizados.

A maioria dos problemas de apps freestyle SAPUI5 aparece meses após o go-live, e por isso a responsabilidade importa tanto quanto a qualidade do código.

App freestyle SAPUI5 vs. SAP Fiori elements: qual é a diferença?

App freestyle SAPUI5App SAP Fiori elements
Como a UI é definidaViews e controllers escritos à mãoGerada em tempo de execução a partir de anotações OData e floorplans
Manutenção e responsabilidade pelo códigoPrincipalmente cliente ou parceiroCompartilhada, com uma parte maior assumida pelo framework da SAP
Conformidade com o SAP FioriImplementação e revisão própriasEm grande parte automática
CustomizaçãoIlimitadaPontos de extensão, building blocks e código customizado
Competências necessáriasDesenvolvimento web e SAPUI5Anotações, OData e os floorplans

Os dois produzem apps SAPUI5; a diferença é se a equipe ou o framework é dono da interface do usuário.

Perguntas frequentes

Um app freestyle SAPUI5 continua sendo um app SAP Fiori?

Pode ser. Um app freestyle SAPUI5 usa os mesmos controles e temas que os outros apps do SAP Fiori e pode rodar no SAP Fiori Launchpad. Se ele é um bom app SAP Fiori depende de a equipe ter seguido as SAP Fiori Design Guidelines.

É possível misturar SAP Fiori elements e código freestyle em um mesmo app?

Sim. A SAP suporta explicitamente a combinação de floorplans completos do SAP Fiori elements, custom pages com building blocks e páginas freestyle SAPUI5 em um mesmo app. Os building blocks do flexible programming model também podem ser reutilizados dentro de custom pages, respeitados os pré-requisitos desse modelo.

Key users podem adaptar um app freestyle SAPUI5?

O SAPUI5 flexibility suporta apps freestyle assim como apps SAP Fiori elements, de modo que key users podem fazer adaptações de UI sem modificar o código original. Os desenvolvedores precisam preparar o app: definir o flag flexEnabled no app descriptor e dar a cada controle e view um ID estável.

Apps freestyle SAPUI5 podem rodar no SAP S/4HANA Cloud Public Edition?

A Public Edition permite que apps SAP Fiori customizados, construídos sobre serviços OData expostos como UI services, sejam implantados no repositório ABAP do SAPUI5 do tenant de desenvolvimento. A SAP documenta os apps SAP Fiori customizados em geral, e não por tipo de app, por isso consulte o SAP Help Portal para a sua release antes de planejar um app freestyle ali.

É preciso usar TypeScript em um app freestyle SAPUI5?

Não. Apps freestyle SAPUI5 podem ser escritos em JavaScript ou TypeScript. O TypeScript acrescenta verificação de tipos e suporte no editor, o que ajuda equipes maiores, mas o app resultante roda no mesmo runtime SAPUI5 em qualquer dos casos.

Fontes

Aplica-se a
SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP BTP
Última revisão

Para se aprofundar

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP e os demais produtos e serviços SAP mencionados são marcas comerciais ou marcas registradas da SAP SE (ou de uma empresa afiliada da SAP) na Alemanha e em outros países. Este guia é independente e não é afiliado, patrocinado nem endossado pela SAP SE.