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 ▾
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:
- Component e app descriptor — o component inicia o app; o manifest.json declara fontes de dados, models, rotas e inbounds de navegação.
- Views — normalmente XML views que posicionam controles SAPUI5, como tabelas, formulários e gráficos.
- Controllers — código JavaScript ou TypeScript para eventos, feedback de validação, diálogos e navegação.
- Models — models OData para dados do back-end, models JSON para estado local, resource models para textos.
- 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 partida | O que se obtém | Quando escolher |
|---|---|---|
| Floorplan do SAP Fiori elements em página inteira | Layout e lógica standard a partir de anotações | Um floorplan corresponde à tarefa |
| Custom page com building blocks (OData V4) | Layout próprio, barras de filtro e tabelas standard | O layout é especial, mas partes são standard |
| Página freestyle SAPUI5 | Controle total | Nada 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?
- Escolher freestyle por hábito. Verifique os floorplans primeiro; construa freestyle apenas onde eles não se encaixam.
- 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.
- 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.
- Regras de negócio apenas no controller. Mantenha as validações também no serviço de back-end.
- 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 SAPUI5 | App SAP Fiori elements | |
|---|---|---|
| Como a UI é definida | Views e controllers escritos à mão | Gerada em tempo de execução a partir de anotações OData e floorplans |
| Manutenção e responsabilidade pelo código | Principalmente cliente ou parceiro | Compartilhada, com uma parte maior assumida pelo framework da SAP |
| Conformidade com o SAP Fiori | Implementação e revisão próprias | Em grande parte automática |
| Customização | Ilimitada | Pontos de extensão, building blocks e código customizado |
| Competências necessárias | Desenvolvimento web e SAPUI5 | Anotaçõ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
- SAPUI5 SDK: Developing apps with modern concepts — guidance for developers
- SAP Help Portal: Flexible programming model (SAPUI5)
- SAP Help Portal: SAPUI5 flexibility
- SAP Help Portal: UI development in SAP S/4HANA Cloud Public Edition
- SAP Help Portal: What Is HTML5 Application Repository? (SAP BTP)
- Aplica-se a
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP BTP
- Última revisão