Linguagem Flutter

4 de abril de 2023

cesla

por Felipe Silva
Tech Lead Cesla

Líder no desenvolvimento de sistemas para Safety 4.0, o Cesla está passando por um processo de transformação e justamente com este momento, está realizando ajustes e melhorias diariamente para oferecer a melhor experiência possível para nossos clientes. Desde 2021, o Cesla optou em adotar a linguagem Flutter como sua principal plataforma de desenvolvimento de aplicativos móveis híbridos e web. Mas antes, contextualizaremos sobre o que utilizamos, desafios e o porquê desta escolha.

A PLATAFORMA CESLA

O Cesla é uma plataforma voltada ao mercado de Segurança do trabalho de segurança com vistas para a indústria 4.0. Nossa plataforma foi desenvolvida por uma equipe de engenharia de risco com mais de 20 anos de experiência no mercado nacional e internacional de segurança e emergência, baseado nas “dores operacionais” vividas diariamente na indústria, tais como excesso de papel, perda de tempo operacional dos envolvidos, guarda e conservação de documentos e constantes quebras de compliance (www.cesla.ind.br). 

Nossas soluções possibilitam uma gestão eficaz da segurança nas empresas onde atua, contribuindo significativamente para aumento de produtividade e garantias de compliance, comportamento seguro e sustentabilidade.

Nossos produtos:

  • APR (Análise Preliminar de Risco) e PTs (Permissões de Trabalho) Eletrônicas. 
  • Inspeções e Checklist 
  • Hive: Gestão de Contratados (Terceiros) 
  • Reports de Incidentes e Desvios Comportamentais 
  • Loto (Lockout & Tagout) 
  • Gestão de Espaços Confinados e Áreas Restritas
  • Gestão de Treinamentos (Presencial e e-learning) 
  • Controles de EPIs, EPCs e Ferramentas 
  • PAE (Plano de Atendimento a Emergência) 
  • Gestão Projetos

