KNOWCODE Desenvolvimento de Software Ltda.
Na última década houve um incrível avanço nas técnicas, ferramentas e tecnologias de desenvolvimento de sistemas embarcados (embedded systems), ou seja, este avanço tem proporcionado novos cenários e serviços de auxílio a várias atividades cotidianas e profissionais em diversos setores. Com isso, o aumento significativo nas capacidades dos sistemas embarcados e seus custos acessíveis devem criar um paradigma completamente novo na próxima década.
O mercado de dispositivos móveis possui muitas ferramentas para abstrair o desenvolvimento de aplicativos, mas poucas empresas buscam otimizar o desenvolvimento de aplicativos para sistemas embarcados, principalmente por ser uma tarefa realmente complexa: vários fabricantes de hardware, diferentes tipos de processadores, sensores e aplicabilidade (setor automotivo, eletrodomésticos, assistência médica e outros) torna o processo de desenvolvimento de aplicativos não padronizado. Tornando assim, o processo ainda mais difícil quando o custo do hardware é uma restrição, principalmente em projetos com hardware de baixo custo.
Portanto, devido a todas essas restrições em sistemas embarcados, a portabilidade e a independência da plataforma se tornam o principal desafio, principalmente para a programação de interface gráfica no design do sistema. Atualmente, as grandes empresas têm acesso a especialistas, mas as empresas pequenas e também os entusiastas muitas vezes não têm desenvolvedores suficientemente instruídos com conhecimento especializado nesta área de interface gráfica para sistemas embarcados. Portanto, eles enfrentam grandes problemas ao projetar um sistema embarcado com telas e interface gráfica por conta própria, mesmo que as tarefas sejam simples.
Existem alguns kits de ferramentas GUI (Graphical User Interface) para sistemas embarcados que foram desenvolvidos para tentar resolver este problema. Os principais são: Qt e Electron.
O Qt é, atualmente, o mais forte do mercado, fornecendo um kit de desenvolvimento GUI que usa a linguagem de programação C / C ++, porém, com um alto custo de licenças para uso comercial. Como usa a linguagem de programação C/C++, ele também torna o processo de desenvolvimento mais complexo.
Já o Electron abstrai a complexidade da criação da GUI usando JavaScript. Este kit têm uma comunidade de usuários e colaboradores com o objetivo de facilitar o processo de desenvolvimento de aplicativos para sistemas embarcados. Mas, como é uma tecnologia baseada em tecnologia Web, ela não consegue atingir um nível de desempenho satisfatório em hardware de sistemas embarcados de baixo custo (low-end), um grande mercado que o TotalCross pretende atingir.
Portanto, a inovação que a TotalCross está oferecendo aos desenvolvedores de sistemas embarcados é a combinação dos principais pontos fortes do Qt e Electron, ou seja, alto desempenho, fácil de usar e mais acessível para os desenvolvedores.
A proposta deste projeto é evoluir a TotalCross, visando melhorar a experiência do usuário (UX) de sistemas embarcados fornecendo um conjunto de ferramentas para os desenvolvedores, que auxiliarão na criação de aplicativos com interface gráfica (GUI) para sistemas embarcados de baixo custo (low-end), aumentando a produtividade do desenvolvedor, buscando soluções com melhor qualidade para seus usuários. Mais especificamente, para o aumento de produtividade, a TotalCross pretende concluir o KnowCode AI (já está em um estado avançado de desenvolvimento), uma tecnologia própria que utiliza inteligência artificial, aprendizado de máquina e visão computacional para gerar código de interface gráfica a partir de um design, que visa reduzir em 80% o tempo de desenvolvimento de interfaces gráficas.