Sortie de l'ORM pour Qt QxOrm en version 1.4.6 avec son éditeur QxEntityEditor 1.2.4 :
2 nouveaux modules serveur web HTTP et API REST JSON

Le , par QxOrm

38PARTAGES

9  0 
Bonjour,

La bibliothèque QxOrm 1.4.6 et l'application QxEntityEditor 1.2.4 viennent de sortir : 2 nouveaux modules disponibles, un serveur web HTTP 1.1 (module QxHttpServer) et une API JSON (module QxRestApi) !

Modifications apportées à la bibliothèque QxOrm 1.4.6 :

  • Nouveau module QxHttpServer : serveur web compatible HTTP 1.1 autonome (aucune nécessité d'installer une application tierce comme Apache ou Nginx), performant (multi-thread) et simple d'utilisation ;
  • Nouveau module QxRestApi : API JSON pour gérer (de façon générique) la couche de données persistantes (base de données) ou appeler des fonctions natives C++ (enregistrées dans le contexte QxOrm) ;
  • Avec les nouveaux modules QxHttpServer et QxRestApi, la bibliothèque QxOrm peut à présent être utilisée pour développer des applications web (par exemple des Single-Page-Application SPA avec des frameworks Javascript comme AngularJS, React, Meteor.js, etc...) ;
  • Nouveau projet d'exemple nommé qxBlogRestApi : application QML avec une liste de requêtes JSON pour montrer comment requêter le module QxRestApi depuis un moteur Javascript + serveur web HTTP pour montrer comment créer des applications web avec le module QxHttpServer ;
  • Le module QxRestApi supporte : toutes les opérations de type CRUD sur la base de données, des requêtes SQL complexes, plusieurs niveaux de relations, personnalisation du format de sortie JSON, appel aux fonctions natives C++, validation d'instance, appel personnalisé à la base de données ou procédure stockée ;
  • Amélioration du moteur de sérialisation JSON : possibilité de définir un filtre personnalisé sur les propriétés exportées ;
  • Possibilité de définir des alias SQL personnalisés pour les requêtes complexes avec relations en utilisant la syntaxe <my_table_alias> ;
  • Amélioration des requêtes SQL générées pour les bases Oracle : gestion des identifiants générés avec la syntaxe RETURNING INTO (merci à Romain Macureau et Abdennour Boutrig) ;
  • Corrige un problème avec les procédures stockées et les paramètres de sortie ;
  • Nouvelle fonction disponible : qx::dao::count_with_relation<T>() ;
  • Corrige un problème de sérialisation JSON en environnement multi-thread ;
  • Modification du format JSON avec les types QDateTime et QTime : utilisation de Qt::ISODateWithMs à la place de Qt::ISODate (avec Qt 5.8 ou +) ;
  • Amélioration du module QxService : support des connexions sécurisées SSL/TLS + connexions persistantes (keep-alive) ;
  • Suppression des fichiers *.suo du package QxOrm (fichiers temporaires MSVC++).


Modifications apportées à l'application QxEntityEditor 1.2.4 :

  • Nouvelle fonctionnalité dans le moteur JavaScript pour personnaliser les exports : possibilité d'appeler le module QxRestApi pour requêter les projets *.qxee ;
  • Corrige un problème d'ordre des propriétés et relations générées pour les exports C++ après import d'un schéma de base de données (qui pouvait être gênant pour rechercher des différences entre 2 exports) ;
  • Corrige un crash qui pouvait se produire à l'ajout d'une entité dans un schéma existant.



Vous pouvez télécharger ces nouvelles versions sur le site internet de QxOrm et QxEntityEditor.
La bibliothèque QxOrm est également disponible sur GitHub.

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

Avatar de archqt
Membre averti https://www.developpez.com
Le 19/04/2019 à 17:41
Je vois régulièrement des mises à jour, mais jamais personne ne commente le truc. D'où ma question : si vous n'utilisez pas celui là, lequel utilisez vous ?
L'inconvénient de QtCreator est qu'il n'y a pas de "pluging" pour gérer les bases de données, les relations avec les données...Il faut faire soit même ses propres modèles.
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 23/04/2019 à 15:36
Bonjour,

J'en utilise aucun . Du coup, j'ai du mal à commenter sur QxOrm, n'en ayant pas (encore) besoin d'une telle solution.
Avatar de QxOrm
Membre expert https://www.developpez.com
Le 24/04/2019 à 11:22


Je pense que la licence GPL rebute certaines personnes, notamment du monde open-source.
J'en suis conscient, mais c'est une façon d'obliger les entreprises à acquérir une licence commerciale (même si beaucoup ne jouent pas le jeu).

Un autre reproche qui a beaucoup été fait sur la bibliothèque QxOrm : sa dépendance avec boost (ce qui rendait le tout "plus compliqué" et plus lourd à installer).
Depuis la version 1.4.4, c'est réglé : la dépendance à boost est optionnelle et non activée par défaut.

Et en règle générale, les personnes me contactent directement par e-mail plutôt que de passer par le forum.
C'est dommage pour le partage, mais j'essaye de regrouper les demandes dans le manuel utilisateur.

Sinon pour répondre à ta question : Y en a qui utilise ?
Oui pas mal d'entreprises utilisent QxOrm & QxEntityEditor dans leurs applications à un niveau de Production.
Je sais qu'un de mes clients a écrit plusieurs milliers de tests unitaires, donc je lui envoie systématiquement la version avant release pour effectuer les tests de non régression.
Sinon, mon + gros client (celui qui a acheté le plus de licences) : la NASA.
Autre client "prestigieux" : l'équipe de Formule 1 Williams.

 
Contacter le responsable de la rubrique C++

Partenaire : Hébergement Web