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

Dotnet Discussion :

.NET Core : que pensez-vous de l’abandon du project.json et le retour du format .csproj ?


Sujet :

Dotnet

  1. #1
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut .NET Core : que pensez-vous de l’abandon du project.json et le retour du format .csproj ?
    .NET Core : que pensez-vous de l’abandon du project.json et le retour du format .csproj ?
    Êtes-vous d’accord avec l’orientation de Microsoft ?

    Microsoft avait annoncé il y a quelques mois son intention d’abandonner le fichier project.json introduit par .NET Core pour retourner au format .csproj. Ceci, à cause de l’expérience avec le project.json qui a été un échec. Cela s’est concrétisé avec la récente présentation des outils pour .NET Core dans Visual Studio 15, qui est actuellement disponible en preview 5.

    Pourquoi le fichier project.json avait été adopté à la place du .csproj

    .NET Core a été conçu pour fonctionner sur Windows, Linux et Mac. La volonté de Microsoft est de permettre aux développeurs de créer des applications .NET en utilisant leur système d’exploitation préféré et l’EDI de leur choix.

    Le format .csproj n’était pas adapté pour atteindre ces objectifs. Ce dernier est extrêmement lié à MsBuild, qui n’était pas open source et cross-platform. C’est un fichier difficile à interpréter à l’œil, verbeux et laborieux à éditer. De plus, il est une source de conflits pour les équipes qui utilisent un gestionnaire de versions, car ce dernier est édité à chaque ajout d’un fichier au projet.

    Le fichier project.json a apporté une solution à ces problèmes :
    • plus de spécifications des fichiers dans le fichier de projet ;
    • un fichier facilement compréhensible et modifiable sans avoir recours à un IDE ;
    • la compilation cross-platform ;
    • et bien plus.


    Toutefois, l’adoption du project.json a introduit de nombreux défis pour les développeurs de Microsoft.

    Pourquoi le retour du format .csproj

    Le fichier project.json bien qu’étant très adapté pour les projets Web (le format json étant devenu quasiment incontournable dans le développement Web), présente cependant des limites pour son extension à d’autres projets .NET.

    En effet, Microsoft ambitionne de généraliser le développement cross-platform à d’autres projets .NET, en faisant de .NET Core le socle pour :
    • le développement d’applications ASP.NET (ce qui est déjà le cas) ;
    • le développement d’applications console ;
    • le développement des bibliothèques ;
    • le développement d’applications Windows universelles ;
    • et même le développement d’applications Android et iOS avec Xamarin.


    De ce fait, le project.json devait être étendu à l’ensemble de ces projets. Ce qui allait entrainer de gros efforts, qui allaient toucher l’ensemble des projets dans Visual Studio, Xamarin et même les partenaires de Microsoft.

    Pour éviter cela, la firme a décidé de retourner au fameux .csproj. Toutefois, la firme a tiré parti des avantages apportés par le fichier project.json. Elle promet donc que le nouveau .csproj sera assez similaire au project.json, ne listera pas les fichiers sources et sera facilement modifiable dans Visual Studio qui offrira notamment l’IntelliSense.

    Le retour du format .csproj, quelle conséquence pour le cross-platform

    Dans son billet de blog, Microsoft promet que le fichier .csproj sera facilement éditable, surtout avec Visual Studio. Qu’en est-il des autres éditeurs : Visual Studio Code, Vim, Atom, Sublime, etc ? L’adoption d’un format ouvert et populaire comme json rendait par défaut le fichier project.json compatible avec tous ces outils et facile à lire pour les développeurs. Alors que le .csproj est propre à Microsoft.

    Et vous ?

    Que pensez-vous du retour du format .csproj ?

    Êtes-vous d’accord avec l'orientation de Microsoft ?

    Le .csproj est-il adapté pour le cross-plaform et les autres EDI ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Je suis vraiment dépassé par ces considérations :
    - j'ai du mal à comprendre le souci d'un format ou l'autre, tant que les specs sont accessibles,
    - je trouve pas le csproj particulièrement compliqué à comprendre,
    - parser les info de projet depuis un json me parait pas un travail insurmontable quand bien même il impacterait de nombreux logiciels.

    Du coup qu'en pensé-je ? Pas grand chose.
    Oui, vous pouvez me remercier pour cette intervention constructive
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre confirmé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Points : 479
    Points
    479
    Par défaut
    Tant que le contenu est lisible pas de soucis
    Un *.csproj n'est qu'un *.xml dont on a changé l'extension, où est le problème ? (En tous cas jusqu'à VS2K13, je ne suis pas encore passé au 2015)

  4. #4
    Membre confirmé
    Avatar de gb_68
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 232
    Points : 545
    Points
    545
    Par défaut
    Citation Envoyé par Hinault Romaric Voir le message
    Ce dernier est extrêmement lié à MsBuild, qui n’est pas open source et cross-platform.
    Ce dernier point n'est plus exacte depuis mars 2015 .

    Microsoft-rend-disponible-en-open-source-le-moteur-de-MSBuild-son-outil-de-compilation
    https://github.com/Microsoft/msbuild

  5. #5
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Effectivement. J'ai corrigé le sujet. Merci.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Dans le principe j'aimais bien l'idée de s'affranchir de MSBuild; bien que très puissant, c'est une usine à gaz un peu dégueulasse, et je trouvais le format project.json assez "rafraichissant".

    Cela dit, il faut être pragmatique; ça aurait pris des années pour que tous les outils soient mis à jour pour utiliser project.json, autant capitaliser sur ce qui existe. Le format csproj a été très simplifié pour .NET Core, la gestion des packages NuGet est intégrée, le multi-targeting aussi, et on n'a plus besoin de lister explicitement tous les fichiers du projet. Bref, c'est pas forcément la solution dont on aurait rêvé, mais c'est simple et fonctionnel. Je pense donc que c'était une bonne décision.

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Je suis vraiment dépassé par ces considérations :
    - j'ai du mal à comprendre le souci d'un format ou l'autre, tant que les specs sont accessibles,
    - je trouve pas le csproj particulièrement compliqué à comprendre,
    - parser les info de projet depuis un json me parait pas un travail insurmontable quand bien même il impacterait de nombreux logiciels.
    L'avantage d'avoir une extension standard, c'est que les IDE savent faire des choses avec: coloration syntaxique, intellisense, formatage/minification, validation de format, etc...

  8. #8
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Citation Envoyé par skyzoboy Voir le message
    L'avantage d'avoir une extension standard, c'est que les IDE savent faire des choses avec: coloration syntaxique, intellisense, formatage/minification, validation de format, etc...
    Y'a beau avoir une extension .csproj (ou .vbproj) ça reste du XML. C'est donc très bien colorisé par la plupart des éditeurs et on peut facilement valider la syntaxe via un XSD. Pour les manip' sur les arbres, du XML ou du JSON c'est kifkif. Le vrai souci c'est de définir des spec précises, de les diffuser et de s'y tenir (3 choses pour lesquelles Crosoft n'est pas particulièrement connu).
    Plus je connais de langages, plus j'aime le C.

Discussions similaires

  1. [Opinion]Que pensez vous du .net framework 10 ans après?
    Par Hinault Romaric dans le forum Général Dotnet
    Réponses: 177
    Dernier message: 02/09/2010, 15h32
  2. Réponses: 5
    Dernier message: 14/05/2009, 18h43
  3. Que pensez vous du site: http://www.tunisiepagesdor.net
    Par sami2008 dans le forum Mon site
    Réponses: 0
    Dernier message: 23/09/2008, 01h46
  4. [IDE]Que pensez vous de Visual Studio .NET 2005 ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 56
    Dernier message: 15/08/2006, 12h39
  5. [ADO.Net][XML]Que pensez-vous de cette manière de faire?
    Par RiiiDD dans le forum Accès aux données
    Réponses: 6
    Dernier message: 22/03/2006, 12h29

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