2010-07-19 3 views
2

Хорошо, поэтому мы все, конечно, знаем о больших двух фреймворках, построенных поверх ASP.Net. Webforms и MVC. Существуют ли какие-либо альтернативы этим двум крупным и разработанным Microsoft структурам?Какие существуют альтернативные рамки для ASP.Net?

Я считаю, что у OpenRasta было что-то чрезвычайно легкое, которое было независимым от обоих, но я не уверен. Есть ли что-нибудь еще подобное?

Причина, по которой я спрашиваю об этом, заключается в том, что я размышлял над попыткой создать фреймворк, независимый как от Webforms, так и от MVC, и я хотел бы посмотреть, как другие люди подошли к проблеме.

ответ

3

Существует Mono Rail, альтернативная структура MVC.

И новый продукт/проект microsoft WebMatrix, по-видимому, основан на совершенно другом подходе (хотя я не знаю его подробно).

+1

webmatrix - это идеал для веб-разработчиков – 2010-07-19 22:07:30

+0

@Pierre это больше, чем просто IDE .. это совершенно другая структура, использующая какой-то «бритвенный» синтаксис для разметки. Посмотрите на http://www.asp.net/webmatrix/tutorials/create-an-asp-net-website-from-scratch – Earlz

+2

@Pierre: да, это правда, но если я правильно понял, он также содержит новое программирование " модель "для веб-приложений, которая больше похожа на классический ASP, чем на ASP.NET или MVC. – M4N

1

Действительно, OpenRasta является единственным из предложенных ответов, которые могут закончиться из asp.net довольно счастливо и по-прежнему работать над ним, если вы этого желаете. И он достаточно стабилен, что для ветки 2.0 требуется несколько патчей до начала работы в 3.0 в этом месяце.

+0

[отказ от ответственности] :) – Earlz

+0

Я не чувствую необходимости отказываться от того, что я возглавляю этот проект. Это факты, которые я излагаю, а не мнение. Он находится в prod, он стабилен, имеет использование и является единственным, у которого заканчивается asp.net. – SerialSeb

1

Я разработал альтернативу ASP.NET MVC. Вы получаете такое же развязку и разделение проблем, но разница в том, как вы строите свои проекты.

У меня есть несколько видеороликов на моем блоге, исходный код для фреймворка, образец проекта и несколько надстроек VS.NET (новый элемент проекта, новый строитель и новый вид).

Quartz for ASP.NET

Некоторые ключевые дифференцирующие характеристики являются 1. Шаблоны просто HTML - не код смешивается с шаблонами 2. Шаблоны не являются, таким образом многоразовые через взгляды и дизайнеров веб-сайта могут проектировать шаблоны в их дизайн инструмент выбора 3. Сильно (нет ViewData и т. д.), поэтому вы получаете интуицию, проверку времени компиляции, навигацию F12 и т. д. 4. Вы создаете страницы как композиции представлений, а не подход с наименьшим из результатов. 5. Вид можно рассматривать как «реальные» классы. 6. Все соблюдается, поэтому нет компиляции во время выполнения.

Довольно много других факторов дифференциации.

Мой сайт/блог также построен с использованием Quartz для ASP.NET Matlus - Internet Technology & Software Engineering

+0

Чтобы быть полностью честным, я собирался задать вопрос, требующий чего-то вроде этого (особенно только для просмотра только HTML), а затем вошел в систему и увидел это. Я обязательно проверю это. – Earlz

+0

Я поставил вопрос на ваш сайт, но я также спрошу здесь. Работает ли Builder над Mono? – Earlz

0

Я разработал небольшой фреймворка некоторое время назад, когда MVC не совсем работает прямо на Mono (или, по крайней мере, WASN» t стабильный)

Это называется BarelyMVC и является лицензией BSD по адресу bitbucket.

Ну, в основном BarelyMVC, хотя может использоваться, вероятно, во всех проектах, возможно, не лучший инструмент.Но, в общем, имеют следующие особенности будут для нее:

  • Всех особенностей MVC без обучения кривого или архитектуры обходных
  • полного контроля над сгенерированным HTML. Представления в основном представляют собой только предварительно обработанный HTML с динамическими битами.
  • Маршрутизация поддерживает дружественные URL-адреса простым и последовательным образом.
  • Меньше магии. Легко видеть, что произойдет и почему

Итак, чтобы подвести итог. Хотя я называю это MVC, это больше похоже на VC, view и controller. Мнения, конечно, существуют и очень легкие. Контроллеры в основном относятся к классу HttpHandler. Однако нет никаких настоящих «потребностей» для моделей. Абстрактные вещи по моделям очень легко выполняются с помощью BarelyMVC, но они действительно необязательны. Нет предположения, что под каждым HttpHandler используется модель данных. Хотя это может привести к беспорядочному коду, я видел довольно плохой код, который случается, когда люди пытаются работать с принудительной архитектурой MVC. Работа вокруг будет происходить, несмотря ни на что, поэтому я просто сделаю так, чтобы мои рамки были чрезвычайно легкими в работе. Я даю вам достаточно силы, чтобы стрелять в вашу ногу, но я также убедился, что вы очень четко знаете, что собираетесь.

Он состоит из трех основных компонентов:

  • ViewEngine - Действительно удивительный вид двигателя с использованием T4. Все ваши взгляды статически скомпилированы и статически напечатаны. Поэтому intellisense просто работает для ваших взглядов. Не более ViewData["typo"] ошибок.
  • Router - мощный движок маршрутизации, который отображает URL-адреса ваших HttpHandlers, позволяя использовать SEO и удобные для пользователя URL-адреса.
  • FSCAuth - простая защищенная среда проверки подлинности, которую чрезвычайно легко реализовать в любой базе данных.

И, конечно же, каждый из этих трех компонентов также является полностью необязательным.

Я сделал свой собственный блог в BarelyMVC, и я думаю, что это оказалось очень хорошим примером того, как классный BarelyMVC. Исходный код также находится на bitbucket

Смежные вопросы