Developpez.com

Le Club des Développeurs et IT Pro

Windows 10 : Microsoft présente « Universal App Platform »

Qui permettra de coder une fois et déployer sur plusieurs types d'appareils

Le 2015-03-03 14:56:59, par Hinault Romaric, Responsable .NET
Windows 10 est le système d’exploitation qui permettra de fédérer l’ensemble des dispositifs sous lesquels fonctionnent les plateformes Microsoft. L’OS s’exécutera sur les PC, smartphones, tablettes, etc., et offrira une expérience qui sera adaptée en fonction du terminal de l’utilisateur.

« Nous ne parlons pas d’une même interface pour les gouverner tous », avait expliqué Terry Myerson, vice-président exécutif, Operating Systems chez Microsoft, lors de la présentation de l’OS. « Nous parlons d’une famille de produits – une expérience sur mesure pour chaque appareil ».

Comment fonctionneront les applications des développeurs sur ces différents périphériques ? Comment feront-ils pour offrir une expérience cohérence pour chaque type d’appareil ? Cela se fera via « « Universal Apps ». En quoi consiste cette dernière ? Microsoft vient de fournir, dans un billet de blog, plus de détails sur cette nouvelle façon de développer les applications pour Windows.


Kevin Gallo, directeur de Windows Developer Platform chez Microsoft, explique que Windows 10 a été conçu pour offrir un noyau unifié qui permettra aux développeurs de créer des applications avec un socle commun (logique métier et interface utilisateur), puis grâce à des outils de développement, d’ajouter des fonctionnalités qui sont spécifiques à un appareil donné au-dessus de cet unique socle.

Concrètement, Microsoft a développé un SDK (kit de développement logiciel) d’extensions, qui permettra aux développeurs de créer des éléments pour chaque plateforme et les ajouter au-dessus d’un seul binaire.

« L’ Adaptive UX » de Windows 10 permettra à l’interface utilisateur de s’adapter avec fluidité au dispositif sur lequel il s’exécute. Il prendra aussi en compte comment l’utilisateur interagir avec l’application pour fournir l’expérience adaptée.

Windows 10 offrira également les « Web Apps » aux développeurs Web. Ceux-ci pourront créer une application Windows qui embarque leur site Web et qui sera publiée sur le store. Une fois installé, le site web pourra utiliser les API universelles JavaScript, pour exploiter le plein potentiel du dispositif (notifications, appareils photo, contacts, calendrier, etc.).

Windows 10 est actuellement disponible en préversion pour les tests. Pour télécharger l’OS, vous devez rejoindre le programme Windows Insiders. Ce dernier avait été initié par Microsoft pour travailler en étroite collaboration avec les utilisateurs afin de façonner avec eux l'avenir de Windows.

Source : Microsoft
  Discussion forum
