cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 2008
-
21 avril 2006 à 02:41
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 2008
-
21 avril 2006 à 22:59
Salut chers .Netiens;
Après avoir essayer plusieurs langages de programmation et plusieurs API, jai fini par trouver ma plateforme de rêve : .Net. Mais voilà, cette plateforme (hormis pour le web) est pour la grande partie une grosse couche dabstraction sur Win32 et aussi la mieux réalisé (contrairement à MFC :) Malgré le fait quelle soit incomplète, on peut toujours faire des appels Win32 grâce à lattribut DllImport.
Premièrement, ma question est sur WinFX qui va sortir avec Windows Vista en release : Si .net est un wrapper de win32, est-ce que WinFX va être une api indépendante et autonome ou simplement un autre wrapper encore plus gros et plus complet ? Sur le site de Microsoft, on parle juste des grandes lignes de WinFX : Avalon pour linterface graphique, Indigo pour la communication et dautres choses dont jignore lutilité (les workflow foundation par exemple :) Le problème cest que ça me semble incomplet pour ceux qui veulent faire de la programmation Windows pure et dure (Thread, Process, API hooking, Hooks, Injection de DLL, )
Alors, est-ce que WinFX va être une API autonome et complète?
Deuxièmement, Microsoft dit que WinFX va finir par remplacer Win32. Ce que je comprends par là (et je peux me tromper) cest que dans le future, il va falloir utiliser un langage managé pour développer sur WinFX et que les programmeurs C/C++ (Visual C++ et Win32 pour être plus précis) vont soit devoir migrer vers les langages .net ou encore (et là je fais de la science fiction) utiliser une couche dabstraction sur WinFX (les rôles qui sinversent quoi :) Il faut pas oublier que lun des plus imposants langages de développement actuellement est C++ (sur Windows, Linux, MacOS, )
Alors, win32 va être remplacé par WinFX?
Finalement, et cest sur un plan personnel, est-ce que je devrais retourner à Win32, réapprendre C++ (et combattre ma phobie pour les pointeurs :) ou continuer mon apprentissage de .Net et attendre fièrement WinFX?
Je mexcuse si cest un peu long ou encore si jai dit des niaiseries (un peu comme ceux qui disent que le C# et plus rapide que VB.net :) mais je dois démêler ça et comme dit Microsoft, « Having the facts for making better descision » mais dans un autre contexte.
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 21 avril 2006 à 09:34
WinFx viens se rajouter au framework .Net. C'est une "série de librairie" supplémentaires qui complète tout ce qui existe déjà en .Net. C'est donc un mélange entre une grosse librairie et un gros warper... (par exemple la partie WPF, avec l'utiliation de directX).
Pour ce qui est des thread, process, hooking, etc, on continuera a utiliser le framework .Net existant, ce n'est pas le role de winFX.
Pour faire simple, ce que va réellement changer WinFx concerne les parties présentations (WPF), communication (WCF), workflow (WF), en enrichissant le framework actuel.
Concernant le remplacement de Win32... ca dépendra de l'utilisation qui en est faite. Si tu veux continuer a faire du C++ non managé, tu continuera a utiliser Win32. Si tu veux utiliser le framework .Net et WinFx, le plus logique est de se mettre au VB Net/C#. Je ne vois pas trop l'utilité de "porter" le c++ pour utiliser WinFx.... le C# est la pour ca !
Personnellement, je t'encouragerai donc à continuer ton apprentissage de .Net...mais par contre je ne suis pas sur que WinFx réponde à tes attentes...(en particulier si tu trouve le framework "incomplet" (dans quel domaine?) a priori WinFx n'y changera rien).
Voila, les autres corrigeront si j'ai raconté trop de bêtises !
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 21 avril 2006 à 16:56
Merci pour ton commentaire
Malédiction pour ceux qui vont utiliser win32 pour faire de la programmation windows sur vista puisque cette api ne supportera pas les nouveautés du système d'exploitation. Selon moi, Win32 est un sous-système qui va rester sur Windows Vista simplement pour une question de compatibilité.
Tu dis que WinFX va venir compléter le framework. Microsoft dit que ça va devenir l'API principale de windows. Le problème est que c'est pas en ajoutant des effets spéciaux (Avalon) ou encore en améliorant la communication (Indigo) que WinFX va devenir une api autonomme.
en particulier si tu trouve le framework "incomplet" (dans quel domaine?) a priori WinFx n'y changera rien
Prenons le cas du API hooking et de l'injection de DLL qui sont très utilisé par les professionels dans le débogage (et par d'autres dans le piratage). Est-ce que WinFX va nous permettre d'injecter des assembly??? Ni Avalon, ni indigo ne semble servir dans cette situation.
Je ne vois pas trop l'utilité de "porter" le c++ pour utiliser WinFx.... le C# est la pour ca !
Personnellement, je trouve que Microsoft ne veut pas du tout investir dans des technologies portables (ce qui se comprend, c'est une compagnie pas le père Noel). Le C++ est très utilisé sur MacOS et sur Linux et si on respecte les normes (ISO je pense) il est très portable. Java l'est encore plus. Maintenant, quand est-il du C#, ou plutot quand est-il de .net? Bien que certains essaie de la rendre portable (malheuresement, sans l'aide de Microsoft), pensons au projet Mono par exemple, il n'en reste pas moins qu'un fossé risque de se produire dans la portabilité si Microsoft force les développeurs à déménager vers .Net (et quand je dis qu'elle tord le bras, j'exagère pas :)
Finalement, avec Windows Vista, je vois pas pourquoi on continuerai à utiliser l'expression "code managé" puisque WinFX va être intégré au coeur du système. On dit pas "code Win32" même si c'est ca qui load les applications windows actuellement.
Microsoft affirme que WinFX va être 100% orienté-objet...euh, avec quoi on a fait WinFX pour qu'elle puisse être orientée objet ???? on peut faire de la OO en assembleur ou en C, mais c'est tordu :)
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 21 avril 2006 à 17:15
Microsoft dit que ça va devenir l'API principale de windows. >>
pour l'affichage (WPF), la communication inter-process/appli (WCF) la gestion de l'intelligence des applis (WF).... C'est un gros morceau tout de même, et ce que tu fera de cette facon, tu ne le fera plus par win32... Pour le reste, la partie plus "systeme", comme le dll hooking ou l'injection de dll, ca marchera pareil qu'aujourd'hui...
Malédiction pour ceux qui vont utiliser win32 pour faire de la
programmation windows sur vista puisque cette api ne supportera pas les
nouveautés du système d'exploitation >>
Et bien si justement... car les nouveautés de Vista concernent justement l'affichage, la communication, le système de fichier (enfin, un jour peut etre)... bref tout ce que vise WinFX. Par contre, le dll hooking ou l'injection de dll... Vista n'apporte rien - WinFx non plus.
Pour ce qui est de la portabilité.... tu pourras continuer a faire du C++ sous Vista... et utiliser Directx10 (ou soyons fou, OpenGL) plutot que de faire du .Net et d'utiliser WPF. Après c'est un choix. WinFX est fait pour .Net, un point c'est tout.
Microsoft affirme que WinFX va être 100% orienté-objet...euh, avec quoi
on a fait WinFX pour qu'elle puisse être orientée objet ???? >>
WinFx est fait en .Net (un peu), en C++, voir encore plus bas lorsque necessaire... Ce qui est tout a fait normal. Etre objet signifie que cette lib s'utilisera de facon complètement Objet (pas comme les MFC par exemple), ca ne signifie pas qu'elle est écrite uniquement en objet. (de la même facon qu'une machine virtuelle Java n'est pas écrite en Java, ou qu'un compilo C++ n'est pas écris en C++...)
boumarsel
Messages postés298Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention 9 juillet 20081 21 avril 2006 à 20:13
Lapi win32 est indispensable pour développer toute application système qui se respecte. Tous les programmes fournis avec Windows (explorer, iexplorer, wmplayer...) utilisent l'api win32 sans aucune couche intermédiaire même après l'apparition de .net (pour s'en assurer, il suffit d'utiliser qq utilitaires fournis avec visualStudio pour voir la liste des dll chargés et espionner les appels aux fonctions api).
ce que je veux dire par ça, c'est que l'idée de microsoft est claire : fournir une plateforme très simple à appendre et à utiliser : .net, permettant de développer toutes les applications « à la mode » : n-tiers, complexes, utilisant plusieurs composants GUI, la rapidité n'est pas un souci alors que la portabilité est exigée (dans le sens déviter x.dll introuvable, mauvaise version (de tel ou tel composant pas plus ;) ) genre système d'informations et autres..mais l'api win32 ne sera jamais dépassé mais plutot demandé pour une grande catégorie d'applications.
"Finalement, et cest sur un plan personnel, est-ce que je devrais retourner à Win32, réapprendre C++ (et combattre ma phobie pour les pointeurs :) ou continuer mon apprentissage de .Net et attendre fièrement WinFX? " >>
les deux en parallèle :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 21 avril 2006 à 22:23
merci pour vos commentaires;
Alors pour résumer un peu : WinFX va apporter de nouvelles fonctionnalités facilitant le développement, améliorant la productivité et suivre le chemin tracé par .net. Pour ce qui est du Win32, il va servir aux taches rudimentaires dans des domaines qui lui sont propre.
Il y a un petit problème là. Windows doit avoir une seule API qui doit faire tout. Ça ne fait pas de sens de développer 75% WinFX et 25% Win32. On fait quoi si on travaille sur un projet qui necissite Avalon et l'injection de DLL? (vous allez dire DllImport ou COM -> .Net mais c'est pas l'idéal)
Ça se peut que ce que vous dites soit vrai mais dans ce cas-là, ca va etre temporaire, le temps de faire une migration complète de Win32 à WinFX.
On connait vraiment ce qui va être inclus dans WinFX ou c'est pas encore sure?
Dans Windows Vista, l'explorateur et les outils systèmes vont être fait avec Win32 ou WinFX.....ou les deux ?
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 21 avril 2006 à 22:59
WinFx et Win32 sont complémentaires, WinFx n'a pas et n'aura jamais vocation a remplacer Win32... Si tu veux Win32 c'est la couche "basse" de l'API windows, et WinFx c'est une partie de la couche haute... (le Framework .Net étant dans ce cas une couche intermédaire...).
Et pour répondre a tes questions: Oui on sait ce qu'il y aura dans WinFx- tous les composants sont déjà utilisables, soit en "go live", soit en beta. Quand a l'explorateur de Vista (l'actuel, pas "WFS"), comme une très grande partie de l'OS, c'est du C++/Win32, et pour une petite partie du .Net managé.