Resenha- OpenSAP SAPUI5 – Semana 1 e 2

Acabo de submeter meu assignment da semana 2 do MOCC do OpenSAP Developing Web Apps with SAPUI5. Agora estou pronto para fazer minha resenha do treinamento até agora.

TL;DR

Se você já fez o walkthrough de SAPUI5 da própria SAP, muita coisa não será novidade. Mesmo para quem já fez o walkthrough será uma ótima revisão do assunto. Para quem não tem nenhuma experiência e quer aprender corretamente SAPUI5: OBRIGATÓRIO!!! Um dos MOCCs mais práticos que já fiz. Altamente recomendado.

Agora vamos aos comentários semana a semana.

Semana Zero

Assim como as listas em JavaScript começam com zero, esse treinamento também começa na semana zero. Essa semana é reservada para configuração do ambiente e revisão do JavaScript. Todo o treinamento pode ser feito usando ambientes fornecidos pela SAP gratuitamente. E não tem nenhuma pegadinha de ter que pagar Amazon ou Microsoft Cloud Services. Tudo é completamente gratuito.

Na unidade de revisão de JavaScript eles pedem para parar o vídeo e fazer o self-test para ver como está o seus conhecimentos de JavaScript. Como estou seguindo meu método de estudo, estou seguindo à risca todas as instruções, fiz o que eles disseram e descobri algumas deficiências no meu conhecimento em JavaScript. Fui comprometido o suficiente para ler toda a documentação daquelas questões que eu errei. Por isso tive que revisar closures, “this” e até funções precisou de uma refrescada.

Nessa semana também é mostrado como fazer a depuração de programas JavaScript e dicas de como usar a ferramenta de desenvolvedor do Chrome. Muito útil se é a primeira vez que você tem contato com isso. Um alerta, se você está acostumando com o quarteto F5–6–7–8, prepare-se para recarregar a sua página muitas vezes antes de se acostumar com F11.

Semana 1

Começamos a semana 1 com a introdução ao SAPUI5. Tomamos conhecimento de que as repostas dos exercícios estão num repositório público no Github como não poderia ser diferente.

Cabe também uma menção ao validador automático dos exercícios. Uma simples linha de código adicionada no index.html e que adiciona um botão para validar seu exercício. Adorei isso! A satisfação de completar um exercício é maior quanto você tem um feedback como o da figura abaixo:

Validador gente boa!

Validador gente boa!

Nessa introdução finalmente aprendi a diferença entre SAPUI5 e OpenUI5. Também é falado a motivação do SAPUI5, componentes do framework e suas fundações, como por exemplo HTML5, jQuery, CSS3 e JavaScript. Uma atenção também é dada ao Bootstrap, primeira coisa a ser entendida antes de sair usando o SAPUI5.

Nas unidades seguintes temos uma introdução aos componentes de UI, controles, modules e data model. Uma coisa que sempre me confundiu foi o porquê temos um componente App. A unidade 4 foi bem importante pois foi feito um overview dos arquivos que compõem a sua aplicação. Manifest.json. App.controller.js, Component.js. Metadata.xml. Todos eles possuem sua função é precisam ser entendidos corretamente.

A semana termina com Data Models e Internacionalização. Aqui outro conceito extremamente importante, o binding. Sem o correto entendimento disso você perderá horas ou dias tentando resolver problemas facilmente resolvidos simplesmente entendendo esse conceito.

Chegamos ao assignement final e como eu fui bem, posso dizer o meu resultado: 95%. Só não foi 100% porque eu errei uma coisa sobre os modos de binding. Aquele velho erro que todo estudante comete, não ler a questão com atenção.

Semana 2

A semana 2 é dedicada ao data binding.

Primeiro aprendemos o conceito de front-end e back-end. O SAP Gateway é apresentado com mais detalhes, bem como OData Model.

UI51_W2_OData model

Dois modos de bindings são mostrados, absoluto e relativo, bem como dois tipos possíveis: propriedade e agregação.

No final da unidade 1 dessa semana o conceito de herança do modelo é explicado. Isso é parte dos fundamentos do uso do SAPUI5. Considero que isso também precisa ser explicado.

No meu primeiro projeto em SAPUI5 que fiz, não usei XML Views. Puro preconceito. O resultado não foi outro. Coisas do controller na view e coisas da view no controller. Acabou ficando bem confuso. Por isso, binding expression não fazia muito sentido para mim. Depois que comecei a usar somente XML Views (aconselho a você fazer o mesmo) entendi o valor das expressions e formatters.

Uma das vantagens de se usar uma biblioteca ou framework é não necessidade de reinventar a roda. Na unidade 3 aprendemos a usar as conversões automáticas de tipos. Formatação de data, hora, valores monetários se tornam triviais. Coisa que já estamos acostumados no ABAP.

