VFP et « l'après mardi 13 mars 2007 »
Seattle, 17 mars 2007,
Lors d'une session au « MVP Global Summit 2007 » à Seattle en présence des représentants de : MS Corp., de la VFP Team et des MVPs VFP du monde entier, YAG annonce une publication d'une annonce de MS sur l'évolution de VFP. Le texte est sur : http://msdn2.microsoft.com/en-us/vfoxpro/bb308952.aspx
A) Le communiqué :
Le prochain service pack (SP2) est prévu pour l'été 2007, avec comme principal objectif la prise en charge de Windows Vista.
Le support Microsoft pour VFP est confirmé jusqu'en janvier 2015 (ce qui implique des services packs si nécessaire pour les futurs OS ou bugs)
Les travaux actuels sous nom de code « Sedna » (les CTPs sont actuellement disponibles publiquement) vont être publiés en licence « open source », à priori dans le support « Codeplex » (http://www.codeplex.com/)
Et enfin, il n'est pas planifié par Microsoft une version 10 de VFP...
B) En première lecture :
- Ce n'est pas forcement ce que nous espérions entendre, mais c'est ce que nous nous doutions depuis plus d'une année. L'annonce a eu le mérite de lever le flou...
- Cela ne change donc rien, car Visual Foxpro n'est donc pas mort ; mais cela change tout dans la mesure ou nous devons chacun réfléchir à cette échéance de la décennie prochaine.
(Après tout il s'agit d'un cycle de vie normal d'un logiciel, mais VFP aura eu le mérite d'avoir eu une très grande longévité avec une compatibilité ascendante respectée).
- Entre les lignes : la mise en « open source » du programme « Sedna » (au lieu de produire une version 10), permet à MS, à priori, de ne pas allonger la durée de support ; mais donne aussi à la communauté la possibilité d'étendre VFP... (Et ce gratuitement)
C) En éléments
- La VFP team est actuellement réduite à son strict minimum pour garantir l'engagement de support de MS.
- Le support VFP n'est pas arrêté
- La disponibilité à la vente de licence VFP9 (estimé à 3 ans maximum soit janvier 2010)
- Les composants additionnels pour VFP, issus des librairies « dotnet », seront réalisés par le team VB.NET
- Le programme MVP pour VFP n'est pas arrêté
- Les grandes évolutions viendront de la communauté...
- Attention, contrairement à des publications sur le NET : seul le code source de « Sedna » est placé en open source et non le code source de Visual FoxPro.
D) Les réactions
Il y a eu différentes réactions sur des « blogs » et newsgroup lors de cette annonce... Certains qui tombent de haut, ne veulent pas le croire, d'autres qui pense que c'est la suite logique d'un produit en fin de cycle de vie et qui est hors la planification commerciale de Microsoft (hors dotnet).
La première réaction publiée, celle de Craig Berntson, est la plus simple à mon avis :
http://www.craigberntson.com/blog/2007/03/its-not-dead-jim.asp . Et celle de David Stevenson qui résume bien : http://talkingfox.blogspot.com/
A voir : le Blog de YAG. ( http://blogs.msdn.com/yag/archive/2007/03/13/message-to-the-vfp-community.aspx )
J'ai eu la chance de pouvoir en discuter avec plusieurs MVP VFP à Seattle... et les avis sont différents, mais les points communs : c'est qu'il n'y a pas de surprise (pour eux), et pas de quoi s'affoler, d'autres continus avec VFP...
Beaucoup de développeurs VFP et d'autres n'ont lu que la première ou la dernière ligne ... = « pas de plan pour VFP10 »...
E) Mon analyse personnelle :
En préambule : je trouve navrant qu'un produit de développement aussi stable soit mis aux oubliettes pour des raisons commerciales et marketing et non pour des raisons techniques. Mais c'est un état de fait.
Dans l'environnement où je travaille, nous utilisons principalement Visual FoxPro ;
La réflexion est donc d'essayer de déterminer « l'après 13 mars 2007 »...
En réponse à cela je vois se dessiner, actuellement, 4 grands axes :
1] Les applications existantes et leurs évolutions à court terme,
2] Les nouveaux projets à court terme,
3] Les nouveaux projets à moyen terme,
4] L'évolution des applications existantes à long terme.
Marginalement, il reste une utopie de pouvoir rêver à un grand retour en arrière de Microsoft pliant devant un « lobby » des utilisateurs ? Et imaginer une remise en route d'une planification, d'un team, d'un marketing et d'un support pour un produit qui est hors dot net ? VFP n'est pas onéreux, et il est ‘royalty free', il n'est pas générateur de licence Microsoft (discutable)... Bref on peut rêver et faire des actions dans ce sens, mais tous responsables ne pourraient pas miser uniquement sur cela pour l'avenir des applications VFP...
Détaillons donc ces 4 grands axes :
E.1] Les applications VFP existantes et leurs évolutions à court terme
La version actuellement supportée par Microsoft et qui aura la prise en charge de « Windows Vista » est très clairement : Visual FoxPro Version 9 : le SP2 annoncé pour l'été 2007.
Donc, même s'il parait évident de le rappeler : - les applications existantes doivent impérativement être sur cette version de Visual FoxPro -
Il est urgent de migrer (conseiller et aider à migrer) toutes les application Foxpro et Visual Foxpro développées en version inférieure à VFP9 en... VFP9.
(Il me semble utopique de vouloir garder des applications en VFP6, ou chercher a bidouiller pour faire tourner du FoxPro 2... par exemple ; mais se poser la question comment passer à VFP9)
Attention : la disponibilité des licences VFP 9 se limite à une ou deux années.
Cette première étape peut représenter pas mal de travaux dans certains parcs d'applications. (L'avantage est que cela est déjà le cas depuis de nombreuses années et donc les ressources sur le net et communautaires existent.)
Pour l'évolution des applications VFP9 à court terme :
Elles vont continuer leurs chemins, et évoluer avec VFP9 & Sedna
Il faut être acteur sur les prochains services pack, par exemple pour SP2 (pour vista) il faut tester et re-tester maintenant les applications avec Window Vista, si bugs : les remonter, à priori utiliser l'outils « connect » de Microsoft.
Cela peut représenter pas mal de temps et d'implication.
E.2] Les nouveaux projets à court terme
La réponse au cas de figure de produire un nouveau projet à court terme : exemple une demande de développement d'un nouvel applicatif pour septembre... va être dépendant de l'état des ressources et compétences de chacun. Quelqu'un qui est 100% VFP actuellement va se retrouver dans le §E.1, pour quelqu'un qui maîtrise un autre environnement il se posera la question...
E.3] Les nouveaux projets à moyen terme
La réponse au cas de figure de produire un nouveau projet à moyen terme : exemple une demande de développement d'un nouvel applicatif dans 2 ans...
Dans ce cas il apparaît qu'il serait malhonnête de proposer un nouveau produit sur un environnement de développement en fin de vie... non ?
Donc la solution est forcement sur un autre environnement, donc : apprendre à maîtriser dés maintenant une nouvelle solution viable dans le temps ; avec (peut être) un double objectif de vouloir : récupérer, des données, transporter des formulaires, rapports ou applications ... (voir §E.4)
Alors : « quel environnement ? »
Ce n'est pas si simple ! Il n'y a pas de magie...
Car il faut avoir à l'esprit que notre Visual FoxPro est composé de :
- Un langage de développement
- Un IDE (Interface de développement, débuggeur, etc...)
- Un accès aux données performant : tables DBF et SQL, vues ...
Donc, notre prochain environnement de développement est forcement une intégration de plusieurs produits (une solution), car Visual Foxpro n'a pas de concurrent dans le domaine (à ce que je sache... c'est pour cela que l'on est sous Visual Foxpro ?)
Que nous propose Microsoft comme remplaçant de VFP ?
Et bien : « Dot Net»,
C'est-à-dire de passer sur Visual Studio, donc un choix de langages et un IDE : bien.
Mais pour les données ? :
Pour l'instant ADO.NET et MS SQL Server ....et aussi une béta de « LINQ » qui permet d'intégrer au langage des commandes d'accès aux données. Cela sera disponible dans le prochain Visual Studio (code « Orcas »)
Autre solutions ?
Passer sur des solutions du monde libre ?
Passer sur des solutions d'autres éditeurs ?
Comment et dans quel cadre s'inscrivent les initiatives actuelles ?
DotNet Linq & msSql, CodeBase, Guineu, Dabo, Vulcan, Etechnologia, VfpConversion, Java, Rubis, Flash....
Il faut donc faire un tour d'horizon : un inventaire et des tests, croiser des retours d'expérience...
Ce sera le sujet de mon prochain post...
E.4] L'évolution des applications existantes à long terme
En fonction de votre avis sur ce qui est exposé ci avant : le choix de l'évolution de vos applications à long terme va peut être se traduire par un re-développement complet des frontaux et seulement la migration des données...
Personnellement, je ne vois pas le modèle économique pour financer cela.
Ma position, et cela n'engage que moi : prendre le temps de choisir un nouvel environnement de développement : une intégration qui va être déterminée par cette contrainte de vouloir préserver presque 20 ans de développements existants, de vouloir transporter le maximum d'éléments : programmes sources, formulaires, reports, COM+, table DBFS (et oui), accès SQL... Et si possible : dans un langage source ayant une syntaxe proche de celle de VFP, fonctionnant sur des plateformes diverses permettant des solutions mobile PDA et pourquoi pas sur des plateformes autres que Windows.
Enfin, éviter de me retrouver dans la situation actuelle dans 5 ans... donc trouver un gage de pérennité.
Les développeurs VB6 ont connu un challenge similaire il y a quelques années.
(Sans parler des développeurs Delphi ? Développeurs C++ non ‘managé' ?)
Passons de Visual FoxPro à Virtual FoxPro !
FoxPro n'est pas mort...
F] Conclusion
Il faut relayer l'annonce MS aux développeurs Visual FoxPro, mais il n'y a pas de quoi être alarmiste, ni tomber dans le catastrophisme...
Il faut bien prendre en compte que nous aurons à changer notre outil de développement à terme et étendre rapidement nos compétences.
Et dans l'immédiat :
- arrêter de parler de développer en FPD, FPW2.6, VFP6...comme on le voit souvent... mais comment passer rapidement en VFP9 seule porte de pérennité sous la décennie
- participer aux tests VFP et remonter les bugs sur Windows Vista pour le SP2
- s'ouvrir sur codeplex / vfpx et être actif
- inventorier et tester différentes solutions
- continuer (ou commencer) à étendre ses compétences sur d'autres plateformes tout en gardant l'héritage de nombreuses années de labeur... la quadrature du cercle....
Francis FAURE