IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Prisma : un ORM de nouvelle g�n�ration pour Node.js et TypeScript


Sujet :

JavaScript

  1. #1
    Chroniqueur Actualit�s

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : B�nin

    Informations professionnelles :
    Activit� : Dirigeant
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Par d�faut Prisma : un ORM de nouvelle g�n�ration pour Node.js et TypeScript
    Prisma : un ORM de nouvelle g�n�ration pour Node.js et TypeScript
    pour concurrencer TypeORM et Sequelize et devenir la norme de l'industrie

    Le travail avec des bases de donn�es est une partie in�vitable du job d'un d�veloppeur back-end. En particulier, l'�cosyst�me JavaScript c�t� serveur offre un nombre infini de biblioth�ques qui visent � rendre cette t�che moins p�nible. Parmi les plus populaires, citons : Sequelize, TypeORM, Knex.js, etc., et maintenant, Prisma. Selon sa documentation, ce dernier est un ORM de nouvelle g�n�ration pour Node.js et TypeScript. Prisma n'est pas totalement nouveau, mais l'�quipe qui le d�veloppe a annonc� mardi qu'apr�s plus de deux ans de travail, tous les outils Prisma sont d�sormais pr�ts pour la production. Voici ci-dessous l'essentiel sur Prisma.

    Qu'est-ce que Prisma et quelles sont ses caract�ristiques ?

    Selon l'�quipe, Prisma est un ORM, mais con�u de mani�re tr�s diff�rente de ce qui se fait actuellement dans l'industrie. En g�n�ral, les ORM sont des biblioth�ques qui font correspondre les tables de votre base de donn�es aux classes du langage que vous utilisez pour �crire votre programme. Prisma, quant � lui, est une bo�te � outils de base de donn�es. En plus, Prisma ne souffrirait pas des nombreux probl�mes qui sont commun�ment associ�s aux ORM. L'�quipe estime en effet que l'approche des ORM traditionnels conduit � de nombreux probl�mes caus�s par le d�calage d'imp�dance objet-relationnel.



    C'est une situation que la conception de Prisma permettrait d'�viter. L'un des principaux diff�rentiateurs entre Prisma et un ORM est son fichier de sch�ma centralis� et son langage de sch�ma. Plut�t que d'avoir des classes dans votre application qui correspondent aux entit�s de la base de donn�es, Prisma s�pare vos mod�les de base de donn�es de votre code.

    En outre, la CLI de Prisma utilise ce fichier de sch�ma pour g�n�rer automatiquement un client qui peut �tre utilis� dans votre code TypeScript pour interagir avec la base de donn�es. Ce paradigme est l�g�rement diff�rent de celui d'un ORM, o� les instances des classes de mod�les jouent ce r�le. Pour en revenir � la composition de Prisma, voici ses trois principaux composants :

    Prisma Client

    Pour faire court, Prisma Client g�n�re le client utilis� dans le code de l'application. Selon l'�quipe, l'un des principaux avantages de travailler avec Prisma Client est qu'il permet aux d�veloppeurs de penser en objets et offre donc une mani�re famili�re et naturelle de raisonner sur leurs donn�es. Prisma Client n'a pas le concept d'instances de mod�le. Au lieu de cela, il aide � formuler des requ�tes de base de donn�es qui renvoient toujours des objets JavaScript simples. Gr�ce aux types g�n�r�s, vous b�n�ficiez �galement de l'autocompl�tion pour ces requ�tes.

    Nom : CTGhQZ9.png
Affichages : 111729
Taille : 821,5 Ko

    De plus, pour les d�veloppeurs TypeScript, tous les r�sultats des requ�tes de Prisma Client sont enti�rement typ�s. Prisma semble fournir les garanties de s�curit� de type les plus fortes de tous les ORM TypeScript.

    Prisma Migrate

    Prisma Migrate permet de modifier le sch�ma de la base de donn�es. Prisma Migrate traduit le sch�ma Prisma en SQL n�cessaire pour cr�er et modifier les tables de votre base de donn�es. Il peut �tre utilis� via les commandes "prisma migrate" fournies par la CLI de Prisma. Bien que le SQL soit g�n�r� automatiquement sur la base du sch�ma Prisma, vous pouvez facilement le personnaliser en fonction de vos besoins sp�cifiques. Selon l'�quipe, avec cette approche, Prisma Migrate trouve un excellent �quilibre entre productivit� et contr�le.

    Prisma Studio

    Prisma est �galement fourni avec une interface d'administration moderne pour votre base de donn�es, Prisma Studio. Ce dernier est un �diteur visuel pour la base de donn�es. Gr�ce � son interface tabulaire jug�e simple, vous pouvez rapidement jeter un coup d'�il aux donn�es de votre base de donn�es locale et v�rifier si votre application fonctionne correctement.

    Nom : 2020-11-studio.png
