En d’autres termes, c’est une base de données SQL open source pour JavaScript avec un fort accent sur la vitesse de recherche et la flexibilité de la source de données pour les données relationnelles et des données sans schéma. Cela fonctionne dans le navigateur Web, Node.js et les applications mobiles. Même si certains accusent le langage d’être à la base de la lenteur ou de nombreux autres problèmes des sitew Web, il ne cesse d’être développé et apporte toujours de solutions nouvelles comme cette fois-ci. L’équipe éditrice de AlaSQL.js indique s’être concentrée principalement sur la rapidité ainsi que la flexibilité de la solution.
« Nous nous concentrons sur la rapidité en tirant parti de la nature dynamique de JavaScript lors de la création de requêtes. Les solutions du monde réel exigent de la flexibilité quant à l’origine et au stockage des données. Nous mettons l'accent sur la flexibilité en veillant à ce que vous pouvez importer/exporter et interroger directement des données stockées dans Excel (dans les fichiers .xls et ceux .xlsx) ou dans d’autres formats tels que CSV, JSON, TAB, IndexedDB, LocalStorage et fichiers SQLite », a-t-elle expliqué.
AlaSQL est une jeune bibliothèque SQL conçue pour permettre aux développeurs de traiter rapidement des données SQL en mémoire pour les applications BI et ERP sur les clients lourds. Il est compatible avec les principaux navigateurs, Node.js et les applications mobiles. D’après l’équipe, la bibliothèque ajoute le confort d'un moteur de base de données complet à une application JavaScript, et rassure qu’elle travaille sur un moteur de base de données complet qui sera conforme à la plupart des langages SQL-99 agrémenté d'une syntaxe supplémentaire pour les réseaux de données et de graphes NoSQL.
Sur la page GitHub du projet, on peut noter les multiples performances ainsi que les différentes caractéristiques qu’il apporte comme les fonctions définies par l’utilisateur (vous pouvez utiliser tous les avantages des langages SQL et JavaScript en définissant vos propres fonctions personnalisées), la prise en charge des fichiers de base de données SQLite à l’aide d’une autre bibliothèque SQL.js ou encore les instructions et les fonctions compilées. Cependant, étant encore très jeune, le projet peut être sujet à des bogues, précise l’équipe. Elle invite donc toute personne en présence d’un problème quelconque d'en informer l’équipe et la communauté.
Dans sa présentation, l’équipe a tenu à aborder également les limites actuelles du projet dont en voici quelques-unes :
- AlaSQL a une liste (longue) de mots-clés qui doivent être échappés s'ils sont utilisés pour les noms de colonnes. Une liste complète de ces mots-clés est disponible sur le dépôt ;
- il est possible de sélectionner 1000 enregistrements ou de joindre deux tables contenant chacune 10 000 enregistrements (vous pouvez utiliser des fonctions de transmission en continu pour travailler avec des sources de données plus longues), mais sachez que la charge de travail est multipliée et vous observerez de mauvaises performances. « C’est l’une de nos principales priorités pour améliorer AlaSQL », rassure l’équipe.
- AlaSQL utilise la bibliothèque FileSaver.js pour enregistrer les fichiers localement à partir du navigateur. Sachez que cela ne sauvegarde pas les fichiers dans Safari 8.0.
Un tutoriel pour démarrer avec la solution est présenté sur le dépôt auquel vous pouvez vous référer et l’équipe encourage vivement la communauté à tester et fournir des idées pour rendre la solution encore meilleure. Un internaute pense que le fait de chercher à avoir un moteur SQL complet dans les navigateurs représente trop de travail. Pour lui, toutes les implémentations de WebSQL étaient fondamentalement une SQLite légèrement encapsulée, ce qui signifiait qu'un bogue dans SQLite était un bogue dans tous les navigateurs. Il estime que les décisions de conception dans SQLite auraient un impact sur l'ensemble de l'écosystème Web, ce qu’il considère comme un mauvais compromis. Un autre qualifie la solution d'excellente et espère vraiment que les navigateurs vont améliorer leur prise en charge d'IndexedDB.
Source : GitHub
Et vous ?
Que pensez-vous de AlaSQL.js ?
Voir aussi
Le langage JavaScript est-il responsable de la lenteur des sites Web de nos jours ? Oui selon un expert
The State Of JavaScript 2018 : l'enquête révèle que JavaScript est en pleine évolution, voici une vue macro des technologies JS utilisées
Les tendances dans les métiers de la technologie en France en 2017, une enquête réalisée par CodinGame
The State Of JavaScript : participez à l'édition 2018 de l'enquête qui permet d'avoir une vue macro des technologies utilisées dans le monde JS
Mithril : un framework JavaScript moderne, simple, rapide et léger comparé à React ou Angular pour ceux qui privilégient la facilité d'intégration