Entrevista – Ricardo Mansano (PO dos SmartClients e dos IDE’s)

Hoje dou início a uma nova série aqui no Terminal de Informação, uma série de entrevistas e bate papo envolvendo o universo TOTVS. O convidado de hoje é a lenda, Ricardo Mansano, um dos mestres envolvendo o mundo Protheus.

Acho que a primeira vez que entrei em contato com o Mansano, há muitos anos (quando eu ainda estava na TOTVS Bauru), foi por causa de uma ferramenta chamada Gaia que ele criou, que desenhava dialogs em AdvPL. Foi um excelente projeto, diga-se de passagem.

Hoje o TLPP está aí sendo o sucessor da AdvPL junto com PO-UI no front, e muitas das ideias e do desenvolvimento estão relacionadas ao Mansano.

Então sem mais delongas, curta a entrevista com o lendário Ricardo Mansano.


Daniel: Olá Mansano, primeiramente gostaria de agradecer a oportunidade e por ter aceitado o convite para essa entrevista. Antes de embarcar no mundo Protheus, você já tinha visto algum sistema ou linguagem parecida?
Mansano: Tudo bom Daniel? Na verdade eu que queria agradecer a oportunidade, me tornei uma referência por amar o que fazemos no Setor de Tecnologia, somos a única empresa Brasileira com linguagem proprietária, e é muito bacana e desafiador lidar com Plataforma.

Ao contrário de outros Dev’s muitas vezes não temos para quem pedir ajuda, nem mesmo ao Google ou ao Stackoverflow, mas apesar de todo suor, é algo apaixonante.

Falando rapidamente de mim, fui cliente da TOTVS por 3 anos e a 15 estou aqui batendo pregos. Hoje sou PO da interface Protheus/Logix, de nossas IDE’s, VSCode e Eclipse e das integrações feitas através do Smartclient, como Office ou integração com dispositivos.

Antes de entrar no mundo TOTVS eu programei vários anos em Clipper e na sequência Delphi, o qual até lecionei por dois anos, mas quiseram os deuses da tecnologia que “depois de velho” eu voltasse ao mundo Clipper, através do AdvPL/TLPP.

Daniel: Como foi o processo de desenvolvimento de um IDE baseado no Eclipse? Lembro do antigo ByYou Studio que depois virou o TDS, naquela época como foi a recepção dos analistas?

Mansano: Eu assumi o TDS-Eclipse quando ele já estava em vias de ser entregue, então não participei do desenvolvimento, ao contrário do VSCode que acompanhei e até ajudei em alguns pontos, e da IDE Delphi, que fui o último a cuidar de seu desenvolvimento.

A escolha do Eclipse foi de nosso então VP, o qual não vou citar nome por não ter como pedir permissão para tal, ele era do conselho da Eclipse, mas confesso que se a escolha fosse minha na ocasião, teria optado por uma IDE proprietária e multiplataforma.

Inclusive, só por curiosidade, o motivo que me levou ao Setor de Tecnologia foi o Gaia, a proposta que recebi era desenvolver o Visual AdvPL, mas com a mudança de rumos para o Eclipse esse projeto foi descontinuado e comecei a trabalhar no SmartClient.

Mansano (ao centro), junto com o pessoal do Código Fonte TV em um evento interno

Daniel: Ainda falando sobre a parte de IDE, a integração com o VSCode ficou show de bola. Você poderia nos contar um pouco como foi desenvolver a integração, e se existem recursos que vocês querem colocar ainda?

Mansano: Já havia uma extensão para o VSCode, e foi iniciativa própria do meu time iniciar uma do Setor de Tecnologia, que apoiei de pronto, usando nosso conhecimento na camada servidora do Protheus/Logix pudemos aprimorar os protocolos de comunicação e entregar um produto rápido e estável.

Recentemente liberamos o Monitor para o VSCode, uma solicitação desde a entrega do Monitor Electron e estamos em vias de entregar o Replay 2.0.

