Искрить или не искрить? - PullRequest
12 голосов
/ 03 марта 2010

В последнее время я испытывал большие трудности в изучении ASP.MVC 2, а недавно обнаружил, что существуют различные движки рендеринга ... Spark особенно привлек мое внимание, хотя и кое-что.

  1. Я обладаю обширными знаниями в области ASP.NET, так что стоит ли наращивать, в дополнение к ASP.NET MVC
  2. Стоит ли это вообще?Это действительно имеет значение?Кажется, это действительно предпочтение вкуса, а не столько производительности или даже значительного сокращения времени разработки.
  3. Это все еще кажется незрелым, не очень хорошая поддержка intellisense, поддержка подсветки синтаксиса, не так много инструментов.Он имеет предварительную поддержку только для MVC 2 ...

Что вы думаете?Я склоняюсь к тому, что это, вероятно, не стоит ...

Ответы [ 5 ]

12 голосов
/ 04 марта 2010

Отвечая на вопрос из трех частей по порядку ...

  1. Вероятно, это хорошая идея, чтобы изучать новые вещи по одному. Тем более, что почти все примеры и учебники MVC будут в синтаксисе WebForms. Тем не менее, лучше учиться в экспериментальном решении, а не в «реальном» проекте, поэтому после того, как вы почувствуете, что у вас есть концепции MVC, лучше создать новую песочницу и попробовать несколько страниц MVC + Spark.

  2. Производительность с точки зрения нехватки памяти или использования процессора, вероятно, не является наиболее важным фактором для всех, кроме самых крупных веб-сайтов ... Воздействие на разработчиков и дизайнеров / креативщиков время может сначала быть небольшим, но это накопительное и нелинейное. Немного упрощения заранее сэкономит вам массу боли в будущем, а «простой, простой синтаксис» является краеугольным камнем предпосылки движка Spark View.

  3. Это очень верно. Отработка и усовершенствование опыта - самая дорогая часть инструментов и современных IDE. Я думаю, именно поэтому большинство веб-стеков OSS начинаются с отличного редактора ( кашель TextMate кашель ) и продолжают свой путь оттуда. С помощью Spark вы можете получить IntelliSense для языка Csharp, но это явно нижний предел для поддержки инструментов.

Это анекдотично, но один из способов измерить - сколько людей сожалеют об использовании Spark и переключаются обратно. Я не уверен во многих - хотя задержка в получении поддержки MVC 2 заставила некоторых задуматься, я уверен.

8 голосов
/ 03 марта 2010

Зависит от того, что вы хотите сделать с ASP.NET MVC. Мы находимся в процессе создания крупного корпоративного приложения, и я немного желаю, чтобы мы использовали Spark. Но это было только после того, как примерно наш 200-й вид был завершен, и я почувствовал себя достаточно комфортно с фреймворком, чтобы рассмотреть возможность привязки к чему-то еще.

Я бы порекомендовал сначала создать несколько небольших приложений с обычным механизмом просмотра, и если вы столкнулись с проблемой "супа тегов", отойдите назад и подумайте, почему. Во многих случаях это просто означает, что вы должны были сделать лучший ViewModel и отобразить данные, создать вспомогательный html или использовать частичный файл вместо того, чтобы заполнять ваш вид супом тега.

Однако бывают случаи, когда в представлении требуется условная и обширная циклическая логика, и это может случиться, когда вы захотите иметь Spark. Приятно то, что вы можете использовать оба бок о бок. Так что я бы сказал, что по умолчанию, и дурак с ним, когда вам будет удобно.

5 голосов
/ 03 марта 2010

Одна из приятных сторон MVC в веб-приложениях заключается в том, что вы можете стать намного ближе к голому металлу HTML, что является одной из основных проблем, с которой сталкиваются многие разработчики, - отсутствие абсолютного контроля за отображаемым HTML

Spark значительно ближе к голому HTML, чем ASP.net

В общем случае не программирующий HTML-дизайнер будет иметь больше шансов понять Spark и работать с ним, чем ASP.net

Если это проблема для вас, используйте Spark, в противном случае используйте любой движок рендеринга, который вам нужен. Проверьте nhaml на что-то другое

4 голосов
/ 04 марта 2010

На самом деле, я столкнулся с тем же выбором несколько месяцев назад, но для реальных бизнес-приложений, а не для образовательных целей. Мой ответ "зажечь".

Конечно, есть некоторые хитрые вещи, такие как intellisense и включающие для предварительной компиляции. Но с моей точки зрения, преимущества более значительны. «Читаемость» просмотров гораздо лучше в искре. Есть более элегантное разделение на частичные (опять же мое личное мнение). Я также нашел более естественный способ локализации сайта (MyView.spark, MyView.de.spark, MyView.de-DE.spark с автоматическим отступлением и то же самое для основных макетов) Множество мелких удобств - лучше всего я люблю $ {} и! {}, Чтобы получить html-кодировку или избежать ее. Мое приложение работает в режиме среднего доверия с предварительным соблюдением.

Я бы скорее сказал, что искра достаточно зрелая, чтобы использовать ее в реальном развитии. Но не идеально.

1 голос
/ 25 января 2011

Я знаю, что на этот вопрос ответили и задавали еще до выхода Razor, но я бы выбрал Razor, если бы начал новый проект. У меня есть текущий проект со Spark, и я определенно согласен, что это был лучший выбор по сравнению с WebForms. Но так как ландшафт изменился, я бы выбрал что-то другое, если бы мне пришлось принимать решение сегодня.

Причины

  • Основной разработчик Spark был нанят Microsoft (вероятно, работает над Razor)
  • Последняя стабильная сборка для Spark на сегодняшний день уже почти год.
  • Синтаксис довольно похож
  • Контурная поддержка. При создании веб-страниц мне важно иметь возможность свернуть разделы HTML, Razor поддерживает это, а Spark - нет.

Я не покупаю аргумент, что у Razor неправильные приоритеты. Они говорят, что по умолчанию Razor - это код, а затем какая-то разметка, а Spark - наоборот. Я согласен с этим аргументом в ограниченной степени; У обоих движков есть инструменты для представления без кода или с полным кодом. Это зависит от парня, который заканчивает тем, что печатал это.

...