Почему в мире .NET нет ничего похожего на Rails/Grails/Django/Roo? [закрыто

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/4714

  •  16-10-2019
  •  | 
  •  

Вопрос

Мне кажется, что веб-платформы быстрого развития радикально изменит мир веб-приложений.

Прошло пять лет с тех пор, как Rails 1.0 был выпущен для Ruby, и с тех пор мы видели Грааля для Groovy, Django для Python и Roo для Java.

Но, насколько мне известно (что, вероятно, ограничено, будучи Java/Groovy Progammer), нет аналогичной структуры для C#.

Такая вещь существует? Если нет, то почему бы и нет?

Редактировать: Вполне возможно, что я не использую правильные слова, когда говорю «быстрое развитие», но я говорю о рамках, которые могут позволить вам создать рабочий двигатель блога за 30 минут. Вы не могли бы разумно сделать это, скажем, с Java, Spring и Hibernate, учитывая различную конфигурацию, необходимую для того, чтобы ваши контроллеры были найдены, и как конфигурация, так и код, необходимые для ваших сущностей и получаться.

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

Это было полезно?

Решение

Мне кажется, что в этой теме еще нет названия. Я называю их на данный момент просто Rails-подобные рамки: Структуры, которые повышают производительность, организуя другие существующие рамки с целью решения основных потребностей большинства веб -приложений, но в то же время скрывают все сложности от разработчика.

Под основными потребностями я имею в виду реализацию поставщика постоянств, контейнера в зависимости от зависимости, инструмента для ведения журнала, платформы MVC, двигателя HTML -шаблона, стартового комплекта шаблона веб -сайта с предустановками CSS, структурой безопасности и некоторой библиотекой JavaScript для функций Ajax функции Ajax с функциями AJAX с помощью Framework и некоторых библиотеки JavaScript для функций Ajax для функций Ajax с функциями AJAX. и другие крутые вещи. Рамки, подобные рельсам, организуют все эти рамки и инструменты на основе модели домена (объекты вашей системы с ее атрибутами).

Благодаря принципу конвенции-конфигурации эти рамки избегают определения множества файлов конфигурации, обычно требуемых структурами, которые они организуют (например, Spring, Spring MVC, Hibernate, Log4J и т. Д.), Предполагая конфигурации по умолчанию на основе именов. , структура и метаданные включены в те же определения классов.

Благодаря динамическим языкам, которые используют эти рамки (такие как Ruby, Groovy, Python, Clojure и т. Д.), За исключением Springroo, который реализует динамическое поведение в Java, используя AspectJ, функциональность, принадлежащая к рамкам внизу. предоставляются для разработчика такой униформой и элегантным образом, что он/она только что знает о основных технологиях.

Наконец, благодаря технике каркасов, модульных тестам, интеграционным тестам, контроллерам и представлениям создаются автоматически для основных функций (CRUD) по каждому из объектов домена, определенных разработчиком.

В мире .NET ничего не было разработано, следуя всем предыдущим определениям. Но ничто не мешает этому появиться в ближайшее время. В мире .NET уже есть отличные фреймворки, инструменты и библиотеки, которые могут быть организованы новыми рельсами, похожими на рамки, созданные для CLR. Есть Unity, Spring.net и Castle Windsor, среди других для потребностей в зависимости. Entity Framework 4, Nhibernate и Ibatis.net - довольно хорошие поставщики постоянств .NET. ASP.NET MVC сильно пришла при поддержке различных шаблонных двигателей, помимо традиционного ASP.NET.

Даже если никто не достигнет использования языка DLR для создания такого рода рамки, любой, у кого есть достаточно, может следовать по пути Springsource и внедрить рамки, подобную рельсам, с каким-то статическим языком, таким как F#, C# или VB.NET, используя аспект -Ооризованный контейнер (например, аспект Sharp или Gripper-loom.net) для получения динамического поведения.

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

Другие советы

Я не знаю, что вы имеете в виду под "быстрыми веб -платформами разработки". Определение «быстрого развития», с которым я знаком, не имеет ничего общего с языками, парадигмами или рамками, а скорее использование быстрого прототипирования и итеративного развития для производства системы. Любой язык или структура могут использоваться одинаково хорошо.

Я никогда раньше не использовал Grails или ROO, но Django и Rails - это каркасы MVC, поэтому их аналог в .NET будет ASP.NET MVC.

Вы можете перейти в Visual Studio и перетаскивать элементы управления на веб -странице и подключить их к базе данных практически без кода. Один щелчок, чтобы проверить/просмотреть. И один щелчок, чтобы загрузить на веб -сайт (ОК, введите учетные данные).

Не то чтобы это был наиболее используемый или даже рекомендуемый способ сделать это, но на самом деле это не становится намного проще, чем это.

Потому что .NET Веб -приложения имеют цикл сборки.

Ruby/Python оказываются очень гибкими/ловкими и динамичными языками.

Там, где я работаю, у нас есть огромное веб-приложение .NET, а время компиляции сопоставимо с типичной программой C ++ со средним и большой.

В моем запасном виде я разрабатываю веб -приложения в Python, и время компиляции составляет 0. Там просто нет никакого шага компиляции вообще. Запуск переводчика просто перезагружает файлы .py при их сохранении.

Лицензировано под: CC-BY-SA с атрибуция
scroll top