Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Quel avenir pour .NET dans Windows 8 ?
Etes-vous inquiet pour le Framework face à la montée en puissance du HTML 5 et de JavaScript dans l'OS

Le , par Hinault Romaric

0PARTAGES

4  1 
Quel avenir pour .NET dans Windows 8 ?

Etes-vous inquiet pour le Framework face la montée en puissance du HTML 5 et de JavaScript dans l'OS

On assiste depuis la présentation de la Developer Preview de Windows à un certain chamboulement dans l’écosystème .NET.

Microsoft a fait le pari pour son futur système d’exploitation de proposer une nouvelle API WinRT (Windows Runtime) qui sera le socle sur lequel reposeront les applications de style Metro.

WinRT pourra être utilisé pour développer en combinant XAML/C#, VB.NET et C++, ou encore en utilisant le trio HTML5/JavaSCript/CSS. Conséquence, sous Metro, on assiste quasiment à une mort annoncée des technologies .NET, Silverlight ou WPF.

Bien qu’il existe encore la traditionnelle interface utilisateur Desktop sur laquelle pourront fonctionner les applications Win32 et .NET, la vision de Microsoft semble désormais beaucoup plus orientée vers Metro.

Autres signes, le Windows Store ne supporte pour l’instant que les applications Metro, et les solutions de style Metro intégrées dans l’OS sont la plupart écrites en HTML5 (SkyDrive, Mail, etc.). Sans oublier les exemples de code publiés par l’éditeur qui sont également plus orientés HTML5/CSS/JavaScript.

L’idée d’utiliser des standards Web pour créer des applications Windows semble de plus en plus poussée par un Microsoft qui dans le même temps semble se détourner de plus en plus des langages C#, VB.NET ou encore XAML.

C'est en tout cas, et en substance, le point de vue d'un (ex ?) "fan boy" de Microsoft, Julien Dollon, exprimé dans un long billet de blog qui conseille aux développeurs de diversifier leurs expertises et dès à présent de "plonger dans la vague" (celle de ces nouvelles technologies de développement).

Au final, est-il encore fiable pour un développeur de se cantonner uniquement à .NET ? Le Framework pourra-t-il cohabiter au sein de l’écosystème Windows avec les solutions natives en HTML5/CSS/JavaScript ?

Et vous ? Qu'en pensez-vous ? Votre avis est-il proche de celui de Julien Dollon ou pensez-vous qu'il est trot tôt pour parier (presque) exclusivement sur HTML5/CSS/JavaScript (et C++) ?

Source : Billet de Julien Dollon

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

Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 09/03/2012 à 18:08
Le JavaScript ayant montré qu'il était capable de fonctionner a des endroits ou on ne l'attendait pas vraiment (node.js, WebGL, ...), je crains de plus en plus qu'il ne devienne une norme dans tout ce qui ne nécessite pas de la puissance de calcul très lourd.

Les développeurs actuels étant il me semble de plus en plus fainéants et réfractaires à l’apprentissage de nouveaux langages et ne voient plus le typage statique comme un avantage mais une contrainte.
Pour moi le JavaScript doit rester ce qu'il est : un langage de script, pas un langage de programmation d'application. On est obligé de composer avec sur le Web certes mais je ne veux pas avoir a me le farcir sur des application lourdes un langage qui n'est pas du tout conçu pour ça.
16  0 
Avatar de MeTaLCaM
Membre habitué https://www.developpez.com
Le 12/03/2012 à 11:11
Heu... C'est moi ou bien j'ai raté un truc là ?

Vous bossez tous pour des boites d'applications mobiles ou... ?
Parce que là, développer une appli sur W8 ça reste très B2C...

Je pense que la grande majorité d'entre nous n'aurons pas à développer pour l'interface métro. En tout cas dans mon secteur (finance), les applis lourdes sont majoritairement utilisés et je vois pas les utilisateurs utiliser W8.

Je suis dans le .Net et je compte (pour le moment) pas me diversifier.
Peut-être que microsoft "peut" abandonner une techno (WPF, silverlight...) mais pas un langage entier ! C#5 est très prometteur et on peut faire des tas de choses avec.

J'aimerais bien avoir des stats, mais je pense que les développeurs en France travaillent peu sur des applications B2C, ou si c'est B2C ça reste majoritairement des sites web.

