Недостатки разработки приложений ASP.NET и ASP.NET MVC в F #?
Я хотел бы попробовать разработки приложений ASP.NET и ASP.NET MVC в F #. Мне нравится использовать функциональные langauges, и, на мой взгляд, функциональная парадигма лучше подходит для HTTP и Интернета, чем для императивного программирования (хотя, конечно, F # может делать и то, и другое).
Я только намереваюсь попробовать F # для некоторых личных проектов, хотя я надеюсь, что в конечном итоге F # будет рассматриваться как действительная альтернатива С# для подходящих коммерческих проектов ASP.NET.
Какие ловушки и грубые грани существуют в настоящее время для использования F # с ASP.NET? Одним из очевидных недостатков является то, что F # намного более неясен, чем С#, поэтому для F # меньше примеров кода и опытных программистов.
Какие еще потенциальные проблемы я должен знать?
Ответы
Ответ 1
Лично я большой поклонник F #. Мой механизм анализатора/рендеринга NDjango написан на F #.
Но попытка сделать все в F # может быть трудной. Чтобы добавить к вашему списку то, чего еще нет:
-
Нет поддержки для визуального
дизайнеры - ни веб-формы, ни
WinForms. Вы можете написать
соответствующий код вручную, конечно
-
Нет завершения кода
-
Отладка в F # может быть проблемой, в частности, из-за анонимных закрытий
-
Диагностика компилятора может вводить в заблуждение из-за вывода типа - одна опечатка может иметь глубокое воздействие в отдаленных местах.
-
Мое самое большое домашнее животное - это правило "порядок файлов". Вы должны указать порядок, в котором файлы будут скомпилированы
Это не полный список. С другой стороны, можно надеяться, что некоторые из этих пунктов будут рассмотрены в окончательном выпуске.
Несмотря на все перечисленные (и незарегистрированные) проблемы, мне нравится программирование в F # - иногда это дает очень освежающую перспективу в кодировании, и я уже начал использовать некоторые трюки, вдохновленные F # в моем коде С#.
Просто не сойди с ума.
Ответ 2
Это домашний проект или произведение? Если это для работы, вам нужно рассмотреть возможность того, чтобы кто-то еще заходил и поддерживал ваш код - там не слишком много разработчиков F #, если сравнивать с компетентными людьми С#.
Ответ 3
mmmmm f #, другое белое мясо, которое осмеливается назвать его имя. Пойдите для этого, F #, поскольку г-н Кей сказал бы "свое будущее!". Что касается ловушки... puh!, то что ловушки, вы просто создаете материал, который работает без мелочей и объектов.
С# отлично, и у него есть свое место. Но, как вы правильно указали, он не использует веб-программирование. В этом отношении также не происходит дыма и зеркал, которые предоставляет ASP.net.
Пойдите ниже. Подумайте, HttpHandlers и REST. Вам не нужны материалы MVC. Его и Идея, а не продукт.
Внешний интерфейс GUI не имеет ничего общего с бэкэнд. Вам действительно нужен ASP.net? JSON/REST/POX..... разработайте свой средний слой с учетом этих соображений, и вы должны быть в порядке. Держитесь подальше от WCF от его приличия и отвратительного.
как для комментария поддерживаемого кода. Трейл. почему бы вам не быть. Если они не думают, как вы, тогда вы их хотите?
Когда я работаю над проектами, идеи приводят продукт не к технологии, а, конечно, к массам или толпе. Крупные организации обслуживают толпу только по одной причине, и это не имеет никакого отношения к продвижению искусства и всего о евро.
Сообщения и трубки - это то, что я буду использовать в этом текущем климате. События велики, когда окружающая среда поддерживает это, но асинхронный характер сети позволяет думать о обрабатывающей трубе с тиками часов и проверять, были ли выполнены.
.Net хорошо для одной вещи. средний уровень с БД и логикой. Что касается фронта. Используйте что-то еще. Подробнее webby.
Почему просто F # приносит весь матч за лучшую игру в классе. много на выбор из php, python, ruby, clojure, haskell и т.д.
F # больше, чем то, что он есть, но то, что он представляет, старый образ мышления в новых и отчаянных временах многоядерных многопотоковых многопотоковых процессов.
Как песня, которую я однажды слушал, сказал: "Меня не волнуют их разные мысли
Различные мысли хороши для меня "
Ответ 4
http://codebetter.com/blogs/matthew.podwysocki/archive/2008/10/06/asp-net-mvc-with-nhaml-f-edition.aspx
http://cs.hubfs.net/forums/thread/6270.aspx