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 :

Microsoft rappelle que .NET Core 3.0 va arriver en fin de vie le 3 mars 2020


Sujet :

Dotnet

  1. #41
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 30
    Points : 49
    Points
    49
    Par défaut
    Winforms a été porté sous Mono, donc cela doit être possible avec .NetCore. Pour WPF, il semble que le problème majeur soit sa dépendance à D3D... Le problème doit être identique pour UWP...
    It's time to kickass nvidia and chew 3dfx/ati bubblegum !

  2. #42
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 145
    Points : 25 051
    Points
    25 051
    Par défaut
    winform se base sur gdi+ et a eut un portage mono, donc il doit être possible de remplacer la partie dirextX par autre chose aussi
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #43
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    Après c'est pareil, en winforms mono je doute que les grosses librairies comme infragistics/KendoUi fonctionnent…

    Microsoft avait fait le choix de ne pas développer de librairies de composants graphiques évolués pour que ses partenaires ne se retrouvent pas sans revenus ( et donc se détachent de Microsoft).
    Même le nouveau Community Toolkit, ne propose pas encore des composants super évolués (scheduler, gantt, dataGrid avec formule etc).

    bref à l'heure du tout web et des techo qui prennent une plombe à compiler (genre node+ react+webpack +scss). Je ne me fait pas d'illusion du la suite

  4. #44
    Expert éminent sénior
    Avatar de Coriolan
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2016
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 701
    Points : 51 808
    Points
    51 808
    Par défaut De .NET Core 1 à .NET Core 3.0, retour sur l'évolution du Framework open source et multiplateforme
    De .NET Core 1 à .NET Core 3.0, retour sur l'évolution du Framework open source et multiplateforme
    de Microsoft

    Au début de ce mois, Microsoft a annoncé la sortie de la première préversion publique de .NET Core 3. Toutefois, l’éditeur n’a pas précisé quelles nouveautés sont incorporées dans cette release, à part le fait que des Frameworks Windows Desktop sont passés en open source, mais ça, on le savait déjà.

    Nom : .net.PNG