Microsoft se doit d'apporter une solution pour chaque problématique métier. Pour du site web pur et dur, oui on aura HTML5/JS/CSS comme c'est déjà le cas avec ASP.Net MVC...

Donc honnêtement, c'est un peu enfoncer des portes ouvertes ! En gros moi d'après vos dire, j'ai l'impression que vous spéculez sur la fin du framework entier juste sur... l'impossibilité de créer des applications en WPF/Silverlight pour les particuliers et sur W8... Perso je pense que ça touche une toute petite minorité des développeurs .Net.

Mais ce n'est que mon avis.
14  0 
Avatar de StringBuilder
Expert éminent https://www.developpez.com
Le 09/03/2012 à 17:38
Bonjour,

Désolé de polluer le topic si c'est le cas mais... HTML5, Javascript et CSS ne sont-ils pas destinés plutôt à la GUI (comme c'est le cas actuellement, il s'agit de la GUI de sites web).

Le moteur derrière, qui fait les exécutions, il faut bien le coder avec quelque-chose, non ? Comment un markup language et un pseudo langage non typé peuvent prétendre remplacer les algorythmes mis en place dans les programmes ?

Alors pour une gestion de contacts à partir d'un fichier XML, oui, pourquoi pas. Mais pour une application du genre ERP, gestion documentaire, programmes bancaires, jeu "complexe" (pas une daube en flash) etc. c'est à dire ce qui emploie au moins 90% des développeurs, je vois pas trop comment on peut faire sans un langage "lourd".

Et si .NET est en danger, alors Java ou C le serait aussi, non ?

Que craignez-vous ? Que .NET devienne inutile (c'est le sens de votre post, à première lecture), ou que Microsoft abandonne .NET au profit d'autre-chose ?
Si c'est la seconde question, j'en doute fortement... Sinon, il aurait déjà abandonné d'autres produits, qui sont moins rentables.

En revanche, que XAML et WCF disparaissent au profit de HTML5/JavaScript/CSS, ça, il n'y a pas photo : ça sert exactement à la même chose, c'est inutile de maintenir deux technos concurrentes !
12  2 
Avatar de BenoitM
Expert confirmé https://www.developpez.com
Le 12/03/2012 à 11:18
Citation Envoyé par Le Vendangeur Masqué Voir le message

Maintenant tu peux rester sur ton Linux sur PC, mais déjà Linux ça a pas un énorme marché, mais en plus le PC tel qu'on le connaît commence lui-même à décliner... Ça va être dur.
Alors c'est vrai qu'on peut vivre chez papa-maman et/ou se contenter du RSA et faire passer l'idéologie avant tout le reste, mais je crois pas que ça soit dans un forum de professionnels de l'informatique (= qui en vive) qu'il faut venir présenter cela.
Euh c'est pas parce qu'un marché évolue qu'un autre décline.

Je vois mal la secrétaire tapper ses lettres sur une tablette
Je vois mal mon comptable utiliser une tablette.
Je vois mal mon entreprise d'assurances encoder ses clients sur une tablette
Je me vois très mal développez mes applications sur une tablette

Et je me vois mal écire mon applications de gestion d'assurances sans .Net ou du Java
8  0 
Avatar de DonQuiche
Expert confirmé https://www.developpez.com
Le 02/04/2012 à 20:28
@Zulad
Je reprends d'abord quelques assertions en vrac:
  • Le C# ne pourrait pas être étendu faute d'accès au code source. JS non plus puisque tu dois te conformer au standard. Certes les code source de certains navigateurs est dispo, tout comme celui de Mono pour dotnet.
  • VB serait le langage de prédilection. Pas du tout, c'est C# : le plus utilisé et celui que MS bichonne le plus.
  • C# serait trop proche du C et trop bas-niveau. Voici qui révèle une totale méconnaissance de ce langage. C# possède notamment à peu près tout ce qui existe dans JS et davantage (typage statique par défaut et support intégré des types dynamiques, closures, lambdas, événements en standard p/invoke, énumérables, méthodes d'extension, etc). C'est un des langages les plus riches qui soit en fonctionnalités de haut niveau.
  • Par "faire du multimédia" tu désignes improprement la création d'interfaces riches.
  • Il faudrait rajouter des tonnes de framework en dotnet. C'est une blague ? Aucun dév JS ne travaille plus sans JQuery (un framework) et beaucoup utilisent en plus des ExtJS & co (d'autres frameworks) puisque html n'offre pas de briques UI de base dignes de ce nom.