UI51_W2_Property and Aggregation

Na unidade 4 aprendemos a fazer filtros, buscas e agrupamentos. Mais uma vez, quando aprendemos a usar os recursos da biblioteca, coisas que poderiam ser uma bela dor de cabeça, tornam-se triviais. Mamão-com-açúcar!

A unidade 5 aprendemos como alterar um binding em tempo de execução. Muito importante quando queremos fazer um esquema de item-detalhe: quando clicados em um item, os detalhes desse item são apresentados em outro painel ou controle.

Fechando a semana, a unidade 6 somos introduzidos em umas das coisas que espero ser aprofundadas, relacionamentos entidades OData. Aquela velha história: se o seu modelo for bem estruturado, menos código deixará de ser escrito. Por consequência, menos erros para serem resolvidos (ou descobertos pelo usuário).

Na verdade a semana somente pode ser considerada fechada após a resolução do exercício bônus. Adorei a forma como foi proposta o exercício bônus. Apenas é mostrado o resultado final e se vira! A solução é fácil, mas como não tem a famosa “resposta do exercício” para você ir chorar, precisa resolver por sí mesmo. Bom fechamento para a semana.

UI51_W1_validador1

Achou mesmo que eu deixaria meu código aberto? 😉

Conclusão

Como eu disse, é um treinamento sem muitas novidades se você fez todos os 37 passos do walkthrough de SAPUI5 da própria SAP.

No entanto, você ainda pode aprender alguns truques novos, além de treinar seu inglês, pois os instrutores falam bem devagar.

Uma coisa que me agradou foi que os instrutores são da própria equipe do SAPUI5. Ou seja, são pessoas técnicas que realmente trabalham com UI5 diariamente. Interessante ver que eles estão escrevendo o código que eles realmente entendem. Claro que eles já haviam ensaiado antes da gravação, mas quando algo dá errado, eles rapidamente corrigem o erro, sem cortes.

Equipe de instrutures

Equipe de instrutures

No início da semana 2, a equipe do SAPUI5 ficou “on-line” no canal #OpenSAP do time SAPUI5 criado no Slack. Por falar em Slack, já tinha ouvido falar dessa ferramenta há muito tempo, mas nunca tinha tido oportunidade de usar e entendê-la. O que é legal do Slack é você tem acesso a todo o histórico do que foi compartilhado no time a partir do momento que você acessar o time.

You may also like...

8 Responses

  1. Felipe says:

    Bom dia!

    Estou fazendo o curso também e gostando bastante. Já trabalhei com web mas há 6 anos que estou focado só em abap e acabei esquecendo um monte de coisas.

    Uma pena que vejo pouco mercado (ainda) para nós aqui no Brasil com SAPUI5. Concorda?

    Abraços,
    Felipe

    • Flávio Furlan says:

      Olá Felipe,

      Isso pode ser agora. Lembre-se que estamos em uma crise e os projetos estão todos suspensos. Mas posso te afirmar, que vendo o que a SAP planeja com S/4HANA, terá muitos e muitos projetos SAPUI5. Pode estudar que não será tempo jogado fora 😉

      Abraços!

      • Eu também acredito que no momento o mercado é pouco mas com possibilidade de crescimento. Por isso vejo que o momento é para investir nesse aprendizado.Fiz esse curso inteiro e dei uma parada, agora estou retomando. Quem se dedicar agora vai ser referencia quando tiver muita demanda.

  2. Muitas vezes quando estou desenvolvendo coisas com UI5 sinto muita falta do AngularJS… Acredito que a SAP ao invés de tentar criar um novo FW poderia criar módulos para FW já existentes no mercado seja ele Angular, React, Meteor ou Ember….

    Mas em relação ao treinamento, ele está muito bom mesmo para que vem do ABAP…

    Vou esperar até que surja um ng-abap ou um ng-sap. Se até lá ainda não tenham criado nada do tipo, penso em criar um projeto para isso.

    • Flávio Furlan says:

      A SAP precisa garantir uma série de coisas para seus clientes, como retro-compatibilidade, segurança etc. Para a SAP adotar um FW aberto, este precisa ser algo já bem consolidado no mercado. Veja o exemplo do NODE.js e jQuery.

      Minha opinião é que ela não deve ter sentido essa maturidade com Angular, React etc. por isso a não adoção desses.

  1. June 28, 2016

    […] as duas primeiras semanas foram bem parecidas com o walkthrough, posso dizer que as duas últimas foram diferentes. Minha […]

  2. August 18, 2016

    […] OpenSAP de UI5 – Post1 e Post2 do ABAP101 sobre o […]