SlideShare a Scribd company logo
1 of 25
Download to read offline
Fabio Pagoti
Desenvolvedor na Dux Innovation
Instrutor ABAP e UI5
14 de Agosto de 2015
Componentes UI5
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 2
Agenda
Componentes UI5
 O que são, MVC, Web Dynpro, Utilização
Evolução
 Component.js e manifest.json
Construção e Uso
 Criando seu componente
Possibilidades
 Tabelas com drill-down automáticas baseado em oData
Descobrindo e usando componentes
 SDK, Bower, Yeoman, Web IDE
Componentes UI5
O que são, MVC, Web Dynpro, Utilização
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 4
Componentes
O que são?
• Aplicação independente
• Pode ser existir isoladamente ou fazer parte de outra
aplicação ou componente
• Seu uso deve ser simples
• MVC acontece dentro do componente
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 5
Componentes
Componente vs Aplicação Web Dynpro
Componente Web Dynpro
Dependências
(Componentes)
Controllers ,
contexto, etc
Janelas
Contexto
Estrutura
Controller
Visões
Plugs Layout Contexto Métodos Controller
Aplicação Web Dynpro (URL)
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 6
Componentes
Dependências
Componente A
Dependências
(Componentes)
Contexto, Controller,
Visões, Janelas, Etc
Componente B
Contexto, Controller, Visões, Janelas, Etc
Componente C
Dependências
(Componentes)
Contexto, Controller,
Visões, Janelas, Etc
Componente D (Faceless)
Contexto e Controller
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 7
Componentes em Web Dynpro
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 8
UI5 sem componentes
Aplicação dentro do index.html
• MVC pode ser usado, mas...
• a aplicação não pode ser reutilizada
dentro de outra
• Modelo e visões estão no contexto
global e não encapsulados
• Dificuldade em fazer mock data
• Navegação estará presa a
controllers, o que deixa as visões
dependentes entre si
• Não atende as práticas do Fiori
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 9
UI5 com componentes
Componente dentro do index.html
• ComponentContainer cria Componente
que tem toda a aplicação
• Component.js descreve o componente
Evolução
Component.js e manifest.json
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 11
Component.js
Responsabilidade até versão 1.28
Metadados
• Nome, descrição, versão, etc
• Dependências (namespaces
e outros componentes)
• Visão inicial
• URLs dos modelos
• Roteamento
Função de inicialização
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 12
Componentes
A partir da versão 1.30 (em beta)
Component.js (inicialização) manifest.json (metadados)
Construção e Uso
Criando seu componente
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 14
Component.js
Criação
• Voltada a módulos
(sap.ui.define) que
permitem otimizar o
desempenho
• metadata simplesmente
aponta para o manifest.json
• init: Instancia modelos
(mock data, i18n) e roteador
(descrito agora no
manifest.json)
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 15
Manifest.json
Também conhecido como “Descriptor”
• Inspirado no AppManifest¹
• Dividido em namespaces²:
• sap.app
• sap.ui
• sap.ui5
• sap.platform.abap
• sap.platform.hcp
• sap.fiori
• sap.mobile
• ¹ http://www.w3.org/TR/appmanifest/
• ² OpenUI5 Demo Kit - Descriptor
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 16
Manifest.json
Exemplo”
• sap.app
• Nome, versão, título, descrição, tags,
etc
• sap.ui
• Tipos de dispositivos, ícones e temas
suportados
• sap.ui5
• Antigo metadata do Component.js
• Dependências, modelos, configuração,
roteamento, visão inicial
Possibilidades
Tabelas com drill-down automáticas baseado em oData
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 18
Imagine um serviço oData com várias coleções
Exemplo: Northwind
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 19
Que tal criar um drill-down simplesmente assim?
Com componentes isso já é possível
Descobrindo e usando
componentes
SDK, Bower, Yeoman, Web IDE
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 21
SDK
SAPUI5 já possui Componentes para tarefas específicas
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 22
Descobrindo e Usando Componentes
Ainda não há muito conteúdo aqui… mas vale a lembrança!
Bower (http://bower.io/) Yeoman (http://yeoman.io/)
Há um gerador de UI5 no GitHub!
github.com/saschakiefer/generator-openui5
* Não segue as práticas (em beta)
mostradas aqui
© 2013 SAP AG or an SAP affiliate company. All rights reserved. 23
Web IDE
Muitos Templates! Todos em forma de Componente!
Demo
Exemplo de Componente
http://bit.ly/componente-ui5
© 2013 SAP AG or an SAP affiliate company. All rights reserved.
Obrigado!
@fabiopagoti – Desenvolvedor ABAP na
ABAP101.com
HanaBrasil.com.br
Livro “UI5 para desenvolvedores SAP/ABAP” – www.leanpub.com/ui5
Exemplo de componente: http://bit.ly/componente-ui5
Código Fonte: https://github.com/fabiopagoti/UI5-Example-Component

More Related Content

What's hot

Angular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoAngular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoGDGFoz
 
Construindo portlets para IBM WebSphere Portal – Parte 1
Construindo portlets para IBM WebSphere Portal – Parte 1Construindo portlets para IBM WebSphere Portal – Parte 1
Construindo portlets para IBM WebSphere Portal – Parte 1rodrigoareis
 
AngularJS - Just Digital
AngularJS - Just DigitalAngularJS - Just Digital
AngularJS - Just DigitalJust Digital
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançadoTargettrust
 
Estudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogEstudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogVinícius Thiengo
 
Chips Android, Quando e Como Utilizar
Chips Android, Quando e Como UtilizarChips Android, Quando e Como Utilizar
Chips Android, Quando e Como UtilizarVinícius Thiengo
 
Historia do mvc, mvp e mvvm no android
Historia do mvc, mvp e mvvm no androidHistoria do mvc, mvp e mvvm no android
Historia do mvc, mvp e mvvm no androidPaulo Sato
 
Walker - Criando componentes interoperaveis com Vue.js para o WordPress
Walker - Criando componentes interoperaveis com Vue.js para o WordPressWalker - Criando componentes interoperaveis com Vue.js para o WordPress
Walker - Criando componentes interoperaveis com Vue.js para o WordPressWordPress Floripa
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidMessias Batista
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Facesbielgott
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0Wilson Mendes
 
Performance com AngularJS
Performance com AngularJSPerformance com AngularJS
Performance com AngularJSWilson Mendes
 

What's hot (18)

Angular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoAngular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativo
 
Visão Geral sobre Angular JS
Visão Geral sobre Angular JSVisão Geral sobre Angular JS
Visão Geral sobre Angular JS
 
Construindo portlets para IBM WebSphere Portal – Parte 1
Construindo portlets para IBM WebSphere Portal – Parte 1Construindo portlets para IBM WebSphere Portal – Parte 1
Construindo portlets para IBM WebSphere Portal – Parte 1
 
AngularJS - Just Digital
AngularJS - Just DigitalAngularJS - Just Digital
AngularJS - Just Digital
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Angularjs
AngularjsAngularjs
Angularjs
 
Estudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do BlogEstudando Android - Lista de Conteúdos do Blog
Estudando Android - Lista de Conteúdos do Blog
 
Chips Android, Quando e Como Utilizar
Chips Android, Quando e Como UtilizarChips Android, Quando e Como Utilizar
Chips Android, Quando e Como Utilizar
 
Historia do mvc, mvp e mvvm no android
Historia do mvc, mvp e mvvm no androidHistoria do mvc, mvp e mvvm no android
Historia do mvc, mvp e mvvm no android
 
Walker - Criando componentes interoperaveis com Vue.js para o WordPress
Walker - Criando componentes interoperaveis com Vue.js para o WordPressWalker - Criando componentes interoperaveis com Vue.js para o WordPress
Walker - Criando componentes interoperaveis com Vue.js para o WordPress
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJS
 
Arquitetura do Framework Spring
Arquitetura do Framework SpringArquitetura do Framework Spring
Arquitetura do Framework Spring
 
Framework7
Framework7Framework7
Framework7
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Faces
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0
 
Angular js
Angular jsAngular js
Angular js
 
Performance com AngularJS
Performance com AngularJSPerformance com AngularJS
Performance com AngularJS
 

Viewers also liked

Algunas fotografías Pirineos 2011
Algunas fotografías Pirineos 2011Algunas fotografías Pirineos 2011
Algunas fotografías Pirineos 2011Candelasap
 
Communicative Language Teaching
Communicative Language TeachingCommunicative Language Teaching
Communicative Language TeachingSyahyar Bahagia
 
Artista del ligue Version Gratuita
Artista del ligue Version GratuitaArtista del ligue Version Gratuita
Artista del ligue Version GratuitaBán Markus
 
Reflexiones para la vida melissa 4to b
Reflexiones para la vida melissa 4to bReflexiones para la vida melissa 4to b
Reflexiones para la vida melissa 4to bariasmelissa
 
C1 1.1-a historidade-doludiconaabordagemhistoricocultural
C1 1.1-a historidade-doludiconaabordagemhistoricoculturalC1 1.1-a historidade-doludiconaabordagemhistoricocultural
C1 1.1-a historidade-doludiconaabordagemhistoricoculturalLiliane Barros
 
MySQL High Availability Deep Dive
MySQL High Availability Deep DiveMySQL High Availability Deep Dive
MySQL High Availability Deep Divehastexo
 
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-1-10
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-1-10Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-1-10
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-1-10Juan Corcuera
 
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-11-20
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-11-20Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-11-20
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-11-20Juan Corcuera
 

Viewers also liked (14)

Algunas fotografías Pirineos 2011
Algunas fotografías Pirineos 2011Algunas fotografías Pirineos 2011
Algunas fotografías Pirineos 2011
 
116 scen overview_pt_br
116 scen overview_pt_br116 scen overview_pt_br
116 scen overview_pt_br
 
Traitloci
TraitlociTraitloci
Traitloci
 
Communicative Language Teaching
Communicative Language TeachingCommunicative Language Teaching
Communicative Language Teaching
 
Artista del ligue Version Gratuita
Artista del ligue Version GratuitaArtista del ligue Version Gratuita
Artista del ligue Version Gratuita
 
Reflexiones para la vida melissa 4to b
Reflexiones para la vida melissa 4to bReflexiones para la vida melissa 4to b
Reflexiones para la vida melissa 4to b
 
HR in NJI
HR in NJIHR in NJI
HR in NJI
 
C1 1.1-a historidade-doludiconaabordagemhistoricocultural
C1 1.1-a historidade-doludiconaabordagemhistoricoculturalC1 1.1-a historidade-doludiconaabordagemhistoricocultural
C1 1.1-a historidade-doludiconaabordagemhistoricocultural
 
Relatorio2010
Relatorio2010Relatorio2010
Relatorio2010
 
MySQL High Availability Deep Dive
MySQL High Availability Deep DiveMySQL High Availability Deep Dive
MySQL High Availability Deep Dive
 
Test20081022
Test20081022Test20081022
Test20081022
 
Apostila Língua Portuguesa
Apostila Língua PortuguesaApostila Língua Portuguesa
Apostila Língua Portuguesa
 
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-1-10
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-1-10Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-1-10
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-1-10
 
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-11-20
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-11-20Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-11-20
Manual de-experimentos-primaria-la-ciencia-puede-ser-divertida-11-20
 

Similar to Componentes UI5 - SAP Inside Track Joinville 2015 - Fábio Pagoti

Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Danilo Pinotti
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...tdc-globalcode
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018Graziella Bonizi
 
O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3Danilo Pinotti
 
SAP Fiori Development from Scratch
SAP Fiori Development from ScratchSAP Fiori Development from Scratch
SAP Fiori Development from ScratchJose Nunes
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosFelipe Gadelha Ruoso
 
30º GDG Uberaba - Introdução AngularJS 4 com CLI
30º GDG Uberaba - Introdução AngularJS 4 com CLI30º GDG Uberaba - Introdução AngularJS 4 com CLI
30º GDG Uberaba - Introdução AngularJS 4 com CLIPedro Moura
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorMSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorGustavo Bellini Bigardi
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...George Mendonça
 
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015  - Interfaces Ricas com Rails e React.JSTDC São Paulo 2015  - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JSRodrigo Urubatan
 
Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets para JavaFX, e Modelos de Distribuição de AppsMigrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets para JavaFX, e Modelos de Distribuição de AppsBruno Borges
 
Apresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadasApresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadasVictor Aldir
 

Similar to Componentes UI5 - SAP Inside Track Joinville 2015 - Fábio Pagoti (20)

Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018
 
O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3
 
SAP Fiori Development from Scratch
SAP Fiori Development from ScratchSAP Fiori Development from Scratch
SAP Fiori Development from Scratch
 
Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
30º GDG Uberaba - Introdução AngularJS 4 com CLI
30º GDG Uberaba - Introdução AngularJS 4 com CLI30º GDG Uberaba - Introdução AngularJS 4 com CLI
30º GDG Uberaba - Introdução AngularJS 4 com CLI
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorMSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Angular 2
Angular 2Angular 2
Angular 2
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 
JEE6 - Introdução
JEE6 - IntroduçãoJEE6 - Introdução
JEE6 - Introdução
 
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015  - Interfaces Ricas com Rails e React.JSTDC São Paulo 2015  - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
 
Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets para JavaFX, e Modelos de Distribuição de AppsMigrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps
 
Apresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadasApresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadas
 
Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
 
RAD
RADRAD
RAD
 

Componentes UI5 - SAP Inside Track Joinville 2015 - Fábio Pagoti

  • 1. Fabio Pagoti Desenvolvedor na Dux Innovation Instrutor ABAP e UI5 14 de Agosto de 2015 Componentes UI5
  • 2. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 2 Agenda Componentes UI5  O que são, MVC, Web Dynpro, Utilização Evolução  Component.js e manifest.json Construção e Uso  Criando seu componente Possibilidades  Tabelas com drill-down automáticas baseado em oData Descobrindo e usando componentes  SDK, Bower, Yeoman, Web IDE
  • 3. Componentes UI5 O que são, MVC, Web Dynpro, Utilização
  • 4. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 4 Componentes O que são? • Aplicação independente • Pode ser existir isoladamente ou fazer parte de outra aplicação ou componente • Seu uso deve ser simples • MVC acontece dentro do componente
  • 5. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 5 Componentes Componente vs Aplicação Web Dynpro Componente Web Dynpro Dependências (Componentes) Controllers , contexto, etc Janelas Contexto Estrutura Controller Visões Plugs Layout Contexto Métodos Controller Aplicação Web Dynpro (URL)
  • 6. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 6 Componentes Dependências Componente A Dependências (Componentes) Contexto, Controller, Visões, Janelas, Etc Componente B Contexto, Controller, Visões, Janelas, Etc Componente C Dependências (Componentes) Contexto, Controller, Visões, Janelas, Etc Componente D (Faceless) Contexto e Controller
  • 7. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 7 Componentes em Web Dynpro
  • 8. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 8 UI5 sem componentes Aplicação dentro do index.html • MVC pode ser usado, mas... • a aplicação não pode ser reutilizada dentro de outra • Modelo e visões estão no contexto global e não encapsulados • Dificuldade em fazer mock data • Navegação estará presa a controllers, o que deixa as visões dependentes entre si • Não atende as práticas do Fiori
  • 9. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 9 UI5 com componentes Componente dentro do index.html • ComponentContainer cria Componente que tem toda a aplicação • Component.js descreve o componente
  • 11. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 11 Component.js Responsabilidade até versão 1.28 Metadados • Nome, descrição, versão, etc • Dependências (namespaces e outros componentes) • Visão inicial • URLs dos modelos • Roteamento Função de inicialização
  • 12. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 12 Componentes A partir da versão 1.30 (em beta) Component.js (inicialização) manifest.json (metadados)
  • 13. Construção e Uso Criando seu componente
  • 14. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 14 Component.js Criação • Voltada a módulos (sap.ui.define) que permitem otimizar o desempenho • metadata simplesmente aponta para o manifest.json • init: Instancia modelos (mock data, i18n) e roteador (descrito agora no manifest.json)
  • 15. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 15 Manifest.json Também conhecido como “Descriptor” • Inspirado no AppManifest¹ • Dividido em namespaces²: • sap.app • sap.ui • sap.ui5 • sap.platform.abap • sap.platform.hcp • sap.fiori • sap.mobile • ¹ http://www.w3.org/TR/appmanifest/ • ² OpenUI5 Demo Kit - Descriptor
  • 16. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 16 Manifest.json Exemplo” • sap.app • Nome, versão, título, descrição, tags, etc • sap.ui • Tipos de dispositivos, ícones e temas suportados • sap.ui5 • Antigo metadata do Component.js • Dependências, modelos, configuração, roteamento, visão inicial
  • 17. Possibilidades Tabelas com drill-down automáticas baseado em oData
  • 18. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 18 Imagine um serviço oData com várias coleções Exemplo: Northwind
  • 19. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 19 Que tal criar um drill-down simplesmente assim? Com componentes isso já é possível
  • 20. Descobrindo e usando componentes SDK, Bower, Yeoman, Web IDE
  • 21. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 21 SDK SAPUI5 já possui Componentes para tarefas específicas
  • 22. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 22 Descobrindo e Usando Componentes Ainda não há muito conteúdo aqui… mas vale a lembrança! Bower (http://bower.io/) Yeoman (http://yeoman.io/) Há um gerador de UI5 no GitHub! github.com/saschakiefer/generator-openui5 * Não segue as práticas (em beta) mostradas aqui
  • 23. © 2013 SAP AG or an SAP affiliate company. All rights reserved. 23 Web IDE Muitos Templates! Todos em forma de Componente!
  • 25. © 2013 SAP AG or an SAP affiliate company. All rights reserved. Obrigado! @fabiopagoti – Desenvolvedor ABAP na ABAP101.com HanaBrasil.com.br Livro “UI5 para desenvolvedores SAP/ABAP” – www.leanpub.com/ui5 Exemplo de componente: http://bit.ly/componente-ui5 Código Fonte: https://github.com/fabiopagoti/UI5-Example-Component