Maintenant, il serait impossible de faire du JQuery en C# ? Exemples de code, certains possibles en JS, d'autres non, certains dispos en standard, d'autres réclamant 5 lignes de code en amont. A l'exception du premier exemple qui n'est valable que sur des noeuds XML, le reste s'applique à n'importe quel ensemble d'objets : ils n'ont pas à définir de méthodes "First", "Where", "Recursive", "OrderBy", etc (c'est ce qu'on appelle des méthodes d'extension). En revanche une DB pourrait aussi "surcharger" ces méthodes pour offrir un code optimisé. Pour la comparaison, seul le premier exemple serait aussi aisé à écrire en JS mais ce dernier n'a pas de syntaxe assez souple pour les suivants ni de support pour les méthodes d'extension (il faudrait une indirection de plus, comme le $() de JQuery). Je précise enfin que tout ce qui suit utilise exclusivement le typage statique, preuve qu'il n'est pas aussi limitatif que tu sembles le penser et avec tous les avantages que cela implique (vérifications par le compilateur, performances, intellisense, découvrabilité des API - bref, productivité).
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
// Sélectionner le premier élément <a> ayant la classe "truc" dans un doc html.
var result = root.SelectNodes("//a[@class='truc'"]).First();
// Prendre les 5 premiers éléments sélectionnés dans la hiérarchie UI descendante et les trier par leurs noms. Puis changer leur couleur de fond.
var result = node.DescendantsAndSelf().Where(x => x.IsSelected).Take(5).OrderBy(x => x.Name);
foreach(var selected in result) selected.Background = Brushes.Red;
// Sélectionner le premier enfant de type ForLoop dans le DOM d'un langage.
var result = node.Descendants().FirstAs<ForLoop>();
// Afficher le chemin "a>b>c>d" dans une hiérarchie ascendante sur un système de fichiers.
var result = node.Recursive(x= > x.Folder).Reverse().Implode(x => x.Name, ">");
// Obtenir le premier élément correspondant dans une liste, ou null sinon
var result = list.FirstOrDefault(x => x.IsSelected);
Les seuls cas où un langage dynamique comme JS est plus adapté pour l'UI sont :
  • Le prototypage ou les logiciels de petite taille.
  • L'inclusion de morceaux de codes très courts (typiquement une seule ligne) au sein d'un langage déclaratif pour l'UI, par exemple pour définir des bindings avec conversions de données. En html malheureusement tu ne peux inclure que des déclarations de handlers en JS. Regarde plutôt ce qui se fait du côté de Qt Quick où JS y est utilisé intelligemment mais uniquement pour une petite part de l'appli, le reste relevant du C++.


Dynamique != plus puissant != plus adapté à l'UI.
8  1 
Avatar de sevyc64
Modérateur https://www.developpez.com
Le 09/03/2012 à 20:45
.Net est dépassé, c'est bien le message que semble vouloir faire passer Microsoft.

Ce n'est pas la première fois que Microsoft suicide une technologie qu'il avait pourtant lancer et qui commençait enfin à devenir mature et largement prometteuse.

Ceci dit, j'ai commencé à regarder W8. Honnêtement, si ça reste en l'état, s'il est bien orienté mobile et tablette, je doute qu'il soit massivement adopté en entreprise sur les postes de bureau. Je pense que Microsoft, avec W8 est en train de préparer un avenir à la XP pour W7.

C'était prévisible. Depuis le début de l’existence de Windows (et même, on pourrait dire avec le DOS), Microsoft nous a habitué à faire une très bonne sur 2, la seconde naviguant oscillant entre sans intérêt et complètement ratée.
Enfin, c'est encore trop tot pour le dire, mais bon, perso je suis pas convaincu.
7  1 
Avatar de AppMaestro
Membre régulier https://www.developpez.com
Le 09/03/2012 à 22:24
Pour ma part je crois surtout que le blogueur dont il est question crée la polémique pour augmenter la fréquentation de son blog.

Microsoft est l'une des boites qui assure une des meilleures rétro compatibilité sur le long terme ... abandonner .net serait suicidaire pour eux.

Ils mettent simplement l'accent sur HTML5 / JS pour attirer de nouveaux développeurs qui ne toucheraient pas à .net, jugé trop compliqué pour des gens qui bidouillent* du JS.

