12
votes

Inconvénients de développement d'applications ASP.NET et ASP.NET MVC dans F #?

Je voudrais essayer Développer des applications ASP.NET et ASP.NET MVC en F # . J'apprécie d'utiliser des languards fonctionnels et à mon esprit que le paradigme fonctionnel s'adapte mieux avec HTTP et le Web que la programmation impérative (bien que le cours F # puisse faire les deux).

Je n'ai que l'intention d'essayer F # pour certains projets personnels, même si j'espère que Finalement, F # sera considéré comme une alternative valide à C # pour des projets commerciaux appropriés ASP.NET.

Quels sont les pièges et bords rugueux y a-t-il actuellement pour utiliser F # avec ASP.NET? Un inconvénient évident est que F # est beaucoup plus obscurs que c #, il y a donc moins d'échantillons de code et de programmeurs expérimentés pour F #.

Quels autres problèmes potentiels devrais-je être au courant?


0 commentaires

4 Réponses :



5
votes

Est-ce un projet à domicile ou une chose de travail? Si c'est pour le travail, vous devez envisager la capacité de quelqu'un d'autre à déposer et à maintenir votre code - il n'y a pas trop de développeurs F # par rapport aux personnes C # compétentes.


0 commentaires

7
votes

Personnellement, je suis un grand fan de F #. My Ndjango Parser / Rendu Engine est écrit en F #.

Mais essayant de tout faire en F # peut être difficile. Pour ajouter à votre liste des choses qui ne sont pas encore là:

  • Il n'y a pas de support pour visuel designers - ni WebForms ni Winforms. Vous pouvez écrire le Code approprié manuellement, bien sûr

  • Aucun code d'achèvement

  • Le débogage de F # peut être un défi, en particulier à cause des fermetures anonymes

  • Le diagnostic du compilateur peut être trompeur en raison de l'inférence de type - une faute de frappe peut avoir un impact profond dans les lieux lointains

  • Ma plus grande peste des animaux de compagnie est la règle "commande de fichiers". Vous devez spécifier la commande dans laquelle les fichiers seront compilés

    En aucun cas, il s'agit d'une liste complète. À l'autre bout, on pourrait espérer que certains de ces points seront traités en version finale.

    Malgré tous les problèmes énumérés (et non répertoriés), j'aime la programmation en F # - parfois, cela donne une perspective très rafraîchissante sur le codage et j'ai déjà commencé à utiliser certaines des astuces inspirées de F # dans mon code C #.

    juste ne pas aller fou dedans


0 commentaires

3
votes

mmmmm f #, l'autre viande blanche qui ose parler son nom. Allez-y, f # comme M. Kay dirait "c'est l'avenir!". En ce qui concerne les pièges ... Puh!, Quels pièges, vous venez de créer des trucs qui fonctionne sans manche et objets.

C # est génial et il a sa place. Mais comme vous l'avez fait correctement signalé, il ne suite pas une programmation Web. Dans cette affaire, l'événement ne fait que fumer et miroirs que ASP.NET fournit.

aller plus bas. Pensez httphandlers et reposez-vous. Vous n'avez pas besoin des trucs MVC. C'est son idée et non un produit.

L'interface graphique avant n'a rien à voir avec le backend. Avez-vous vraiment besoin d'ASP.NET? JSON / REST / POX ..... Développez votre couche intermédiaire avec ceux-ci à l'esprit et vous devriez être correct. Éloignez-vous de la WCF sa convenance et sa méchanceté.

Quant au commentaire du code maintenu. Trail Blaze. Pourquoi être ce que tu ne veux pas être. S'ils ne pensent pas comme vous, alors voulez-vous qu'ils voient?

Lorsque je travaille sur des projets, les idées conduisent le produit et non la technologie et certainement pas les masses ou la foule. Les grandes organisations répondent à la foule pour une seule raison, et cela n'a rien à voir avec l'avancement de l'art et tout sur l'euro.

Les messages et les tuyaux sont ce que j'utiliserais dans ce climat actuel. Les événements sont parfaits lorsque l'environnement le soutient, mais la nature asynchronine du Web se prêt à penser à un tuyau de traitement avec des tiques d'horloge et de vérification si des choses ont été faites.

.Net bon pour une chose. couche intermédiaire avec dB et logique. Comme pour le devant. Utiliser quelque chose d'autre. Plus webby.

Pourquoi juste F # apporter dans l'ensemble du match de tir du meilleur de la classe. Beaucoup de choix de PHP, Python, Ruby, Clojure, Haskell, etc.

f # est plus que ce qu'il est, mais ce qu'il représente, une vieille façon de penser à de nouveaux temps nouveaux et désespérés de multi-noyau multi-threading, multi-processus.

comme une chanson, j'ai une fois écouté de dire "Je me fiche de leurs réflexions différentes Différentes pensées sont bonnes pour moi "


2 commentaires

Se faire défoncer avant de répondre aux questions sur ce que ce n'est pas la meilleure idée.


Hahaha j'ai eu une explosion de la lecture de cette réponse. Cette réponse devrait être un point culminant pour.