Affichages : 19687
Taille : 12,4 Ko

    Dans un billet de blog, Scott Hunter, directeur de Program Management pour .NET, est revenu sur l’évolution de .NET Core depuis sa première mouture, avec un focus sur les technologies présentes sur la troisième itération majeure de la plateforme .NET Core. Pour rappel, s’agissant d’une préversion, les informations citées ici pourraient changer par la suite.

    .NET Core 1

    .NET Core a été développé avec pour objectif principal l’ouverture à d’autres plateformes dont Linux et OS X. Il comprend 2 parties complémentaires : CoreCLR, une implémentation d'exécution complète de CLR, la machine virtuelle qui gère l'exécution des programmes .NET et CoreFx, l’implémentation concrète de .Net Core sous la forme de plusieurs assemblies (DLL).

    En 2016, la première version de .NET Core a vu le jour, le but étant de créer une première version de .NET qui soit à la fois open source et multiplateforme (Windows, macOS et Linux). Si Microsoft a fait ce choix, c’est pour cibler les utilisateurs qui n’utilisent que l’open source et les clients qui ont eu besoin d’exécuter leurs applications .NET sur des serveurs Linux. .NET Core est disponible sur GitHUb, et quiconque peut télécharger les sources, compiler le Framework ou encore contribuer. Outre ce détail, .NET Core a été conçu pour qu’il soit possible de tout passer par la ligne de commande, sans avoir besoin d’utiliser un EDI.

    Prenant en compte les problèmes de compatibilité d’une installation globale de .NET Framework, .NET Core apporte le support de versions côte à côte, et la livraison d’un Framework faisant partie de l’application. Comme expliqué auparavant, Microsoft entend résoudre ce problème en permettant la coexistence de multiples versions de .NET Core sur la même machine. Les applications peuvent dès lors être verrouillées à une version spécifique et passées à une autre version après qu’elles soient testées et prêtes.

    .NET Core 2

    La version 1 de .NET a ciblé en premier lieu les applications web et a supporté un nombre limité d’API .NET. Pour régler ce problème, Scott Hunter explique que le .NET Standard a été créé, ayant pour but de spécifier les API que tout environnement d’exécution doit implémenter pour que le code et les fichiers binaires puissent être partagés sur les plateformes et versions de .NET.

    .NET Core 2 a été publié en juin 2017 avec le support de .NET Standard 2.0, ajoutant plus de 20 000 API au .NET Standard. Microsoft a introduit aussi le Windows Compatibility Pack, qui est un paquet NuGet qui inclut plusieurs API réservées à Windows comme : System.Drawing, System.DirectoryServices et d’autres. ASP.NET Core 2.0 a apporté Razor Pages et SignalR, deux frameworks qui manquaient dans .NET Core 1.0. L’Entity Framework a ajouté le support du lazy loading, une fonctionnalité populaire de Entity Framework.

    Avec .NET Core 2, la performance de .NET a été considérablement améliorée, lui conférant une bonne place dans le classement des frameworks full-stack du marché.

    .NET Core 3.0

    .NET Core 3.0 est la prochaine version majeure de la plateforme .NET Core. Pour répondre à un desideratum formulé par les développeurs, Microsoft a introduit la possibilité de faire usage du framework pour développer des applications de bureau. Désormais, Windows Presentation Foundation (WPF), Windows Forms et Entity Framework 6 (EF6) sont pris en charge pour permettre le développement de telles applications sur Windows. À noter que Microsoft a choisi l’approche brique séparée (Desktop packs) pour associer ces composants spécifiques à Windows au framework .Net Core 3. Pour le développement web, il est désormais possible de créer des applications web clientes avec C# en utilisant Razor Components (Blazor auparavant). Et il inclut le support de C# 8.0 et .NET Standard 2.1. .NET Core 3.0 apporte aussi le support de scénarios impliquant l’Internet des objets et l’ARM64 qui vient compléter ARM32 déjà en place. En plus, il supporte de façon complète ML.NET, un framework d’apprentissage machine conçu pour les développeurs .NET.

    ASP.NET Core 3

    .NET Core 3.0 ne concerne pas seulement le desktop. Plusieurs nouveautés devront faire leur apparition pour le développement web. Blazor est le fruit d’une expérimentation qui a commencé cette année, il permet d’écrire des composantes d’UI web qui s’exécutent directement dans le navigateur sur un environnement .NET basé sur WebAssembly sans avoir à écrire une seule ligne de JavaScript, explique Scott Hunter. Pour .NET Core 3.0, Microsoft va intégrer le modèle de composant de Blazor dans ASP.NET Core. La firme appelle cette intégration Razor Components. Au début pour .NET Core 3.0, Razor Components va s’exécuter sur le serveur, soit en tant que composants routables ou bien utilisés à partir de Razor Pages et Views. Toutefois, les mêmes composants peuvent s’exécuter du côté client sur WebAssembly. Plus tard, Microsoft entend apporter des améliorations à la performance de l’environnement d’exécution avec le support de la compilation anticipée de code .NET à WebAssembly.

    La feuille de route de .NET Framework et .NET Core

    « .NET Framework est l’implémentation de .NET installée par plus d’un milliard de machines, et de ce fait doit garder la meilleure compatibilité possible » a écrit Hunter. « Pour cette raison, il avance à une cadence moindre comparé à .NET Core. Même les correctifs de sécurité et de bogues peuvent causer des dysfonctionnements dans les applications, car elles dépendent de caractéristiques antérieures.”

    .NET Core est open source, multiplateforme, et évolue rapidement. À cause de sa nature côte à côte, il peut introduire des changements que Microsoft ne peut pas risquer d’appliquer dans .NET Framework. Ce qui veut dire que .NET Core va recevoir au fil du temps de nouvelles API et fonctionnalités de langages que .NET ne peut pas recevoir. Si vous avez des applications .NET Framework, Microsoft préconise qu’il n’est pas nécessaire de passer .NET Core si vous n’avez pas l’attention de profiter de ses fonctionnalités. La firme de Redmond assure que .net Framework fera toujours partie de Windows, mais dans le futur, .NET Core et .NET Framework vont incorporer de différentes fonctionnalités.

    Source : msdn

    Et vous ?

    Qu’en pensez-vous ?
    Comptez-vous porter des applications existantes vers .NET Core ?

    Voir aussi

    Vos applications Windows Forms et WPF sont-elles prêtes pour .NET Core 3.0 ? Microsoft veut s'en assurer et sollicite les développeurs
    .NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
    .NET Framework 4.7.2 est disponible, avec le support de l'injection de dépendance dans les Web Forms et la sécurisation de cookies avec SameSite
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  5. #45
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 63
    Points : 144
    Points
    144
    Par défaut
    J'en pense que c'est bien d'essayer de nouvelles choses et d'évoluer mais que je ne fais plus confiance sur les projets de Microsoft, on lance un projet avec le minimum de fonction puis on attends et on arrête dans la majeur partie des cas. Leur problème est à chaque nouveaux 'standards' on rétrograde (Win32>WPF>UWP>...). A vouloir copier Apple avec des applis, le monde pro a été oublié...
    Perso je m'y perds dans tous ces framework .NET
    Jean-claude

  6. #46
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Points : 986
    Points
    986
    Par défaut
    Citation Envoyé par Bart-Rennes Voir le message
    J'en pense que c'est bien d'essayer de nouvelles choses et d'évoluer mais que je ne fais plus confiance sur les projets de Microsoft, on lance un projet avec le minimum de fonction puis on attends et on arrête dans la majeur partie des cas. Leur problème est à chaque nouveaux 'standards' on rétrograde (Win32>WPF>UWP>...). A vouloir copier Apple avec des applis, le monde pro a été oublié...
    Perso je m'y perds dans tous ces framework .NET
    Y'en a que deux de framework le framework .net historique qui ne va quasiment plus évolué après le 4.8. Et le framework .net core.

    Ensuite tu parles de choses différente win32 est un énorme problème pour windows ce n'est pas pour rien que microsoft a développé COM3 plus commu sous le nom de .net .

    Surtout comparer WIN32 avec WPF j'ai du mal à comprendre le rapport... ça revient à comparer l'ABI de linux avec Php ou encore des chaussettes et des radis.



    Le choses sont simple à partir de .net core 3 il faut considérer les applications GUI reposant sur wpf, uwp, winform et n'utilisant pas .net core 3 comme depredacted. A noter que leur passage sur .net core 3 se fait simplement.


    A terme WPF et UWP permettront de dev des applications graphique multiplate-forme windows, osX, linux peut-être pour .net core 4 qui sait

  7. #47
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 004
    Points : 5 423
    Points
    5 423
    Par défaut
    Citation Envoyé par Wikipedia
    Win32, successeur de Win16, a été introduit en 1993,
    C'est quand meme normal d'avoir d'autres produits sortis depuis, et tu noteras qu'il est toujours possible 25 ans plus tard d'utiliser/mélanger du .Net avec du win32... On reparle des technos web d'aujourd'hui qui n'existeront plus dans 5 ans?

  8. #48
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Points : 986
    Points
    986
    Par défaut
    Citation Envoyé par micka132 Voir le message
    C'est quand meme normal d'avoir d'autres produits sortis depuis, et tu noteras qu'il est toujours possible 25 ans plus tard d'utiliser/mélanger du .Net avec du win32... On reparle des technos web d'aujourd'hui qui n'existeront plus dans 5 ans?
    Normal le .net framework historique n'est rien d'autre que COM3 de son doux nom. Concernant le web, le problème vient surtout de la partie front mais basiquement HTML/CSS/JS sont stable le gros bordel vient des frameworks qui tournent autour.

    Faut voir .net core comme étant "Common Object Model 4" mais Common pour de vrai il est sorti de son carcan windowsien .

  9. #49
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 145
    Points : 25 051
    Points
    25 051
    Par défaut
    Citation Envoyé par redcurve Voir le message
    Le choses sont simple à partir de .net core 3 il faut considérer les applications GUI reposant sur wpf, uwp, winform et n'utilisant pas .net core 3 comme deprecated.

    ?
    les applis fonctionneront toujours et pour longtemps, on pourra toujours développer dessus et pour longtemps
    certaines fonctionnalités ne seront pas dispo dans .net core 3 donc non tout le monde ne pourra pas migrer
    on ne fait pas tous des applis avec 3 pauvres boutons et 1 appel web service
    (perso l'assistant de migration .net core 3 m'a sorti des trucs qui ne seront pas dans .net core 3)

    Citation Envoyé par redcurve Voir le message
    A noter que leur passage sur .net core 3 se fait simplement.

    ce n'est pas parce qu'il y a une simple case à cocher dans la solution que c'est simple et que ca ne prend pas de temps
    déjà il y a des tests complets de l'appli à refaire
    et perso je préfère comprendre le fonctionnement de .net core avant de passer dessus, exemple avec le merge de l'exe et des dll, est-ce que la reflection ou le parcours d'assemblies loadés fonctionne toujours ?

    après oui je veux bien croire que .net core soit le futur (et le présent pour certains déjà)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #50
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par redcurve Voir le message
    Normal le .net framework historique n'est rien d'autre que COM3 de son doux nom.
    Je veux bien des info là dessus, car je n'ai jamais, et je dis bien jamais, entendu parlé de .NET comme étant COM3 (et j'ai beau faire des recherches, je ne trouve rien sur le sujet).

    Citation Envoyé par bartrennes
    J'en pense que c'est bien d'essayer de nouvelles choses et d'évoluer mais que je ne fais plus confiance sur les projets de Microsoft, on lance un projet avec le minimum de fonction puis on attends et on arrête dans la majeur partie des cas.
    On peut reprocher des choses à Microsoft, mais du point de vue pérennité, je pense qu'ils sont plutôt bien placés. Les programmes développés pour Windows 98 fonctionnent encore aujourd'hui, notamment grâce à une très bonne stabilité des APIs.

    Ensuite, les techno évoluent, obligeant parfois à prendre des décisions radicales. Ce fut le cas pour Silverlight par exemple, où c'est l’émergence de HTML5/CSS/JS qui a rendu cette techno complètement inutile. De plus, et comme déjà évoqué, comparer Win32 et WPF/UWP est un non sens.

    Il faut également arrêter de voir un arrêt d'évolution d'une technologie comme un signe indiquant qu'elle est dépréciée : quand une techno est mature, pourquoi continuer sans cesse de la faire évoluer, avec les risques que cela induit quand la pérennité est un élément clé ?

    .NET core 3 c'est très bien, mais a des limites, notamment si on souhaite faire un programme graphique portable, ou du point de vue de la pérennité (les professionnels aiment ça, car ils n'ont pas envie de redévelopper ou mettre à jour une application qui fonctionnent très bien juste parce qu'une brique a été mise à jour, avec les risques que cela induit). Passer de .NET Core 2 à 3 nécessite de retester entièrement ses applications pour s'assurer qu'il n'y a pas de changements subtils.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  11. #51
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Des nouvelles pour le merge des .exe et .dll?
    Bonjour tout le monde,
    Y a t il eu des nouvelles quand a la possibilité de merger les dll dans un seul .exe en .net core 3 ?

    En .net framework, il y a IL Repack, mais là, vu que ça compile en natif...

  12. #52
    Membre éclairé Avatar de rt15
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 262
    Points : 665
    Points
    665
    Par défaut
    Citation Envoyé par redcurve Voir le message
    win32 est un énorme problème pour windows
    Win32 ça reste en 2018 le principal moyen utilisé par le reste des logiciels et autres machines virtuelles (.NET, Java...) pour communiquer avec Windows.
    Cela implique des contraintes très fortes :
    1. Stabilité de l'API car elle doit rester compatible avec les (très) vieux logiciels, sans même une re-compilation de ceux-ci.
    2. Performance car si les appels au système d'exploitation sont lents, impossible de faire un logiciel performant.
    3. Simplicité technique pour qu'elle puisse s'interfacer facilement avec divers langages de programmation (On a eu la démo avec le VB6, le .NET, le Delphi... qui permettent tous aux développeurs de déclarer des fonctions Win32 puis de les appeler).


    L'API Win32 n'est pas un problème pour Windows.
    C'est un mal nécessaire avec les inconvénients qui découlent de ces contraintes.
    Mais c'est une partie intégrante de Windows et ce qui lui donne la force d'avoir un catalogue de logiciels considérable.

    C'est claire que le .NET ne devrait pas être un problème pour Windows vu que l'on peut le considérer comme un composant externe (quasi optionnel) supposé faciliter les développements.
    Une surcouche de la librairie standard C, de l'API Win32 sous Windows et des appels systèmes Unix sur Linux et Mac.

    Aujourd’hui, si vous visez juste la pérennité chez M$, je vous conseillerais simplement de vous appuyer sur l'API Win32 qui a de bonnes chances d’enterrer quelques autres frameworks et bibliothèques modernes et bien à la mode.

    [message écrit via un des 3 navigateurs sur mon PC qui importent tous directement kernel32.dll, user32.dll et quelques-unes de leurs copines]

  13. #53
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2013
    Messages : 19
    Points : 65
    Points
    65
    Par défaut
    Je partage l'avis de Bart-Rennes

    L'API WIN32 est la base de Windows. C'est robuste, fiable, performant et relativement simple.

    Tout les reste (.net et consorts) n'apporte que des complications et ne fait pas avancer le schmilblick (on réinvente la roue, pas forcément en mieux). Perso j'ai décroché...

  14. #54
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 144
    Points : 7 388
    Points
    7 388
    Billets dans le blog
    1
    Par défaut
    Perso, là où j'ai décroché, c'est avec .NET s'oriente à 100% vers WPF et consors.

    J'ai toujours pas compris ce que ça apportait par rapport à WinForms.
    Si WinForms est un warp des API Win32, soit.
    Je ne vois pas pourquoi il faudrait changer la logique de programmation pour pouvoir rendre le Framework portable.
    C'est justement le rôle d'un warper.

    Aujourd'hui, il est extrêmement compliqué de passer de l'un à l'autre : il faut tout réécrire la couche GUI.

    A l'époque de Windows Mobile <= 7, converture du code Win32 et WinMobile se faisait en quelques minutes.

    Là, Microsoft s'entête dans une voie de merde qui veut singer le web, qui à l'origine singe lui-même le Win32.
    Ca a sonné la mort de Windows 10 Mobile avec son UWP que personne n'a même cherché à comprendre : c'est une merde sans nom, avec 25 fichiers de code imbitables pour afficher un pauvre Hello World qui ressemble à rien.


    Que Microsoft porte correctement Win32 comme il a su le faire avec SQL Server, et d'un coup .NET s'imposera largement sur Linux. Mais tant qu'ils resteront dans cette voie de pseudo code XML interprété pour faire la couche graphique, personne ne fera l'effort de migrer massivement des applications vers .NET Core.
    On ne jouit bien que de ce qu’on partage.

  15. #55
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 145
    Points : 25 051
    Points
    25 051
    Par défaut
    faut arrêter de prendre vos cas pour des généralités
    ce n'est pas parce que vous ne comprenez pas .net, wpf ou uwp (ou leur interet) que c'est le cas de tout le monde

    .net par rapport à vb6 ca fait diminuer d'entre 5 et 20 fois le nombre de lignes de code grace à la POO, linq et autres, ca permet donc de coder plus vite, et aussi d'avoir du code plus maintenable et quand on est sur un gros projet c'est juste vital
    wpf (et uwp par extension) ca permet encore de baisser le nombre de lignes de code, ca permet de faire plus vite son interface, ca permet de faire une interface plus dynamique plus facilement, ca permet de bien séparer ui et code
    99% de ce qu'on peut faire visuellement en wpf est faisable en winforms certes, mais à quel prix ...

    alors oui wpf c'est différent à utiliser de winforms, mais la POO c'est aussi différent du code procédural d'il y a 25 ans
    il faut prendre le temps d'essayer, de comprendre la philosophie, pour voir si ca correspond à notre besoin et si on apprécie le langage
    pour passer d'un langage à un autre il faut souvent désapprendre des façons de faire, mais pour un nouveau qui se lance sur du XAML peut etre que ca sera aussi intuitif pour lui que controls.add l'était pour nous en winforms à nos débuts
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #56
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 144
    Points : 7 388
    Points
    7 388
    Billets dans le blog
    1
    Par défaut
    1/ Je ne parle pas de généralité me de "perso", "dans mon cas", "j'ai"
    2/ Je ne parle pas de savoir si "c'est mieux ou moins bien", mais avant tout de l'utilité de faire différemment (et j'insiste, bien plus complexe, aussi bien pour le développeur que pour le compilateur et le framework, et plus lourd) des choses qu'on sait déjà parfaitement faire
    3/ Et surtout du portage du code : l'intérpet de .NET Core, c'est de pouvoir faire tourner nos applications Windows écrites en .NET sur toutes les plateformes... Sauf qu'il faut commencer par les réécrire !

    Je rappelle quand même l'échec cuisant de Windows 10 Mobile et de la mort annoncée de UWP... C'est pas moi qui le dit, c'est Microsoft qui s'est planté.

    C'est pas parce que WPF est mieux (ou même pire) que Microsoft c'est planté. Mais simplement parceque ça ne supporte plus du tout le code écrit pour Win32.

    Et on parle pas de VB6 ni de Windows 3.1 hein. La moindre application écrite en WinForms .NET, faut jeter 50% du code, voir plus, pour pouvoir la porter sur .NET Core. C'est juste une aberration !
    D'autant plus que Mono permet de faire tourner du code WinForms sur toutes les plateformes supportées.
    Il n'y a aucune raison pour que Microsoft sache dessiner un bouton sous Linux avec WPF et pas avec un warper Win32 : derrière, que ça génère un code intermédiaire XAML, je m'en tamponne le bourrichon, tant que j'ai pas à réécrire mon interface en XAML...
    On ne jouit bien que de ce qu’on partage.

  17. #57
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 145
    Points : 25 051
    Points
    25 051
    Par défaut
    tu n'as pas compris la news alors
    .net core est fait pour être portable
    .net core n'a pas de brique graphique
    .net core 3 permettra de faire des exe winforms et wpf mais qui ne tourneront que sous windows.

    donc :
    - winforms aussi si tu ne veux pas de wpf
    - pas multiplateforme tout comme avec .net framework 4.x
    -.net core n'aura toujours pas de brique graphique

    et la plupart du code est compatible donc pas forcément de code à réécrire, c'est juste si tu utilisais des trucs qui ne sont pas dans .net core
    certains pourront basculer une appli winforms de 4.x vers core 3 sans rien réécrire

    donc je ne comprends pas ton histoire que ms veut te forcer à faire du xaml et que tu vas réécrire 50% du code ...

    quant à l'utilité de tout faire différemment en wpf qu'en Windows forms il y en a une même si tu ne l'as pas compris, tout comme il y a eut une un jour une utilité à inventer le C++ après le C
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  18. #58
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Là, Microsoft s'entête dans une voie de merde qui veut singer le web, qui à l'origine singe lui-même le Win32.
    Ca a sonné la mort de Windows 10 Mobile avec son UWP que personne n'a même cherché à comprendre : c'est une merde sans nom, avec 25 fichiers de code imbitables pour afficher un pauvre Hello World qui ressemble à rien.
    La mort de Windows 10 Mobile n'a rien à voir avec cela. La mort de Windows 10 mobile est surtout dû à l'arriver tardif de Microsoft sur le marché. Avec une part de marché de quelques pourcents seulement face aux mastodontes iOS/Android, ils n'ont rien pu faire, et se sont retrouver dans le schéma classique où le serpent se mord la queue : il n'y a pas d'application sur Windows 10 mobile car il n'y a qu'une faible part du marché, et il n'y a qu'une faible part de marché car la plupart des applications n'existent pas sous Windows 10 Mobile. End of Story.

    Tu ne vois pas d'avantages à .NET par rapport à du code Win32 classique. C'est dommage. Je peux te citer :
    • sécurisation (langage à VM, fini les libérations de mémoire et les buffers overflow) ;
    • beaucoup moins de ligne de code (super pour la maintenance et la rapidité d'écriture des logiciels) ;
    • interopérabilité entre les différents langages supportant .NET de manière totalement transparente ;
    • indépendant de l'architecture cible (x86, x64, ou même ARM maintenant), sauf cas très particulier.


    Au sujet du XAML, un des objectifs de séparation de l'UI et du code était de permettre de séparer les tâches de développement des tâches de conception graphique. Le designer n'a alors plus besoin d'être développeur (chose nécessaire avec WinForm, même si le designer de Visual Studio aide pas mal, j'ai toujours été obligé de passer par du code à un moment ou à un autre dans une application un tant soit peu complexe).

    Enfin, .NET Core ne signifie pas la mort de .NET classique. Il faut arrêter de cataloguer des produits/techno comme obsolète car de nouvelles sortent. J'entends depuis des lustres que Win32 est obsolète. Foutaise !!!! Nombre d'actions spécifiques ne peuvent se faire que via l'API Win32 ! Le fait que Microsoft ait choisi de privilégier .NET Core pour le côté portabilité ne signifie pas la mort du Framework .NET. Il a atteint une certaine maturité aujourd'hui, et les ajours niveau API sont largement couvert pour la quasi totalité des besoins.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  19. #59
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 144
    Points : 7 388
    Points
    7 388
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par François DORIN Voir le message
    Tu ne vois pas d'avantages à .NET par rapport à du code Win32 classique. C'est dommage. Je peux te citer :
    Relisez un peu plutôt que de me lyncher sur place.

    Je n'ai jamais dit que .NET était pourri ou autre, et pour cause, je ne code qu'en C#.

    On parle du namespace System.Windows, basé en grande partie sur Win32, et qui n'est pas porté sur .NET Core pour cette unique raison.
    Pour moi c'est une connerie, tout comme le fait qu'il n'est pas présent dans les applications UWP.

    Ça oblige à refaire totalement différemment tout le code de la GUI, et c'est la principale raison pour laquelle personne ne mon entourage n'a sauté le pas.
    Pourquoi se faire chier à écrire spécifiquement du code UWP pour n'avoir comme seul avantage que c'est compatible avec Windows 10 Mobile ?

    C'est rigoureusement ce qui attends .NET Core sur Linux : pourquoi s'emmerder à coder une GUI spécifique pour s'ouvrir à une faible minorité d'utilisateurs Linux ? (je parle bien d'utilisateurs, pas de serveurs).

    Quand on a un logiciel qui contient des centaines de composants Windows.Form, c'est juste rédhibitoire de devoir tout convertir en WCF.
    Et accessoirement, les performances ne sont pas au rendez-vous avec WCF : plus lourd en mémoire et plus lent à l'exécution.
    Le seul (principal) avantage, c'est que c'est vectoriel et s'adapte donc à toutes les tailles d'écran... Et encore, j'aimerais bien voir une application qui utilise la même fenêtre pour un écran de 24" et pour un téléphone de 4".

    Le côté "reactive", ça n'a rien à voir avec WCF. Ceux qui croient qu'on peut pas faire de reactive avec Win32 sont de sombres crétins qui ne savent pas coder... Le multi-threading ca date quand même pas de C# 4 hein.
    On ne jouit bien que de ce qu’on partage.

  20. #60
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Relisez un peu plutôt que de me lyncher sur place.

    Je n'ai jamais dit que .NET était pourri ou autre, et pour cause, je ne code qu'en C#.
    Ce n'est pas du lynchage. Perso, en te lisant, cela ne transparait pas que tu fais du .NET (et pourtant je le sais, tu interviens régulièrement sur les forums )

    Citation Envoyé par StringBuilder Voir le message
    On parle du namespace System.Windows, basé en grande partie sur Win32, et qui n'est pas porté sur .NET Core pour cette unique raison.
    Pour moi c'est une connerie, tout comme le fait qu'il n'est pas présent dans les applications UWP.

    Ça oblige à refaire totalement différemment tout le code de la GUI, et c'est la principale raison pour laquelle personne ne mon entourage n'a sauté le pas.
    Pourquoi se faire chier à écrire spécifiquement du code UWP pour n'avoir comme seul avantage que c'est compatible avec Windows 10 Mobile ?
    Je pense aussi que UWP, c'est de la merde. D'une part car il faut réécrire le code, mais aussi à cause de nombreuses limitations qui font que nombres d'applications ne peuvent pas être UWP, et du pourrissage de l'expérience utilisateur (vouloir une seule application "universelle" alors que les périphériques sont différents est juste un non sens. On ne manipule pas une application de la même manière en fonction de la taille de l'écran, de la présence d'un clavier, d'une souris, ou d'un écran tactile).

    Citation Envoyé par StringBuilder Voir le message
    C'est rigoureusement ce qui attends .NET Core sur Linux : pourquoi s'emmerder à coder une GUI spécifique pour s'ouvrir à une faible minorité d'utilisateurs Linux ? (je parle bien d'utilisateurs, pas de serveurs).

    Quand on a un logiciel qui contient des centaines de composants Windows.Form, c'est juste rédhibitoire de devoir tout convertir en WCF.
    Et accessoirement, les performances ne sont pas au rendez-vous avec WCF : plus lourd en mémoire et plus lent à l'exécution.
    Le seul (principal) avantage, c'est que c'est vectoriel et s'adapte donc à toutes les tailles d'écran... Et encore, j'aimerais bien voir une application qui utilise la même fenêtre pour un écran de 24" et pour un téléphone de 4".

    Le côté "reactive", ça n'a rien à voir avec WCF. Ceux qui croient qu'on peut pas faire de reactive avec Win32 sont de sombres crétins qui ne savent pas coder... Le multi-threading ca date quand même pas de C# 4 hein.
    Tu veux sans doute parler de WPF. Maintenant, je suis d'accord avec toi. C'est juste super chiant de devoir tout réécrire. Rédhibitoire même. Perso, je rêve qu'un framework GUI soit enfin intégré à .NET Core. Mais ce n'est pas prévu. Je pense que Microsoft le fait volontairement pour laisser le champ libre aux Framework tiers. Du coup, pour l'instant, on ne voit que des systèmes basées sur des techno type Electron, où il faut faire du HTML/CSS/JS.

    Il y a quelques framework qui commencent à apparaître, mais il est encore trop tôt pour une utilisation en production (je ne peux pas me permettre d'utiliser cela avec mes clients).
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/08/2017, 03h14
  2. Réponses: 1
    Dernier message: 12/05/2017, 18h04
  3. Réponses: 1
    Dernier message: 05/09/2016, 02h52
  4. Réponses: 1
    Dernier message: 10/05/2016, 10h28
  5. Réponses: 9
    Dernier message: 24/03/2011, 16h33

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