Pendant
une heure, Antoine Driard a répondu à
vos questions sur le développement avec
Visual Studio.Net, expliquant notamment les différences
entre les modèles de composant COM/ActiveX
et .Net, entre l'ASP et ASP .Net, etc., tout en
exprimant, en particulier, son point de vue sur
l'architecture .Net par rapport à J2EE.
JDNet Chat
|
|
Invité : Antoine Driard,
Chef de produit outils de développement
chez Microsoft (voir
sa fiche Carnet) |
Date : mercredi 22 mai, 18h-19h
|
Nombre de questions posées
: 98 |
Nombre de questions retenues :
22 |
|
Antoine Driard :
Bonsoir.
De quoi
se compose VS.Net ?
Visual Studio .NET est
un atelier de développement logiciel intégré.
Il permet de faire des applications pour le Web
et pour Windows. Quel que soit le type d'application,
il est possible de choisir le langage parmi plus
de 20 dont Visual Basic et C# (qui se prononce
c sharp).
ASP/ASP.Net
: quelle est la différence ?
Je citerais 2 différences
majeures, bien qu'il y en ait d'autres. Le fait
que le code d'affichage (HTML) et le code à exécuter
(vbscript ou jscript en ASP) sont maintenant stockés
dans deux fichiers séparés. Ainsi, le graphiste
peut travailler sur son fichier, et le développeur
sur le sien. L'autre différence dont je voulais
parler est le développement dans le langage de
votre choix. Ainsi, le code des applis Web est
compilé (et non plus interprété) et peut être
écrit en VB, C#, mais aussi Cobol, par exemple.
Quels
sont les web-services SOAP fournis en standard
dans VS.net ?
Visual Studio .NET permet
de développer des services Web XML, donc au format
SOAP. Il permet également de consommer des services
Web développés et hébergés sur n'importe quelle
plate-forme. En revanche, en tant qu'outil de
developpement, VS .NET n'est pas fourni avec des
services Web autres que les exemples de code.
VS.Net
est-il facile à apprendre quand on vient des anciennes
versions ?
Il y a, bien sûr,
une phase d'adaptation ; il ne sert à rien de
se le cacher. Mais, dès les premières semaines
de développement, on atteint la productivité qu'on
avait dans son environnement de développement
habituel. La simplification de nombreux processus
de développement compense largement l'effet de
nouveauté.
La communauté
des développeurs C#, c'est combien de personnes
en France ? In the world ?
En France, on n'a pas
encore de chiffre. Le produit (Visual Studio .NET)
est sorti en France mi avril. Aux Etats-Unis,
où il est sorti en février, il est estimé
aujourd'hui à 12% des développeurs. Je n'ai plus
en tête le nombre que cela représente.
Quelles
entreprises se sont massivement équipées de Visual
Studio .Net ?
Aujourd'hui, en terme
d'équipement, beaucoup de grands comptes sont
"automatiquement" équipés de Visual Studio .NET
par le biais d'abonnements (MSDN). Parmi les premières
françaises à avoir concrétisé leur utilisation
de Visual Studio .NET, on peut citer L'Oréal ou
Accor, mais on peut en trouver de nombreuses autres
(www.microsoft.com/france/net).
.Net
et la sécurité : que pouvez-vous dire pour nous
rassurer ?
.NET (Visual Studio .NET
et le .NET Framework) est le premier à avoir bénéficié
de l'initiative qu'a récemment pris Microsoft
de prendre à bras le corps les problèmes de sécurité.
Un des premiers effets visibles, et qu'on verra
dans le futur dans d'autres produits Microsoft,
est le renforcement des paramètres par défaut.
En effet, la plupart du temps, c'est maintenant
à l'administrateur d'autoriser explicitement les
actions. Par défaut, elles sont interdites, alors
qu'auparavant c'était le contraire : permises
jusqu'à ce que l'administrateur les restreigne.
Mais c'est un sujet vaste dont on pourrait parler
plus longtemps.
Web
form/Windows form : quelle est la différence ?
Le modèle de développement
est le même : programmation événementielle, avec
écriture du code dans le langage de votre choix.
Les différences sont de moins en moins grandes
entre le développement Web et le développement
Windows. Si ce n'est que pour utiliser une application
"Web Form", il suffit d'un navigateur gérant HTML
3.2 (quasiment tous), tandis que pour utiliser
une application de type Windows Form, il vous
faut aujourd'hui un PC sous Windows 98/NT4/ME/2000/XP
avec le .NET Framework installé.
Bonsoir.
Pour la réalisation de web-services à forte
monté en charge, conseillez-vous de développer
en C#, ou de continuer les implémentations type
C++ selon les modéles COM, DCOM ou COM+ ?
Bonsoir. Je vous conseille
sans hésiter de développer sur la plate-forme
.NET (ce qui signifiera sans doute C# si vous
avez un passé de développeur C++ ; mais cela pourrait
être tout autre langage : les performances seraient
exactement les mêmes). Le modèle de développement
est vraiment simplifié, et les performances sont
similaires à celles du C++ "natif". De plus, la
gestion de SOAP est intégrée à un tel niveau dans
.NET qu'elle vous coûte un minimum en terme
de performance.
Je réalise
des composants OPC (OLE for Process control).
Je souhaite connaitre la pérénnité de techno COM/ActiveX
dans l'architecture .Net.
Ces technologies sont
encore d'actualité pour un moment, et Microsoft
s'engage, entre autres, à maintenir un support
technique pendant plusieurs années. Mais, dans
le cas où vous commercialisez vos composants,
je vous incite à proposer votre offre de façon
double : en COM/ActiveX, et pour .NET. La demande
dictera celle des deux que vous ferez le plus
volontiers évoluer.
Le futur
de Framework V2 s'oriente vers quoi ? Quelles
différences entre VB.NET et Visual C# à ce moment-là
?
C'est encore très tôt
pour dire ce que sera la V2 du .NET Framework,
en particulier pour ce qui est des différences
entre les langages. De façon globale, rien
ne changera : tous les langages auront toujours
accès à toutes les mêmes classes du Framework.
On va même gommer certaines différences qui subsistent
entre les langages (comme la documentation automatique
en XML qui n'existe qu'en C# aujourd'hui).
ASP.Net
est récent, les hébergeurs ne sont-ils pas "frileux"
quant à la mise en place de cette technologie ?
Ils le font progressivement,
de façon assez logique. Aux états-unis, où
le produit est sorti depuis plusieurs mois, il
existe déjà un certain nombre d'hébergeurs qui
ont une offre ASP .NET. En France, de grands hébergeurs
devraient avoir une offre avant l'été. Il s'agit
de tester ces nouvelles configurations, et de
s'assurer que leur sécurité est assurée. Pour
l'instant, nous n'avons pas rencontré de problèmes
particuliers à ce niveau.
A quand
des web-services UDDI directement utilisable depuis
VS.NET ?
On peut déjà, dans Visual
Studio .NET, parcourir UDDI pour y choisir des
services Web à intégrer à son application ; et,
dans ce cas, le service UDDI (service d'annuaire)
est consommé par un humain (le développeur) et
non par un programme. Or, les services Web ont
vocation à être consommés par des applications
sans intervention de l'homme. C'est pourquoi je
ne suis pas sûr de saisir le sens de votre
question.
J'hésite
entre J2EE et .NET : qu'est-ce qui pourrait faire
pencher la balance de votre côté ?
C'est un long débat, mais
je pense qu'un des défis que rencontrent les entreprises
aujourd'hui n'est plus tant de concevoir des applications
qui fonctionnent bien, mais surtout d'intégrer
entre elles des applications souvent hétérogènes.
C'est à ce niveau, entre autres grâce à une intégration
spécifique des services Web, que .NET se place
très bien. Par ailleurs, de nombreux partenaires,
SSIIs, nous annoncent un temps de développement
drastiquement diminué par rapport aux autres technologies
(anciennes Microsoft, comme J2EE par exemple).
Cela
doit sûrement vous gêner qu'on pose toujours des
questions par rapport à Java, mais beaucoup viennent
de là ! Y a-t-il un document qui comparent le
FCL (Framework Common Library) avec la JFC ? et
CLR Vs JVM ? Ou pouvez-vous esquisser ici quelques
éléments forts de comparaison ?
Merci.
Il nous est difficile,
pour Microsoft, de mettre à disposition de tels
documents, ne serait-ce qu'à cause des lois sur
la publicité comparative. C'est donc auprès d'experts
externes qu'on trouve souvent ce genre d'information.
Quelques livres vont voir le jour, mais je peux
déjà vous conseiller le site www.dotnetguru.com
(ou .org ?), animé par des experts J2EE qui découvrent
.NET, qui propose, entre autres, un document de
80 pages de comparaison entre les deux plates-formes.
Une
question sur l'intégration VS.NET / Visual Source
Safe : est-il prévu une amélioration ou un autre
outil ?
Les deux. Nos équipes
de développement travaillent sur les deux, et
je ne sais pas aujourd'hui ce qui verra le jour.
On peut raisonnablement l'imaginer en deux phases.
Dans un premier temps, un Visual Source Safe .NET
qui pousse plus loin l'intégration avec Visual
Studio .NET que ne le fait l'actuel Visual Source
Safe 6.0c. Et, plus tard, une refonte de l'outil,
plus complète, avec d'autres services pour les
développeurs en entreprise.
Pourriez-vous
décrire les similitudes et les différences entre
les composants COM/ActiveX et les composants .Net
? Merci.
Entre les composants COM
et les composants .NET, il y en a deux majeures.
Tout d'abord, les seconds ont besoin du .NET Framework
pour s'exécuter et se programment dans le langage
de votre choix. Le deuxième point est le mode
de développement : pour créer un composant .NET,
vous le codez comme toute classe/fonction que
vous pourriez coder, vous le compiler et, pour
le déployer, vous copiez le fichier. Pas besoin
d'enregistrement, plus de conflits de version
puisque deux versions différentes d'un même composant
peuvent être chargées en meme temps en mémoire.
Comment,
avec ADO.NET, travailler avec une source ODBC
?
Je n'ai pas les éléments
en tête pour vous répondre à l'instant, mais je
vous invite à me recontacter par mail (antoined@microsoft.com)
et je vous répondrai. Il existe des documents
sur le site MSDN qui répondent à votre question.
Pour
un jeune diplômé qui voudrait se spécialiser dans
les web-services, approche Microsoft, sous VS.NET
: quel conseil pour choisir le langage, les formations,
etc... Microsoft France compte-t-elle entreprendre
des actions de formations collectives en dehors
des centres de formation MC si chers, pour favoriser,
par exemple, le rattrapage approche .NET sur techno
Java?
Je réponds de deux manières.
La première, moins complète, mais gratuite, ce
sont les Lab Visual Studio .NET. Sessions d'une
demi-journée avec un PC par personne, certaines
sessions sont dédiées aux services Web XML ou
à l'accès aux données par exemple. Ensuite, il
y a très régulièrement des offres qui devraient
se généraliser l'an prochain (à partir de septembre/octobre)
qui permettent de bénéficier de formations officielles
Microsoft à moitié prix. Enfin, les séminaires
MSDN et briefs .NET sont plus techniques qu'on
ne peut le croire :-) www.microsoft.com/france/msdn.
Est-il
intéressant dans certaines applications bien spécifiques
(temps réel, acquisition) d'ajouter la sur-couche
framework ? N'est-ce pas surtout destiné aux applications
de gestion ?
Les performances d'applications
.NET sont équivalentes à celles des applications
en code natif, et donc bien supérieures à celles
des langages interprétés. Pour les applications
que vous citez, ce qui compte c'est la fiabilité,
l'absence de fuites mémoire... Or, la CLR et ses
compilateurs sont particulièrement soignés à ce
niveau. Vous pouvez gagner en temps de développement
tout en reposant sur une plate-forme d'exécution
fiable. Bien sûr, dans certains cas (écriture
de drivers/pilotes par exemple), le C/C++ reste
indiqué pour des raisons non pas de performances
mais de proximité avec le matériel.
Bonjour.
A combien estimez-vous une refonte complète de
fnac.com en ASP.NET ? (en temps) ?
D'une part, l'estimer
au doigt levé n'aurait pas de sens. Mais, d'autre
part, le site fonctionne très bien, alors pourquoi
le refondre ? Une application qui fonctionne bien
aujourd'hui, rien ne vous impose de la refondre.
D'autant plus que l'interopérabilité entre COM
et .NET est totale. Donc le site pourra appeler
de futurs composants écrits en .NET et, à l'inverse,
le jour où certaines parties seront développées
en .NET elles pourront exploiter le code existant.
Votre
site préféré, c'est Boursorama, 100% PHP... ;-)
Ca vous inspire quoi ?
C'est vraiment une question
de fonctionnalité. Il fonctionne bien, répond
à mes besoins. En tant qu'utilisateur, je ne cherche
pas à savoir en quoi il fonctionne, bien au contraire.
Ca ne m'empêche pas de penser qu'en partant de
zéro dans les deux cas, il serait aujourd'hui
plus rapide à développer en .NET qu'en PHP ;-)
(ce qui n'impose pas de le réécrire, tant qu'il
répond aux besoins).
Antoine Driard :
Bonsoir, merci à tous de votre participation.
Je vous rappelle mon email antoined@microsoft.com
pour toute précision. A très bientôt sur
les newsgroups.
|