51 commentaires
  • blbird
    Membre chevronné
    Envoyé par sazearte
    Avec la multiplications des plateformes et l'emprisonnement des écosystème développer 1 application multi-plateforme et devenue impossible, il faut a chaque fois tous recodé.

    J'aimerais que les éditeurs d'os (Windows, Linux, IOS, Android...) s'entende pour crée un "langage universel", ou en prendre 1 existant et le rendre universel.
    Hé bien justement, Microsoft sera le premier à essayer d'aider au mieux les développeurs en leur proposant une base commune. J'insiste sur le mot base.

    Et c'est bien ca l'idée forte sur laquelle Microsoft aurait déjà dû s'appuyer avec Windows 8.x, ils ont loupé le coche. A eux de se rattraper, car c'est le seul éditeur qui peut le faire, grâce à son framework DotNet commun à toutes ses plateformes.

    Pour moi c'est une très bonne évolution.
  • ash.ice.loky
    Membre éprouvé
    D'un autre coté qui peut avoir envi de faire du java après avoir expérimenter le .net ??

    plus sérieusement, j'utilise xamarin depuis plus d'un an maintenant et je ne me vois pas refaire du web pour une application mobile.
  • yoyo88
    Membre chevronné
    Envoyé par kilroyFR
    (je fais abstraction des contraintes de devt, des mauvaises performances, là ou avant tu affiché une suite de bitmaps pour faire une animation maintenant tu utilises un objet auquel tu appliques des translations mathematiques ... ou comment faire complique pour faire des trucs simples lol).
    je suis pas trop d'accord la dessus, oui c'est plus complexe mais c'est aussi beaucoup plus souple.
    chez nous on transforme toute nos icone en forme (rectangle/ligne ect). oui c'est compexe et oui parfois c'est chiant mais cela permet de bénéficier au mieux des possibilité du XAML.
    Agrandir un bouton ? pas de problème c'est vectoriel sa restera propre.
    rajouter une animation ? pas de soucie.
    changer la couleur du background ?pareil et je peux même gérer cela dynamiquement avec du binding.

    C'est un énorme avantage de pouvoir faire évoluer le look de son application sans a avoir a toucher a des image BMP ou avec un minimum de code. au pire on va rajouter un ou deux converter et quelques property au ViewModel. c'est rien et ça peut toujours être réutiliser.

    Envoyé par kilroyFR

    La maintenabilité des applis WPF on pourrait en ecrire des livres. Je n'ai jamais eu l'impression qu'on avait vraiment progressé a ce niveau.
    MFC etait compliqué car il imposait un modele difficile a tordre (document/vue) mais WPF c'est encore pire (tu jettes tout ce que tu as appris en programmation et tu recommences a zero pour un resultat ... bof)
    franchement avec une bonne architecture y'a pas de souçie.

    Oui le MVVM + C#/XAML c'est pas forcement évident a appréhender, mais une fois qu'on y a gouter et que l'on maitrisse, c'est franchement que du bonheur.
  • dfiad77pro
    Membre expérimenté
    Envoyé par kilroyFR
    Personnellement lors du passage a CLI/C++ j'ai preféré rester sur le principe de soit faire du C++ (MFC) traditionnel ou du C# mais jamais les 2 en meme temps.
    Ca sent vraiment la techno batarde ou on essaie de melanger les 2 mondes - rien que la syntaxe cabalistique est illisible.

    Bon l'avantage du MFC c'est que ça démarre rapidement ( quand t'a pas un SSD ça compte)

    Mais quand tu as gouté au XAML et à blend, tu ne supportes plus de coder une UI en vieux c++/MFC.

    Il existe plein d'appli jolies en MFC voir VB6 mais niveau code c'est souvent des hack avec des images collés de partout, c'est pas toujours propre et maintenable ( cf samsung magicien, etc..)
  • micka132
    Expert confirmé
    Envoyé par kilroyFR
    En developpement client Lourd GUI Microsoft n'a plus rien a proposer; j'espere que les universal apps vont apporter quelque chose... en meme temps entre temps je suis passé a Android/Java donc ca va etre dur de revenir en arriere...
    Qu'est-ce qui selon toi différencie WPF d'Android? En quoi une application Android sera plus maintenable qu'une WPF ? T'as vu beaucoup de "grosses" applications en Android?
    J'ai l'impression que tu as fais une fixete sur MVVM, mais WPF n'est pas obligatoirement utilisé avec du MVVM, tu peux coder tout ceux que tu veux dans le code behind (comme en winform).
    Pour ton animation, tu peux également le faire "à l'ancienne" si ça te chante! Soyon fou, mais tu peux même faire toute ton interface sans xaml, faire un get/set de chaque label directement dans le code!
  • I_Pnose
    Membre chevronné
    Envoyé par kilroyFR
    En developpement client Lourd GUI Microsoft n'a plus rien a proposer; j'espere que les universal apps vont apporter quelque chose...
    Ah ben tu vas être déçu ; WPF, Silverlight, Universal Apps, Windows App (si je dis pas de bêtises c'est ainsi que seront appelées les applications universelles Windows 10)... tout ça c'est sur le même modèle C#/XAML.

    Question de point de vu, pour avoir fait du dév Android pendant deux ans et du dev WPF pendant cinq ans et des brouettes, je préfère infiniment ouvrir mon Visual Studio et bosser sur du C#/XAML ; quand on a franchi tous les obstacles des premiers mois ce n'est que du bonheur (encore une fois c'est mon point de vu).
    Maintenant pour faire des apps Android je passe par Xamarin qui me permet de faire du MVVM, et là encore c'est tout bénéf pour moi (fini Java/Eclipse).
  • rambc
    Membre chevronné
    On dirait du responsive design mais appliqué aux IHM. le concept me plait même si je pense que développer une interface WEB est la solution quand on peut le faire.
  • htoukour
    Membre régulier
    Après Ubuntu linux et son interface Unity, voilà maintenant Microsoft ; apparemment le monde sera dirigé vers cette technologie d'adaptation d'écran.
  • dfiad77pro
    Membre expérimenté
    Envoyé par sazearte
    Avec la multiplications des plateformes et l'emprisonnement des écosystème développer 1 application multi-plateforme et devenue impossible, il faut a chaque fois tous recodé.

    J'aimerais que les éditeurs d'os (Windows, Linux, IOS, Android...) s'entende pour crée un "langage universel", ou en prendre 1 existant et le rendre universel.

    On peut rêver

    Quand on voit les débats que provoquent les différents langages et Framework ici même...

    - Je ne vois pas Microsoft céder pour utiliser du Java sur un autre Framework que .NET
    - Idem pour Google et Apple

    Bref chacun innove, et celui qui prend le dessus rendra forcément la concurrence plus rude pour les autres...

    En ce moment on a une telle profusion de framework et langages dans le WEB que les SS2I ne savent même plus quel mouton à 5 pattes trouver
    Il devient impossible de tout connaitre ( bon les aficionados moustachus diront que quand on connait un Langage de Turing-Complet, on les connais tous...)
  • dfiad77pro
    Membre expérimenté
    Envoyé par sazearte
    Tu parle du coté serveur je suppose ?
    Moi j'en connais 6
    PHP, Java, Python et NodeJS, Ruby on Rails,ASP

    PHP et python sont assez proche niveau syntaxique, c'est des langages très facile quand même.
    NodeJS, si tu sait coder en JS y'a pas trop de problème.
    Java, j'ai jamais fais un serveur web en java, mais sa doit être comme le python, si tu connaît les bases du langage sa doit pas être trop dur ?
    Ruby on Rails connaît pas.
    ASP connaît pas.

    Mais PHP se prend au moins 50%, java sa s'utilise que dans les banques, le python je pense que tous le monde connaît, peut être pas Django, mais rien de bien sorcier, ASP c'est plutôt rare, Ruby on Rails je sais que sa s'utilise, mais je connais pas.

    De tout les cotés je dirai