C # (et la plate-forme .net en général) semble devenir une bonne option pour les applications de ciblage multiple:
- framework MS .net officiel: développement Windows complet, asp.net dev, Windows phone Dev, etc.
mono et tous ses dérivés: monotouch, monodroid: le reste du monde. Ces outils sont aujourd'hui RTM.
Cela signifie-t-il que C # devient un bon langage pour cibler les plateformes les plus populaires: desktop, web et mobile?
- Est-il encore préférable d'utiliser le langage "natif" des plateformes cibles (objectif C, Java, etc.)
- Est-ce seulement un écran de fumée et seulement un langage marketing?
Veuillez noter que je suis en fait conscient que je ne pourrai pas copier / coller le code entre les plates-formes. Mais je suis sûr que les couches inférieures d'applications (modèles, business, etc.) peuvent être réutilisées, mais je sais que je devrai adapter les couches supérieures (Gui, etc.) à la plateforme. Mon objectif est davantage axé sur les compétences requises que sur le partage de code technique.
[modifier] Je suis développeur ac # dans une entreprise qui utilise massivement c #. C'est pourquoi j'ai parlé de c # dans un plan visant à élargir la gamme de plates-formes cibles dans mon entreprise.
Microsoft .NET est l'implémentation officielle de CLR, DLR, BCL, CLI et CLS. D'autres sociétés, groupes, communautés ou groupes de travail ne sont pas associés à Microsoft de manière à ce qu'ils puissent avoir une implémentation 1: 1 de la dernière version du cadre et de la langue.
Fondamentalement, vous devez examiner le langage et les fonctionnalités de framework dont vous souhaitez profiter dans un projet concret et vérifier s'ils sont présents dans les implémentations .NET non officielles.
Si vous attendez une solution à compiler une fois et la distribuer partout, vous vous trompez: vous devez faire une étude de cas.
la source
J'utilise C # sur des jeux fonctionnant sur des machines XBOX et Windows, je l'utilise dans des applications Compact Framework pour des solutions robotiques, j'utilise MonoTouch pour le développement iPad, j'ai quelques applications Web fonctionnant sur Linux et quelques autres solutions. Habituellement, il existe un moyen de faire votre chose sur une plate-forme donnée. La couche centrale est à peu près la même pour la plupart d'entre eux (étude de cas nécessaire en effet). Le problème - et je le considère comme une série - est l'environnement de développement. Je suis habitué à Visual Studio et à ses fonctionnalités. Mais MonoDevelop, par exemple, me rend fou.
la source