TOTVS HTML Framework - Um projeto Angular Tupiniquim (Um breve relato)

Jhosef Marks
TOTVS Developers
Published in
5 min readJan 4, 2019

Olá mundo!

Voltei a trabalhar na Totvs há 4 anos e praticamente dediquei esses anos inteiros na criação e manutenção do THF, um framework para desenvolvimento de aplicações web, um projeto Tupiniquim, 100% brasileiro e que em breve será aberto a todos.

Mas afinal, por que criar mais um framework com tantos outros no mercado?

Para dar mais contexto ao por que das coisas é importante entender que a Totvs nasceu com a fusão da Microsiga e a Logocenter e mais tarde cresceu com a aquisição de outras grandes empresas como a Datasul, RM Sistemas, Bematech e muitas outras, com isso não existia uma identidade única para a empresa e a experiência do usuário não era das melhores já que muitas vezes precisava navegar entre as muitas soluções que a Totvs ofertava.

Essas soluções variavam desde a tecnologia até a metodologia utilizada para desenvolvimento e entrega da solução.

Resumindo: para o cliente era um caos.

A Totvs precisava de uma solução que:

  • acelerasse o desenvolvimento web dos times de segmento;
  • ajudasse na conversão das soluções desktop para soluções web;
  • possibilitasse que as soluções Totvs rodassem em Cloud;
  • deixasse os produtos mais modernos;
  • trouxesse inovação a empresa;
  • criasse uma identidade única para os produtos da Totvs; e
  • o desafio mais difícil de todos, ser colaborativo dentro da empresa, um projeto sem dono, onde todos pudessem contribuir.

E tudo isso no menor tempo possível e reaproveitando o máximo do que já existia dentro da companhia de código legado.

No mercado não existia algo focado em produtos corporativos com alta produtividade e qualidade, as soluções existentes eram complexas para iniciantes se aventurarem no desenvolvimento web, ou permitiam uma customização limitada, as que se aproximavam do que necessitávamos eram pagas (e bem pagas) e ficaríamos dependentes de mais um fornecedor.

Pelos desafios, por esses pré-requisitos e pela dificuldade de achar algo pronto que se encaixasse a nossa necessidade, foi que decidimos fazer nosso próprio framework.

Esqueci de comentar, mas é importante saber também que a maioria dos times estava iniciando no desenvolvimento web, a maioria esmagadora vinha de tecnologias mais “maduras” 😜, muitos nem conheciam o básico do HTML.

Eu inclusive, vim do Delphi, mas isso é papo para outro dia.

O início de tudo

Na época o que tinha de mais moderno para desenvolvimento web era o falecido Angular.JS (que Deus o tenha) e o Bootstrap, então foram usados como base para o nosso framework.

As bibliotecas de componentes para Angular.JS (entre outras tecnologias) não eram tão produtivas quanto a Totvs precisava, sem contar que para as soluções finais (produto do segmento) muito código acabava ficando repetitivo e complexo por mais simplificada que a biblioteca tentasse ser, sem contar que por ter muitos times de desenvolvimento era difícil padronizar o uso para todos.

Pensando nisso, a Totvs iniciou o desenvolvimento do TOTVS HTML Framework, conhecido também pelos mais íntimos como THF, com poucos desenvolvedores, sem um time focado exclusivamente para esse fim.

Assim, em meados de 2015, nasceu a primeira versão do THF.

Portal da documentação da versão do THF com Angular.JS.

Com vários problemas, e até alguns bugs (quem nunca), com descrença de alguns, aos trancos e barrancos, mas com amor e lágrimas, foi usado por muitos e odiado por outros, mas essa foi nossa primeira versão do THF.

O suporte oficial para esse framework foi até 31/12/2018, o último patch lançado foi na versão 12.1.17-fix013, hoje, o mesmo encontra-se depreciado, mas serviu de base para vários produtos da Totvs.

Link oficial: https://thf.totvs.com.br/12.1.17

Com mais ou menos 1 ano de vida, já no inicio de 2016, conseguimos formar um time dedicado com 4 desenvolvedores (1 coordenador), que foi essencial para dar maturidade e estabilidade ao THF.

Mas para evoluir precisamos crescer e mudar

Photo by Ross Findon on Unsplash

Entre o 1º e 2º trimestres de 2017, o THF expandiu para um time bem maior e lançou uma nova versão do THF baseada no novo framework do Google, na época, o Angular 4 não tinha nenhuma compatibilidade com o Angular.JS.

Sim, tivemos problemas de incompatibilidade, já que adotamos outro framework nessa nova fase, mas compramos a briga e trouxemos inúmeras vantagens e melhorias para os desenvolvedores:

  • mais produtividade, componentes bem mais inteligentes;
  • mais simplicidade para desenvolver, bem menos código;
  • um ambiente muito mais estável com menos bugs e retrocessos, 98% de coverage;
  • setup mais simples para iniciantes;
  • uma interface muito mais moderna, projetada em conjunto com o time de UX da Totvs;
  • documentação viva, atualizada a cada nova entrega; e
  • exemplos, muitos exemplos para facilitar a vida de quem está iniciando.

Nosso portal de documentação foi remodelado, reescrito com o próprio THF, adotamos metodologias modernas e passamos a fazer entregas semanais.

Portal da documentação oficial do THF.

Atualmente o THF está na versão 3.1.0, está publicado no NPM e tem atualizações semanais. Sua documentação é pública e encontra-se no link http://thf.totvs.com.br.

Algumas das lições aprendidas no decorrer desses 4 anos

Aprendemos muito sobre como fazer um produto, um framework:

  • que atender a todos da melhor forma possível, se colocando no lugar dos desenvolvedores (usuários) e entendendo suas dores de perto, é a melhor política para resolver um conflito / problema;
  • que documentação é tão ou mais importante que os componentes que você entrega;
  • que o suporte e a comunicação com os desenvolvedores é tão ou mais importante quanto a entrega de uma nova release;
  • que testes (unitários, integrados, etc) são essenciais para que a evolução do seu projeto não diminua a qualidade da entrega;
  • que boas práticas são o caminho mais curto para se chegar a excelência;
  • que sem criatividade e sem curiosidade você só faz mais do mesmo;
  • que liberdade para testar novos caminhos e propor novas soluções é diferente de libertinagem e irresponsabilidade; e
  • que inovar é uma arte.

Se você gostou ou se interessou pelo projeto, não deixe de visitar o portal com a documentação oficial e participar do fórum para desenvolvedores da Totvs, é aberto e qualquer pessoa é bem vinda.

Em breve estarei postando artigos mais técnicos sobre o THF e como explorar melhor o seu potencial.

Aquele abraço!!!

Jhosef Marks de Carvalho

--

--

Jhosef Marks
TOTVS Developers

Desenvolvedor por vocação, e front end por opção. Projeto atual: http://thf.totvs.com.br