Cela faisait longtemps que nous n’avions pas fait un point pour parler des nouvelles fonctionnalités et produits disponibles dans l’écosystème Kuzzle, mais je vous promets que nous n’avons pas chômé, loin de là !
Kuzzle as a Framework
Nous développons cette nouveauté depuis le mois de juillet et nous l’avons officiellement sortie avec la version 2.8.0 de Kuzzle.
Il est maintenant possible d’écrire des applications avec Kuzzle de manière plus intuitive, en se rapprochant de la manière de fonctionner des autres frameworks de l’écosystème Node.js.
Kuzzle est maintenant disponible sous la forme d’un paquet NPM pour développer vos applications :
import { Backend, KuzzleRequest } from 'kuzzle'; import PluginOAuth from 'kuzzle-plugin-auth-passport-oauth'; // Instantiate the backend const app = new Backend('iot-sensors'); // Use an external plugin app.plugin.use(new PluginOAuth()); // Register an API controller app.controller.register('iot', { actions: { measure: { handler: async (request: KuzzleRequest) => { await app.sdk.document.create('iot', 'measures', request.input.body); return { status: 'created' }; } } } }); // Start the application app.start() .then(() => { app.log.info('Application started'); });
Toute l’interface de programmation a été écrite en Typescript afin de réduire la courbe d’apprentissage.
Vous pouvez essayer de vous lancer dès à présent avec notre Getting Started
Admin Console Revival
La refonte de notre application principale a été un sujet sur le long terme, né d’une réflexion basée sur deux points fondamentaux : User Experience & UI Design.
Cette 4ème version de l’Admin Console est plus qu’une refonte graphique, c’est aussi une refonte interne pour une meilleure stabilité et plus de performances. Surtout, elle s’accompagne de son lot de nouvelles fonctionnalités !
Vous pouvez dès à présent utiliser la version officielle en ligne : http://console.kuzzle.io
Pour découvrir la liste complète des nouveautés, vous pouvez lire notre article dédié
Java / Kotlin SDK
Afin de mieux supporter les développeurs natifs Android, nous avons décidé de sortir un nouveau SDK entièrement écrit en Kotlin.
Ce SDK est disponible sur Maven et est conçu pour être utilisé dans n’importe quel projet Java ou Android.
Nous avons fait le choix de développer un SDK compatible avec tous les langages de la JVM afin d’offrir aux développeurs de cet écosystème la possibilité de travailler plus facilement avec Kuzzle.
Dart SDK
Le SDK Dart continue de progresser avec l’implémentation du protocole HTTP en plus du protocole WebSocket déjà disponible.
Ce protocole est disponible depuis la version 2.2 du SDK et va permettre aux développeurs mobile de se connecter à Kuzzle en HTTP afin d’économiser la batterie des terminaux.
Voir la documentation du protocole HTTP pour Dart
Golang SDK
Depuis Kuzzle v2, notre SDK Golang n’avait pas encore été porté sur la nouvelle version de l’API de Kuzzle.
Ce SDK permet aux développeurs d’utiliser Kuzzle dans l’environnement haute performance de l’écosystème Golang.
La version 3 est maintenant disponible sur Github
Kuzzle Core Features in a Nutshell
Beaucoup de nouvelles fonctionnalités ont été ajoutées à Kuzzle ces derniers mois.
On retrouve notamment 5 nouvelles actions d’API :
- document:upsert : met à jour un document, ou le crée avec un contenu par défaut
- auth:checkRights : vérifie si l’utilisateur courant peut exécuter une requête
- security:checkRights : vérifie si un utilisateur peut exécuter une requête
- document:deleteFields : supprime des champs d’un document
- security:getUserStrategies : liste les stratégies d’authentification disponibles pour un utilisateur
Une nouvelle manière d’utiliser Kuzzle en HTTP fait son apparition. Plutôt que d’utiliser des URL et des query strings, il est maintenant possible d’envoyer directement un payload JSON représentant le format standard de requête utilisé avec les autres protocoles.
Découvrir le JSON Query Endpoint
La programmation en mode cluster est également simplifiée pour les développeurs utilisant Kuzzle:
- cluster.broadcast, cluster.on, ... : méthodes permettant d’envoyer des évènements aux noeuds du cluster
- Mutex : Classe de synchronisation entre les noeuds du cluster
Beaucoup d’autres améliorations et corrections ont été apportées avec les dernières versions, vous pouvez découvrir la liste complète sur Github: https://github.com/kuzzleio/kuzzle/releases
Complete Typescript Support
Typescript s’est récemment imposé comme le nouveau standard de développement en Javascript grâce notamment à son système de type checking.
De plus, l’auto-complétion et l’auto-documentation facilitent grandement l’adoption en permettant aux développeurs de prendre en main le framework plus rapidement.
Nous avons donc décidé de convertir toutes les interfaces de nos projets Javascript en Typescript:
- Kuzzle Coeur
- SDK Javascript
Vous pouvez d'ores et déjà profiter de cette conversion Typescript en installant les dernières versions de nos produits.
Brand New Documentation
En décembre, nous avons sorti une toute nouvelle version de notre documentation.
Celle-ci a été entièrement remaniée et tous les guides ont été réécrits pour une meilleure compréhension et prise en main.
Ces nouveautés contiennent notamment :
- Un Getting Started en 9 étapes (la première va vous étonner !)
- L’explication des Main Concepts en 6 guides (ce que vous allez en faire est incroyable !)
- 5 guides pour apprendre à utiliser le nouveau Framework (encore 4 disponibles !)
La recherche a également été remaniée avec Algolia afin de naviguer plus aisément dans la documentation.
Incoming for 2021
L’année 2020 a été riche en nouveautés mais l’année 2021 promet d’être encore plus remplie !
New Cluster Architecture
La première des grosses nouveautés sera le nouveau cluster, directement intégré dans le cœur, qui promet une bien meilleure scalabilité et stabilité d’une application déployée sur plusieurs nœuds.
Nous sommes confiant en la capacité de ce nouveau cluster de pouvoir supporter plusieurs millions d’utilisateurs.
Support for PostgreSQL
Depuis le début de Kuzzle, nous avons fait le choix du NoSQL avec Elasticsearch.
Afin de supporter de nouveaux cas d’usages nécessitant une base de données relationnelle, nous avons décidé de lancer les travaux pour supporter PostgreSQL en tant que base de données.
C’est bien sur un chantier de grande envergure et nous vous tiendrons au courant de son avancement !
Full Featured IoT Platform
Cela fait maintenant 3 ans que nous sommes spécialisés dans les applications IoT avec plusieurs dizaines de projets à notre actif, des milliers de villes équipées de solutions basées sur Kuzzle et des centaines de milliers de capteurs envoyant leurs données à des applications Kuzzle.
Nous sommes en train de développer un nouveau produit autour de l’IoT, avec toujours la même promesse que pour Kuzzle : réduisez le code nécessaire et développez vos applications IoT plus vite avec Kuzzle.
On parle bien sûr ici de Device Management, Workflows, Enrichissement de la Donnée, Open Data et bien d’autres sujets ;-)
Une question ? N’hésitez pas à nous rejoindre sur http://join.discord.kuzzle.io/ !