← Voltar ao blogue

Por que razão a ToolBerry utiliza uma verdadeira base de dados no seu telemóvel

O mesmo motor que um banco utiliza, adaptado ao dispositivo que tem no bolso.

27 de maio de 2026 atualizado

O mesmo motor que um banco utiliza, adaptado ao dispositivo que tem no bolso.

O ToolBerry executa uma verdadeira base de dados SQLite no seu telemóvel, não um ficheiro ou uma folha de cálculo. Fizemos essa escolha porque um negócio de serviços no terreno não é uma lista, é uma rede de ligações, e só uma base de dados consegue responder a perguntas ao longo dessa rede em milésimos de segundo, mesmo quando tem anos de dados acumulados. Eis o que isto lhe proporciona.


Porque não limitar-se a guardar um ficheiro?

O Manuel gere uma empresa de climatização com cinco camiões nos arredores de Phoenix. Após dois anos a utilizar uma aplicação do tipo «notas», aceder aos dados de um cliente habitual demorava quatro segundos a carregar. Multiplique isso por quarenta consultas por dia e a ferramenta começa a prejudicá-lo.

Essa é a armadilha da abordagem óbvia. A forma mais fácil de criar uma aplicação offline é descarregar os dados para um ficheiro: uma lista de clientes, uma lista de trabalhos, gravadas na memória do dispositivo. Funciona, e muitas aplicações fazem isso. Mas desmorona-se no momento em que o seu negócio se torna sério.

Um negócio de serviços no terreno é uma rede de ligações. Os clientes têm vários locais. Os locais têm equipamento. O equipamento tem um histórico de manutenção. O histórico de manutenção está ligado às faturas, e as faturas estão ligadas aos pagamentos. A pergunta «mostra-me todos os trabalhos no armazém norte deste cliente nos últimos doze meses, com os totais» não é uma simples pesquisa numa lista. É uma consulta que atravessa cinco ou seis dessas ligações de uma só vez.

Se os seus dados forem apenas um ficheiro, cada pergunta como essa implica carregar o ficheiro inteiro e organizá-lo manualmente. Isso funciona bem com dez clientes. Com algumas centenas e anos de histórico, a aplicação começa a ficar lenta.

Uma verdadeira base de dados foi concebida precisamente para isto. Ela indexa as ligações e responde a essas perguntas em milésimos de segundo, quer tenha dez clientes ou cinquenta mil.


O que é que ganha, na verdade?

Provavelmente não pensas na tua base de dados enquanto usas a aplicação. É essa a ideia. Eis onde ela se faz sentir no teu dia-a-dia:

Histórico que carrega instantaneamente. Basta tocar num cliente e todo o seu histórico de trabalhos aparece sem ícones de carregamento nem o truque de «a carregar itens mais antigos». Os dados já estão indexados, pelo que aceder a eles é praticamente gratuito. Nos nossos próprios testes realizados em junho de 2026 numa base de dados com 10 000 registos, uma consulta ao histórico ordenado foi respondida em cerca de 5 milissegundos - e mantém-se assim tão rápida, quer tenha dez clientes ou cinquenta mil.

Relatórios que respondem instantaneamente. «O que faturei neste trimestre?» «Quais são os clientes que não contactam há mais de um ano?» «Quanto gastei em peças no mês passado?» Estas não são funcionalidades que adicionámos à pressa. São apenas perguntas a que a base de dados responde porque sabe como tudo se interliga - em milissegundos, não em segundos.

Uma aplicação com a qual cresce, não da qual se cansa. Muitas ferramentas para pequenas empresas parecem ágeis no início, mas ficam lentas assim que lhes introduz dados reais. Utilizamos a mesma arquitetura que alimenta ferramentas que lidam com conjuntos de dados enormes, adaptada para um único utilizador. A velocidade que sente no primeiro dia é a mesma que sentirá daqui a três anos.


O mesmo motor em todos os dispositivos

Uma nota para os curiosos: o motor que utilizamos é o SQLite, a base de dados mais amplamente implementada no mundo, com mais de 1 trilião de bases de dados em uso ativo. Já está a funcionar no seu telemóvel, no seu navegador, na sua televisão e na maioria das aplicações que utiliza diariamente. Foi lançado pela primeira vez em 2000, pelo que conta com 25 anos de aperfeiçoamento, e é testado de acordo com normas de aviação, com 100% de cobertura de ramos. Os aviões voam com ele. Os bancos efetuam as suas liquidações com ele.

Executamo-lo em iPhones, telemóveis Android e em navegadores de computador: o mesmo motor e o mesmo formato de dados nos três. Quer abra o ToolBerry no telemóvel do seu camião ou num portátil no escritório, é a mesma coisa por baixo do capô. Nada é traduzido, nada é reformulado.

A abordagem do navegador é a mais complexa do ponto de vista técnico, e iremos abordar esse tema separadamente para os leitores interessados nesse aspeto. Para todos os outros, a conclusão é simples. Trata-se do mesmo motor comprovado que já equipa o dispositivo que tem no bolso, utilizado da forma como foi concebido para ser utilizado.


As vantagens e desvantagens honestas

Tentamos ser claros quanto ao custo de cada escolha de arquitetura que fazemos. Eis os custos desta:

A aplicação é alguns megabytes maior. Fornecemos um motor de base de dados, não apenas um cliente leve. Sente-se isso uma vez, na instalação, e nunca mais. Numa ligação moderna, são apenas alguns segundos adicionais.

Algumas coisas pertencem genuinamente a um servidor. Relatórios interempresariais, visualizações de despacho que abrangem várias empresas, coordenação em tempo real numa equipa de grande dimensão: uma base de dados local no telemóvel não foi concebida para isso. Somos honestos quanto a isso e criamos funcionalidades apoiadas por servidor para os casos em que são necessárias.

Isto altera a forma como lançamos atualizações. Quando a estrutura de dados em milhões de dispositivos precisa de evoluir, não existe uma base de dados central que possamos migrar num fim de semana. Cada atualização tem de transferir os seus dados com cuidado. Trata-se de um custo de engenharia real, mas é um problema nosso para resolver, não seu.


O que isto significa para si

Não precisa de se preocupar com nada disto. Esse é o verdadeiro objetivo. Mas da próxima vez que o histórico carregar instantaneamente e a aplicação continuar rápida à medida que o seu negócio cresce, não é magia. É uma base de dados real a fazer aquilo em que as bases de dados reais são boas, a funcionar no dispositivo que tem na mão.

É também por isso que tanto do resto é sequer possível. O modelo de preços «grátis para sempre» funciona porque a base de dados reside no teu dispositivo, e não nos nossos servidores. O «offline-first» funciona porque a base de dados não precisa de rede. O backup «traz o teu próprio armazenamento» funciona porque há um único ficheiro bem definido para fazer o backup. Tudo isto decorre desta única decisão.

Não é a parte mais vistosa do produto. É a base sobre a qual tudo o resto assenta.


Tem alguma dúvida?

Está curioso para saber como isto funciona na sua situação, ou conhece um colega programador que queira aprofundar-se na arquitetura «local-first»? Contacte-nos através do e-mail contact@toolberry.net.


Leitura adicional

Partilhar
XLinkedIn