C'est THE événement de l'année - que dis-je, du siècle - dans le monde du développement d'applications en C++ sous Windows.
Une mise à jour importante des MFC et des librairies C++ ! La doc de cette mise à jour est déjà sur MSDN (en anglais).
L'info est parue sur le blog de l'équipe VC++, et le téléchargement du C++ Feature Pack est ici. Ce téléchargement est gratuit (322 Mo), et pour Visual C++ standard, Pro ou Team System. Une version pour Visual C++ express sera bientôt disponible.
La fonctionnalité la plus spectaculaire offerte par ce Visual C++ Feature Pack est bien sûr le look and feel office 2007, y compris le ruban. Il se murmure sur les blogs que ce ruban d'Office serait appelé à être l'interface par défaut des applications sous Windows 7. C'est une rumeur... qui va dans le même sens que l'inclusion de ce ruban Office dans les MFC. Code natif ou code géré, même combat (pour une fois !)
La licence d'utilisation du ruban Office 2007
Notez que l'interface d'Office 2007 (le ruban, le design et le graphisme) sont protégés par Microsoft, et qu'il n'est possible de distribuer des applications qui utilisent cette interface qu'en obtenant une licence d'utilisation (gratuite) de l'interface Office 2007 ici : http://msdn.microsoft.com/officeui. Cette licence d'utilisation vous interdit d'utiliser l'interface d'Office 2007 pour faire un concurrent d'Office 2007 ;) et vous oblige à utiliser cette interface correctement. Dans ce cas, cette licence est gratuite et facile à obtenir.
D'ailleurs, cette licence "Office 2007 Fluent UI" est obligatoire pour toute application qui utilise l'interface d'Office 2007, que cette application soit écrite avec les MFC, ou bien avec une autre librairie qui offre le look and feel Office 2007.
La taille du runtime MFC a triplé
Voici les nouvelles versions des DLLs du runtime MFC, après installation du feature pack : MFC90.DLL, MFC90U.DLL. Elles sont dans C:\Windows\winsxs\x86_microsoft.vc90.mfc.....

Elles ont bien grossi après l'installation du feature pack. La version MFC 90 sans feature pack est trois fois plus petite :

Il faut aussi ajouter les DLLs du runtime C++, soit msvcr90.dll, msvcp90.dll et msvcm90.dll, pour 1,38 Mo. Sachez donc qu'avec le Feature Pack, une application MFC occupe au moins 5 Mo ! Evidemment de nos jours ce n'est pas forcément grand chose, mais moi qui ai connu les PC à 128 Ko de mémoire, imaginez un peu...
On note qu'on se retrouve avec deux versions très différentes des MFC qui s'appellent toutes les deux MFC90 :
- MFC90 livrée avec Visual Studio 2008, dont la taille est 1 Mo
- MFC90 du feature pack, dont la taille est 5 Mo
Hmmm, ça risque de poser des problèmes pour les installations ça...
Des exemples
Bon, on en a pour notre espace disque quand même. Tous les bitmaps du look Office 2007 qui mangent ces quelques Mo sur le disque sont bien agréables à l'oeil, n'est-ce pas ? Voici deux samples livrés avec le Feature pack.
Histoire de taper un peu sur .NET et surtout sur WPF, quel plaisir de voir des applications qui se lancent en une fraction de seconde, et qui sont très rapides à l'exécution !


Ces exemples sont téléchargeables sur mon espace skydrive.