Para a construção desses produtos, contamos com uma equipe técnica com um alto conhecimento do que melhor se encaixa entre tecnologia e negócio. Com base em processos estruturados, após a ideação e mapeamento do que o produto irá conter ( https://cesla.ind.br/afinal-o-que-e-lean-inception/) vamos para a fase da escolha da tecnologia. E para isso, fazemos um processo de P&D (Pesquisa e desenvolvimento), onde reunimos nossa equipe para avaliar algumas características das tecnologias que melhores se encaixam para resolver determinado problema. 

Algumas dessas características são:

  • Quantos conteúdos existem sobre esta tecnologia?
  • Como está a aceitação desta tecnologia por outras empresas?
  • Existem fóruns e discussões sobre?
  • Qual seria a curva de aprendizado em relação aos colaboradores que temos hoje?
  • Vamos precisar de ajuda externa?
  • Existe uma empresa ou organização por trás da tecnologia?
  • Existe uma boa documentação oficial?
  • Existem alguns cases de sucesso?
  • Há profissionais com facilidade no mercado?

Precisamos encontrar respostas para essas e outras perguntas para garantir que nossa escolha técnica seja mais assertiva.

Aqui, algumas das tecnologias que usamos em nossos produtos:

IONIC

https://ionicframework.com/

  • Permite desenvolver aplicativos móveis multiplataforma (iOS, Android e Windows) com apenas um código-fonte
  • Utiliza tecnologias web comuns (HTML, CSS e JavaScript) para o desenvolvimento, o que facilita o aprendizado e a contratação de desenvolvedores
  • Possui uma grande comunidade e uma grande quantidade de recursos e documentação disponíveis

PHP

https://www.php.net/

  • Amplamente utilizado e com uma grande comunidade, o que garante uma grande quantidade de recursos e documentação disponíveis.
  • Possibilita a criação de aplicações web completas, incluindo back-end, front-end e banco de dados.
  • Possibilita o uso de diversas bibliotecas e frameworks, o que facilita o desenvolvimento.

DESAFIOS

Alguns anos se passaram e então outros desafios surgiram. No ponto de vista técnico, nos deparamos com o seguinte:

  • Desenvolvimento de aplicativos multiplataforma
    Precisávamos atender a este requisito, pois os clientes queriam acessar as nossas soluções no Android/IOS e alguns na Web.
  • Interface de usuário atraente e animada
    Entendemos que os usuários gostariam de uma interface mais amigável e intuitiva.
  • Produtividade do desenvolvedor
    Nosso time técnico já relatava dificuldades na manutenção dos sistemas por N motivos, um deles era a atualização de bibliotecas, onde facilmente causavam erros e problemas inesperados.
  • Testes e depuração
    Precisávamos de algo mais prático para construção de testes automatizados e indicadores para auxiliar na correção de bugs.
  • Performance
    Nossos usuários relatavam problemas de performance em aparelhos mais modestos bem como grande quantidade de usuários sincronizando em horários específicos.
  • Operação parte off-line

Operação parte off-line e os desafios de sincronização com internet de baixa      qualidade;

APIs com outros sistemas

  • Interfaces com outros ERPs de mercado facilitando a integração com recursos humanos, OMs de manutenção, controles de acesso, AD (Active Directory);

O FLUTTER

Flutter (https://flutter.dev/) é uma ferramenta que permite criar aplicativos para smartphones (Android e iOS) e outros dispositivos móveis. Ele é desenvolvido pela Google e permite que os desenvolvedores criem aplicativos com uma única base de código, o que significa que você pode criar um aplicativo e usá-lo tanto para iPhone quanto no Android. Ele também permite criar interfaces de usuário atraentes e animadas, tornando os aplicativos mais interativos e fáceis de usar. 

Em resumo, o Flutter é uma ferramenta que ajuda as empresas e desenvolvedores a criar aplicativos móveis de alta qualidade, bonitos e que funcionam em diferentes plataformas.

O Flutter tem ganhado popularidade entre os desenvolvedores devido a sua facilidade de uso, desempenho e capacidade de criar interfaces agradáveis para os usuários.

[Uma explicação em vídeo bem legal]

Flutter // Dicionário do Programador

[Se você quiser aprender, por que não?]

A Primeira Aula de Flutter Que Todo Mundo Deveria Ter

QUEM USA FLUTTER

Aposto que você tem algum desses aplicativos instalados no seu celular:

  • Google (sim, o próprio criador usa o produto - Google Ads é um deles)
  • IFood
  • Nubank
  • Quinto Andar
  • Carteira digital de trânsito
  • XP Investimentos
  • Will Bank
  • Banco BV

OS BENEFÍCIOS DA UTILIZAÇÃO DO FLUTTER NO CESLA

O Cesla decidiu utilizar o Flutter devido aos seus benefícios em relação às outras tecnologias que já vinha utilizando. Uma das principais vantagens é a rapidez de desenvolvimento, já que o Flutter possibilita criar aplicativos móveis e web usando a mesma base de código, reduzindo assim o tempo de desenvolvimento. Isso foi especialmente importante para o Cesla, já que a empresa tem um grande número de projetos em andamento e precisava de uma plataforma que permitisse desenvolver esses projetos de forma rápida e eficiente.

Outra vantagem do Flutter é a sua facilidade de manutenção. O Cesla já vinha utilizando outras tecnologias como o React, o PHP e o Ionic, e os desenvolvedores relatavam dificuldades na manutenção desses sistemas. Com o Flutter, essas dificuldades foram praticamente eliminadas, já que a plataforma possui uma estrutura simples e intuitiva, facilitando assim a manutenção dos sistemas.

Outro benefício obtido pelo Cesla com a implantação do Flutter é a possibilidade de integrar sistemas com IoT (Internet of Things) de forma mais fácil e rápida. Isso foi possível devido ao fato de o Flutter possuir suporte nativo para dispositivos móveis e web, facilitando assim a integração de sistemas com IoT. Isso foi especialmente importante para a plataforma Cesla, já que a empresa está sempre em busca de novas tecnologias.

O desempenho do Flutter também foi comparado positivamente com outras tecnologias, como React, PHP e Ionic. O Flutter apresentou melhores taxas de atualização de tela e tempo de resposta mais rápido do que React, e sua facilidade de uso e capacidade de desenvolvimento de aplicativos web foram superiores ao PHP. Além disso, o Flutter foi capaz de oferecer uma melhor performance e capacidade de integração com IoT do que Ionic.

Assim, além dos benefícios mencionados, os Clientes Cesla irão se beneficiar de sistemas mais user-friendly e modernos, além de uma cadência maior de colocação de novas features nos produtos.

CONCLUSÃO

Atualmente, estamos bastante satisfeitos com a escolha do Flutter para novos projetos refletindo diretamente no momento de transformação do Cesla. Colheremos muitos benefícios dessa escolha e estamos cientes dos possíveis desafios que ela pode trazer.

Uma coisa é certa: mantemos uma mentalidade aberta para aprender e evoluir constantemente.