Para quem não conhece o Replay, ele tem a função de trazer a foto dos dados de uma ocorrência em um cliente, acelerando a investigação interna.

Daniel: O Smartclient também evoluiu, desde elementos visuais (como o uso de css), até atualmente usando Electron e recursos interessantes com FWCallApp. Na parte do front-end vimos uma grande evolução, mas devido aos inúmeros fontes e recursos legados, teve algo que dificultou nessa evolução?

Mansano: O legado é nosso “livro de cabeceira”, lidar com décadas de códigos e manter seu comportamento em todos nossos Clients é basicamente nossa rotina.

Sabemos que não há nada mais rápido que uma aplicação assembler, e esse é o caso do Smartclient Desktop (Qt), mas à muito também concluímos que não dava para fugir do mundo HTML.

A primeira solução foi o SmartClient HTML (tomcat), por volta de 2010, passando pelo SmartClient WebApp (nginx), em 2015, o TWebEngine (chromium), que é o motor usado por trás do FWCallApp, e culminando no SmartClient Electron, que junta o melhor de dois mundos, a renderização de páginas HTML com o acesso nativo ao dispositivo, algo impossível aos navegadores de mercado por questões de segurança.

Mansano no primeiro piquenique da pandemia com o filhão

Daniel: Muitos programadores estão entusiasmados com o PO-UI e o TLPP (inclusive eu – risos), existe alguma feature ou recurso que foi criado, que você pode nos antecipar?

