Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

AlaSQL.js, une base de données SQL JavaScript pour le navigateur et Node.js, est désormais disponible
Et serait rapide et très flexible

Le , par Bill Fassinou

328PARTAGES

16  0 
Grâce à ses capacités full-stack, JavaScript a gagné du terrain et un développeur JavaScript pourrait être un choix justifié pour un projet externalisé. Qu’il s’agisse du code JavaScript de première partie ou de tierce partie, le nombre de scripts écrits dans ce langage ne cesse de croître. Un nouvel outil pour ce langage vient encore de paraître. Le dépôt Git de la nouvelle solution appelée AlaSQL.js le définit comme une base de données SQL JavaScript pour le navigateur et Node.js capable de gérer les relations traditionnelles et les données JSON imbriquées (NoSQL). AlaSQL permettrait également d’exporter, de stocker et d’importer des données à partir du localStorage, indexedDB ou encore Excel.

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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de frfancha
Membre éclairé https://www.developpez.com
Le 19/01/2019 à 0:00
serait rapide
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 une blaque? Des joins de 10.000 records sont lents et la base serait "rapide" ??
1  0 
Avatar de barbosa-paulo
Nouveau Candidat au Club https://www.developpez.com
Le 25/01/2019 à 19:28
Bonsoir

Si quelqu'un l'a testé.

Pouvez vous m'envoyer une page HTML simple avec une requête de création SVP

Sinon la persistance dans les navigateurs ou autres comment cela se passe t il ?

D ailleurs si vous connaissez d'autres solutions SQL dans le navigateur directement j'en ai besoin.
Mais il faudrait aussi que je puisse sauvegarder la base simplement.

Merci à vous

0  0