Ça va pas aider la qualité du parc applicatif ça par contre ...

* il y a des gens très compétents qui développent en JS, mais disons que c'est pas la majorité ...
10  4 
Avatar de Bluedeep
Inactif https://www.developpez.com
Le 02/04/2012 à 13:01
Citation Envoyé par zulad Voir le message
Je pense que MS veut virer de technologies pour de question de restrictions dues à une mauvaise conception de langages C# et VB beaucoup moins puissants qu'un Javascript ou un Dart structurellement mieux faits .
Tu peux ajouter un semblant de démonstration à ce délire hallucinatoire ?
6  0 
Avatar de Nathanael Marchand
Rédacteur https://www.developpez.com
Le 02/04/2012 à 17:40
Citation Envoyé par zulad Voir le message
Le C# c'est du C like, je dirais à ce niveau qu'ils sont passé à coté de leur objectif : Le langage de .Net c'est pas C# mais VB... et c'est beaucoup trop verbeux à mon goût.
Oh ben oui, c'est bien pour ca que toutes les nouvelles fonctionnalités sortent sur VB.Net avant de sortir sur C#.

Citation Envoyé par zulad Voir le message

Seul un langage comme le JS permet de faire des appli réactives et des librairies lisibles à la volée de manière performante. Voilà
Oh pinaise, j'en ai encore une crampe à ma machoire

Pour être allé au DevCamp Windows8 chez Microsoft, je peux vous dire que le message est de ne surtout pas abandonner .Net (ni C# d'ailleurs)!
Ceux qui ont fait du HTML5 pour des applis Metro c'était soit:
-Pour s'essayer à l'HTML5 et voir ce que ca donne;
-Parceque c'est une migration d'application existance en HTML5;
-Parceque c'est pour un client et qu'après le client à des ressources en HTML5 dans ses équipes et pas en XAML.

Par ailleurs, si si, il est possible de faire du JS propre, découpé, modulable, avec des patterns comme le MVC, etc.
Perso, non je ne suis pas fan du html5 sauce metro: tous les controles sont des div, je trouve qu'on s'y perd completement à la lisibilité. En xaml, un textbox c'est un textbox, un bouton est un button. En HTML5 tout est div

D'ailleurs il est à souligner que les seuls languages ou il est possible de faire des libraires de controles sont le C# et le C++. Impossible en Javascript.
6  0 
Avatar de ptah35
Membre éclairé https://www.developpez.com
Le 02/04/2012 à 20:29
@zulad,

corrigez-moi si je me trompe, mais il me semble que derrière votre discours à propos des défauts des "languages microsoft" et de la supériorité de l'ECMAScript ou de dart se cache en fait simplement l'expression de votre préférence pour les langages à typage dynamique.

Or rien dans la machine virtuelle de .NET n'empêche l'utilisation d'un langage dynamique, et il n'a pas été nécessaire de modifier ou d'étendre le MSIL pour compiler ces langage pour elle. L'ajout de la DLR a seulement permis de simplifier l'implémentation de ces compilateurs.

Cela n'a d'ailleurs rien d'étonnant, le premier compilateur LISP a été implémenté pour un IBM 704 -- un ordinateur électronique à tube et à mémoire torique -- dont le jeux d'instruction n'avait sans doute pas grand-chose à voir avec celui des x86, pourtant on retrouve LISP sur nos machines à base d'Intel. MSIL ou Bytecode sont les jeux d'instructions de machines virtuelles, mais ces machines virtuelles ne sont pas plus différente d'un microprocesseur x86 que ce dernier l'est du processeur de l'IBM 704. On retrouve d'ailleurs des compilateur LISP pour ces deux jeux d'instructions.

Ensuite, si par "machinerie de .NET" vous entendez la bibliothèque de classes, elle est essentiellement écrite en C#; en ce sens .NET permet donc d'étendre .NET.

De façon très subjective, j'ai une préférence pour les langage fortement typé mais j'apprécie la souplesse et la puissance de langage dynamique (comme beaucoup, j'ai appris la programmation avec Scheme), de là à dire que les uns sont plus "nobles" que les autres, c'est une chose que je ne ferais pas. En outre, c'est une chance C#permet d'avoir en quelque sort le meilleur des deux mondes.
6  0