Affichages : 17425
Taille : 396,5 Ko

    Selon l'�quipe, ces trois outils (Prisma Client, Prisma Migrate et Prisma Studio) peuvent �tre adopt�s ensemble ou individuellement dans tout projet Node.js ou TypeScript. Prisma prend actuellement en charge SQL Server (disponible en avant-premi�re), PostgreSQL, MySQL et SQLite. En outre, un connecteur pour MongoDB est en cours de r�alisation. Par ailleurs, Prisma est agnostique par rapport � l'application que vous construisez et compl�tera votre pile, quelles que soient vos technologies pr�f�r�es (Next.js, GraphQL, Nest.js, Express.js, Appolo, etc.).

    Prisma et TypeORM : qui deviendra la norme de l'industrie ?

    TypeORM est un ORM open source pour Node.js qui tire parti des fonctionnalit�s modernes de JavaScript et encourage l'utilisation de TypeScript. Au vu de sa syntaxe et de sa structure, il est clair qu'il s'inspire d'ORM performants dans d'autres langages ou frameworks de programmation, tels qu'Entity Framework (.NET) et Hibernate (Java). � un haut niveau, TypeORM comprend des fonctionnalit�s telles que les migrations, les transactions, une CLI, et une multitude de fa�ons d'interagir avec les entit�s d�finies dans le mod�le de donn�es de votre application.



    Les entit�s sont l'un des principaux composants de TypeORM et, comme dans les autres ORM, ce sont des classes qui correspondent aux tables de la base de donn�es. L'une des caract�ristiques les plus puissantes de TypeORM est la fa�on dont vous pouvez travailler avec les entit�s dans votre code. Plus pr�cis�ment, TypeORM prend en charge � la fois les mod�les Active Record et Data Mapper. Le mod�le Active Record implique que les fonctions de base de donn�es (cr�ation, lecture, mise � jour, suppression, etc.) soient d�finies directement sur une classe de mod�le.

    Si l'on regarde maintenant le mod�le Data Mapper, il est subtilement diff�rent du mod�le Active Record. En particulier, le mod�le Data Mapper implique des classes distinctes de vos entit�s qui d�finissent les fonctions de la base de donn�es (parfois appel�es objets d'acc�s aux donn�es). Dans ce paradigme, les entit�s sont de simples structures de donn�es qui d�finissent leurs propri�t�s tandis que les classes de mappage de donn�es exposent la fonctionnalit� r�elle n�cessaire pour interagir avec une base de donn�es. TypeORM fournit deux abstractions qui vous permettent d'appliquer ce mod�le, les r�f�rentiels et le gestionnaire d'entit�s.

    La diff�rence fondamentale entre les deux est qu'un r�f�rentiel n'op�re que sur un seul type d'entit�. En revanche, le gestionnaire d'entit�s est une collection de tous les r�f�rentiels. TypeORM et Prisma offrent tous deux une "excellente" interface utilisateur pour les d�veloppeurs et un ensemble de fonctionnalit�s. � court terme, TypeORM devrait rester plus populaire que Prisma. En effet, TypeORM a d�j� une avance consid�rable en mati�re de popularit� sur Prisma et un avantage en mati�re de maturit� (par exemple, les migrations).

    � long terme, l'on estime que Prisma a la possibilit� de d�passer TypeORM gr�ce � son solide soutien financier et � son groupe de d�veloppeurs travaillant � plein temps � l'�laboration de nouvelles fonctionnalit�s. En outre, TypeORM pourrait probablement �tre affaibli par les probl�mes/bogues ouverts sur GitHub et le manque de soutien de la part des mainteneurs � plein temps. Quel que soit le r�sultat, les deux outils sont tr�s prometteurs et il sera passionnant de voir comment ils se d�veloppent au fil du temps.

    Source : Prisma, Comparaison entre Prisma et TypeORM

    Et vous ?

    Quel est votre avis sur le sujet ?
    Que pensez-vous de Prisma et de ses fonctionnalit�s ?
    Que pensez-vous de TypeORM et de ses fonctionnalit�s ?
    Avez-vous une pr�f�rence pour l'un ou l'autre ? Pourquoi ?
    Utilisez-vous plut�t un autre ORM ? Lequel ? Pourquoi ce choix ?
    Selon vous, les d�veloppeurs doivent-ils utiliser les ORM ? Pourquoi ?

    Voir aussi

    Prisma, un outil ORM pour le d�veloppement des applications modernes. Pourra-t-il remplacer les outils ORM traditionnels ?

    Prisma 2.0 est disponible en version b�ta avec une nouvelle version de Prisma Client, Prisma Client 2.0, qui permet un acc�s aux bases de donn�es modernes

    Faut-il utiliser les ORM ou continuer d'�crire simplement des requ�tes SQL ? Eli Bendersky donne son avis
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et R�digez des actualit�s

  2. #2
    Membre tr�s actif Avatar de supertonic
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    202
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 202
    Par d�faut miko orm ?
    Personnellement j'ai eu trop de gal�res avec typeorm, � fuir ...

    Connaissez vous https://mikro-orm.io ? largement plus propre et stable, sans parler de la doc ...

Discussions similaires

  1. R�ponses: 2
    Dernier message: 07/11/2016, 03h26
  2. R�ponses: 1
    Dernier message: 20/06/2014, 12h21
  3. R�ponses: 1
    Dernier message: 22/08/2012, 18h18
  4. R�ponses: 15
    Dernier message: 04/08/2012, 04h46
  5. R�ponses: 0
    Dernier message: 28/06/2010, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo