Microsoft ouvre le développement d'applications universelles aux développeurs C++
Les outils Visual C++ pour Windows 10 disponibles

Le , par Malick, Community Manager
Microsoft ouvre le développement d’applications universelles aux développeurs C++
Les outils Visual C++ pour Windows 10 disponibles

Microsoft a récemment dévoilé la préversion de Visual Studio 2015, un EDI permettant de faire du développement multiplateforme en utilisant le langage C++. En effet, ce dernier continue d'être un langage très important dans le développement d'applications pour Windows.

Pour rappel, Visual C++ est un environnement de développement intégré pour Windows, conçu par Microsoft pour les langages de programmation C et C++. Il intègre différents outils pour développer, compiler, déboguer un programme en C++ s'exécutant sur Windows, ainsi que des bibliothèques comme Microsoft Foundation Class (MFC) . Visual C++ a été intégré à la suite Visual Studio, qui constitue un cadre unique aux divers environnements de développement de Microsoft.

Aujourd'hui, la firme de Redmond complète son kit de développement pour Windows 10, afin de permettre aux développeurs C++ de rejoindre les développeurs C# dans l’aventure Windows 10. Les outils qui viennent d’être publiés sont constitués de Windows Universal apps, de l'API Contracts, du C++ Runtime Dependencies for Universal Apps et Windows SDK(s).

1. Windows Universal apps

Cet outil intègre de nouveaux modèles de projets écrits en C++ que les développeurs pourront utiliser dans le cadre du développement d'applications universelles pour Windows. Les « Universal Apps » permettent aux développeurs de définir un code commun (le backend d’une application par exemple) et plusieurs projets d’IU, chacun ayant des éléments d’interface utilisateur alignés avec la résolution du dispositif ciblé (PC, smartphone, Xbox, etc.).



2. API Contracts

Les développeurs vont pouvoir concevoir des applications universelles pour Windows 10 en utilisant l'API Contracts. En effet, cet outil permet aux développeurs de vérifier, au moment de son exécution, si une fonctionnalité de Windows est disponible sur le périphérique avant de faire appel à une API connexe. Le code ci-après en est une illustration :


Les fonctionnalités de l'API Contracts ont été activées au niveau du compilateur C++ et dans l'environnement de développement.

3. C++ Runtime Dependencies for Universal Apps

Tout comme les applications disponibles dans le Windows Store, les applications universelles pour Windows 10 écrites en C++ s'appuieront sur le concept dit framework packages afin de faire face à leur dépendance d'exécution sur les bibliothèques C++.

Les développeurs précisent avoir fourni un mécanisme suivant lequel les DLL C++ nécessaires à l'exécution sont copiées directement dans les packages des applications. Ces DLL sont ensuite déployées tout au long de l'exécution des applications.

4. Windows SDK(s)

L'outil Windows SDK(s) fournit un certain nombre de nouvelles API dont plusieurs sont disponibles même en dehors du contexte d'applications universelles. En effet, même des applications de bureau peuvent utiliser ces API. Par conséquent, afin de faciliter l'expérimentation sur Windows 10 SDK, les développeurs ont changé le comportement de VS 2015 CTP6 pour permettre l'utilisation du Windows SDK sur tous les projets d'applications de bureau (MFC, Win32, console, etc.). Toutefois, cela n'est possible que si le SDK de Windows 10 est installé, sinon c'est le SDK de Windows 8.1 qui sera utilisé par défaut.

Source : Blog de Visual Studio

Et vous ?

Que pensez-vous de ces outils ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 01/04/2015 à 12:27
C'est un revirement concernant C++ ? je fais du C++ .net depuis peu, et je peux dire que c'est le fils oublié de .net: aucune documentation dessus, de nombreuses fonctionnalités de l'iDE sont manquantes dès qu'on fait du C++ (WCF..)

J'ai même du migrer de visual studio 2008 à 2013 car itellisense (colo syntaxique and co) avait été zappé sur VS 2008

Idem pour les bibiliothèques:
Pour socket.io par exemple: sous c# c'est bonheur (présent dans nugget), pour C++... c'est la galère
Avatar de Vlozer Vlozer - Membre habitué https://www.developpez.com
le 01/04/2015 à 14:27
Pour ceux qui ne sont pas sous windows (et meme ceux qui le sont), je recommande au passage vivement CLion, c'est vraiment un chouette outils:
https://www.jetbrains.com/clion/

EDIT: Ah, et Miklosec est à 1337 messages posté sur le forum.
Avatar de kilroyFR kilroyFR - Membre confirmé https://www.developpez.com
le 01/04/2015 à 17:22
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.
Avatar de RyzenOC RyzenOC - Inactif https://www.developpez.com
le 01/04/2015 à 19:26
Quand je vois l'interface de Windows10, je me dis que Windows11 ressemblera a ca :



Tout sera carrer et on pourra lancer des apps moderui dans des fenêtre dans directement dans l'environnement modernUI.

Comme preuve, le logo de Widows95 :



Il est le même que le logo actuel.
Avatar de dfiad77pro dfiad77pro - Membre expérimenté https://www.developpez.com
le 01/04/2015 à 20:08
Citation Envoyé par kilroyFR Voir le message
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..)
Avatar de kilroyFR kilroyFR - Membre confirmé https://www.developpez.com
le 04/04/2015 à 20:49
Concernant les MFC j'utilisais une librairie (BCGControlBar) qui etait super efficace pour faire des IHMS de toutes beauté et un code propre.
J'ai ete surpris de voir recemment qu'elle continuait toujours d'evoluer avec extension a des graphiques etc.
Pour avoir fait du WPF/SL, j'ai abandonné d'une part car l'investissement en formation et MVVM (ou comment rendre un logiciel indeboguable) et j'ai trouvé le modele de programmation in-maintenable a l'usage (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).
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).
La seule chose que j'ai gardé de WPF c'est le C# et c'est finalement la seule chose qui survie a toutes les technos microsoft. Le reste est ephemere (Silverlight, WPF, LightSwitch toutes ces technos meurent petit a petit).
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...
Avatar de micka132 micka132 - Membre expert https://www.developpez.com
le 07/04/2015 à 9:46
Citation Envoyé par kilroyFR Voir le message
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!
Avatar de I_Pnose I_Pnose - Membre chevronné https://www.developpez.com
le 07/04/2015 à 13:10
Citation Envoyé par kilroyFR Voir le message
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).
Avatar de yoyo88 yoyo88 - Membre chevronné https://www.developpez.com
le 07/04/2015 à 18:55
Citation Envoyé par kilroyFR Voir le message
(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.

Citation Envoyé par kilroyFR Voir le message

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.
Avatar de RyzenOC RyzenOC - Inactif https://www.developpez.com
le 11/04/2015 à 17:52
Pour ceux qui m'ont mis -1

Je vous montre l'icone de la corbeille sous Windows10 build 10056:



Le même icône que celui de Windows95...

MS ferait t'il un retour aux sources ? Faut dire que Windows95 a l'époque avait un très grand succès.
Je cite wikipedia:
Des légendes ont même circulé affirmant que des acheteurs avaient acquis une copie de Windows 95 sans même avoir d'ordinateur, ne sachant pas ce que c'était ![

Bientôt MS vas nous faire une pub avec la chanson start me up des Rolling stones
Contacter le responsable de la rubrique Accueil