Mansano: O PO-UI tem uma documentação muito rica ( https://po-ui.io/ ), e novos projetos devem sempre pensar nele como a primeira opção de interface.

Quanto ao TLPP, é algo que talvez não tenha ficado claro, ela não é uma nova linguagem, é o AdvPL sem algumas amarras que o legado nos trouxe, garantindo que pudéssemos evoluir sem pensar nas décadas de código que comentei lá atrás.

Coisas muito simples como a implementação de nomes longos sempre foram impeditivos para essa evolução, e agora com o TLPP podemos pensar além, sem interromper o que já está em operação.

Uma última informação interessante, se você simplesmente renomear um fonte de PRW para TLPP vai conseguir compilar e executar da mesma maneira.

No demais, sobre o TLPP também tem um ótima documentação, recomendo a leitura ( https://tdn.totvs.com/pages/viewpage.action?pageId=334340072 )

Daniel: Agora uma pergunta de um dos nossos internautas, o Súlivan Simões disse: “Com as novas tecnologias TL++ e PO-UI, qual será o futuro da AdvPL? Dialogs antigas precisarão ser migradas para PO-UI? Quanto a funções antigas que foram descontinuadas (como TMSPrinter para FWMSPrinter e MsNewGetDados para FWBrowse), como você enxerga o pessoal que ainda insiste em usar esses recursos obsoletos?”

Mansano: Vamos por partes:

O AdvPL/TLPP não corre risco de extinção se é essa a preocupação, ao contrário do que pensam muitos, o Protheus é uma Plataforma Backend, que tem uma interface padrão, mas ele pode ser consumido através de vários canais, como TCP, RPC, HTML, WS, Rest, Jobs, entre outros, o que viabilizou pensar em micro-serviços, usando entre outras interfaces a HTML.

A migração de novas interfaces não é simples, já não era em 1997 quando o Protheus nasceu, e lá atrás já se concluiu que era muito mais simples construir uma linguagem (AdvPL) do que pensar em simplesmente mudar tudo para outra plataforma, como Delphi por exemplo.

Para minha última resposta tenho duas frentes (de acordo com a minha visão):

1 – A migração, quando e se existir, terá que ser muito bem pensada pois levará em conta assumir uma mudança de comportamento à qual a TOTVS sempre evitou, principalmente para manter a operação de nossos clientes, pensando também no treinamento de seus usuários, algo caro e demorado.

Assim, sabemos que não será uma tarefa simples, acredito que iniciar a migração em novos produtos, que no decorrer do tempo irão substituir os antigos seja o mais seguro, reforçando que esta é a “minha” opinião.

2 – Quanto aos objetos obsoletos, dois casos que comenta, a FWMSPrinter e a FWBrowse já tem cerca de 10 anos, acho que isso é muito mais da postura de um Dev do que da cultura AdvPL em sí, eu mesmo sempre procurei por melhores maneiras de fazer algo, e acho que todo Dev tem essa obrigação, se não tem, deveria…

Mansano em reunião com a equipe em um café on-line

Daniel: E se algum jovem quiser te seguir em redes sociais, onde o pessoal te encontra?

Mansano: Confesso que por uma completa e total falta de tempo eu venho me afastando de todas as redes sociais, as atribuições de Liderança de vários produtos de TEC tem consumido meu tempo, e as atribuições de pai, o pouco tempo restante.

Tenho focado no TOTVS Developers Podcast ( https://developers.totvs.com/podcast/  )pois acredito no potencial da ferramenta para falarmos de vários assuntos, não apenas do mundo TOTVS, e quando tenho uma janela gosto de produzir vídeos, esses sim, focando em nossas tecnologias proprietárias.

A única rede que utilizo com frequência hoje é o Linkedin ( https://www.linkedin.com/in/mansano/ ), se bobear meu Insta e meu Facebook já foram cancelados, e eu nunca dei o valor que o Twitter merecia e hoje pago o preço, tendo uma rede insignificante nesta plataforma.

Daniel: Mansano, muito obrigado pela oportunidade e pela entrevista, você gostaria de dar algum recado para o pessoal que desenvolve em AdvPL?

Mansano: Já estou nessa vida a 32 anos, e me lembro de quando nós Dev’s éramos uma raridade, era muito difícil não ter com quem conversar a respeito de tecnologia.

Hoje somos muitos, com muitos canais para conversarmos, como este que estamos usando agora, isso trouxe todo um novo universo de possibilidades e conhecimento.

Mas meu recado final não é para o Dev AdvPL/TLPP, é para todos aqueles que gostam de tecnologia: Estudem, leiam, pesquisem, o mundo open-source é uma ferramenta riquíssima para aprimorar técnicas de desenvolvimento.

E não se esqueçam que com a integração que temos hoje no Protheus/Logix com o JS/HTML o céu é o limite para suas aplicações, o PO-UI, entre outros Frames, estão aí para te apoiar nessa jornada.

Quanto as vagas, fiquem sempre antenados no https://developers.totvs.com/ e no Linkedin, temos vagas e muito trabalho à frente, para continuarmos na vanguarda da tecnologia no Brasil e na América Latina.

Ufa! Acho que escrevi demais…

Espero ter contribuído com algo palpável aos leitores, e queria fechar agradecendo novamente a oportunidade.

Estudem sempre, não desistam nunca e mantenham-se seguros,

Forte abraço a todos!


E você, o que achou da entrevista? Deixe nos comentários.

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

10 Responses

  1. Daniel Gonçalves Jr. disse:

    Excelente entrevista, adorei. Sou seguidor do Mansano há muito, também o conheci com o GAIA. Parabéns.

  2. Israel Delgado Nicolau !!! disse:

    Show de bola….

  3. emebatista disse:

    Parabéns! Excelente entrevista, Dani! O Mansano é o cara!!!

  4. Luis Carlos Junior disse:

    Muito bacana Daniel, li um artigo seu tempos atrás dizendo que iria focar no ADVPL e no Protheus como um todo, agora vi que falava serio, novidades direto da fonte. Valeu!!

  5. Igor Pereira disse:

    Duas Lendas do mundo ADVPL, Mansanso e você Daniel, dois grandes mestres…

Deixe uma resposta para Dan_AtilioCancelar resposta

Terminal de Informação