Os desenvolvedores de uma certa idade estão acostumados a iniciar sua jornada de desenvolvimento de aplicativos escolhendo um sistema operacional. Os desenvolvedores mais jovens, por outro lado, podem começar escolhendo uma nuvem. Uma das vozes mais respeitadas da tecnologia sugere um ponto de partida diferente, que concentra a atenção no componente mais importante da pilha de aplicativos: o banco de dados. Como luminar Kelsey Hightower escreve“No início cometi o erro de focar apenas nos sistemas operacionais e ignorei o que hoje considero o elemento mais importante da computação: os dados.”

Ele não está sozinho. O fundador do Gatsby.js, Kyle Mathews, alcançou conclusões semelhantes: “Mudei 100% para (banco de dados) primeiro durante a prototipagem.” Em um mundo onde os dados são o coração da experiência do usuário, faz sentido adotar uma abordagem que prioriza os dados, em vez de escolher uma estrutura de linguagem, por exemplo, e usar quaisquer bancos de dados que venham com ela. No entanto, essa abordagem pode ser mais fácil de falar do que fazer para alguns, o que torna as plataformas de API em nuvem como o Neurelo um bom caminho para desenvolvedores que desejam colocar o banco de dados em primeiro lugar, mas podem não saber como.

Dados, dados, em qualquer lugar

A grande novidade de todas as recentes chamadas sobre ganhos na nuvem é a IA e como ela impulsiona o consumo de serviços em nuvem. (Veja todas as menções à IA na última teleconferência de resultados da Microsoft.) No coração da IA, é claro, estão os dados. Muitos e muitos dados. Desde que começamos a chamá-lo de “big data”, os dados impulsionaram a adoção e o uso da nuvem.

Isto é verdade independentemente do nome que lhe atribuímos ou das tecnologias que utilizamos para armazená-lo e processá-lo. Como mostram as tendências recentes da O’Reilly, mesmo que tecnologias como Apache Hadoop, Apache Spark e data warehouses mostrem declínios no interesse (sendo tecnologias “legadas”), o interesse em dados continua crescendo. Curiosamente, O’Reilly vê bancos de dados especializados, como bancos de dados vetoriais independentes, como permanecendo relativamente como um nicho, mesmo que bancos de dados de uso geral, como o MySQL, adicionem recursos vetoriais e continuem a crescer.

Este fluxo nas tecnologias de dados torna ainda mais difícil para os desenvolvedores acompanhar o ritmo, tendo que aprender constantemente novas tecnologias ou novas maneiras de usar tecnologias antigas. No entanto, desenvolvedores como Hightower sugerem que é hora de fazer dos dados a primeira escolha na pilha de tecnologia, e não uma reflexão tardia.

Para Hightower, uma maneira de remova a complexidade de um foco de banco de dados é começar de forma simples com SQLite, em vez de um banco de dados mais complicado como o MySQL. Como ele diz, prefere “aprender os fundamentos dos dados e como gerenciá-los”. Em outras palavras, “prefiro gastar tempo aprendendo SQL, não como administrar um servidor de banco de dados, que é uma habilidade útil, mas representa uma enorme barreira de entrada”. A facilidade do SQLite, concorda o desenvolvedor Simon Willisoné que “você não precisa executar um servidor e não precisa descobrir a autenticação”.

Essa é uma abordagem para desenvolvedores novos em bancos de dados, mas não é a única. Os chamados bancos de dados NoSQL podem ser mais acessíveis aos desenvolvedores. Uma das razões pelas quais os desenvolvedores amam o MongoDB é que ele mapeia de perto a programação orientada a objetos que os desenvolvedores já conhecem, em vez de fazê-los usar ORMs (mapeadores objeto-relacionais) para inserir seus dados em um modelo relacional. (Divulgação: eu trabalho para o MongoDB.) Outra opção é o Supabase, que fornece PostgreSQL gerenciado para permitir que os desenvolvedores gastem menos tempo se preocupando com as operações do banco de dados.

E se você não quiser pensar muito sobre o banco de dados? Bem, Neurelo pode ser sua resposta.

Lutando contra o ‘mal necessário’

Neurelo oferece uma plataforma de abstração de banco de dados que permite aos desenvolvedores trabalhar com um banco de dados sem ter que construir consultas SQL complicadas para criar, recuperar, atualizar ou excluir registros (CRUD) em bancos de dados relacionais como PostgreSQL ou MySQL ou para construir consultas usando a API de consulta MongoDB para MongoDB. Em vez disso, o Neurelo gera automaticamente APIs que criam endpoints REST e GraphQL diretamente dos modelos de dados e esquemas dos desenvolvedores.

Este é o cerne de como a Neurelo luta contra o “mal necessário” dos ORMs que os desenvolvedores presumiram que deveriam abraçar, como disse o cofundador e CEO da Neurelo, Chirag Shah, em uma entrevista. “É uma batalha difícil” trabalhar com um ORM, explica ele. “Você tem que passar por um monte de coisas, criar esses equipamentos e mantê-los, porque sempre que seu esquema muda ou seus requisitos mudam, você precisa recalibrar tudo.”

É uma dor. Mas há esperança.

Os ORMs tradicionais obscurecem a camada SQL, mas o Neurelo oferece visibilidade total da consulta, como observa a empresa em seu site. Os desenvolvedores podem inspecionar e melhorar as interações com o banco de dados à medida que seu nível de conforto com o banco de dados aumenta. Neurelo também ajuda a resolver o problema “N+1” de um ORM, em que o banco de dados faz consultas em loop, multiplicando desnecessariamente o número de viagens de ida e volta ao banco de dados. Neurelo combate isso usando carregamento antecipado, que recupera dados relacionados em uma única consulta usando junções. Isso minimiza o número de consultas que atingem o banco de dados e melhora o desempenho. Neurelo também vai além das operações básicas de CRUD para oferecer tarefas avançadas de leitura/gravação de junção que abrangem várias entidades.

Dessas e de outras maneiras, o Neurelo permite que desenvolvedores – sejam eles novos ou experientes em bancos de dados – gastem menos tempo descobrindo como trabalhar com seu banco de dados e mais tempo escrevendo seus aplicativos. “Você praticamente consegue tudo instantaneamente”, argumenta Shah, “e não precisa levantar um dedo”. Em vez de horas ou semanas, “você vai do zero até escrever seu código em minutos”.

Isto nos traz de volta à avaliação de Hightower de que os dados deveriam ser a primeira preocupação do desenvolvedor. Se ele estiver certo, ferramentas como o Neurelo podem tornar essa primeira preocupação menos… preocupante, sem todas as compensações que os ORMs impõem ou a conexão de código que o uso de um driver de banco de dados pode criar. É uma forma de manter os dados no centro de um aplicativo e muito mais acessíveis para os desenvolvedores.