Вопрос для лица, принимающего решения: сравните ASP.NET / Ruby / Python с элементами управления веб-интерфейса - PullRequest
3 голосов
/ 30 июля 2010

Мне нужно выучить язык для написания веб-приложений (не веб-сайтов!).

После некоторого исследования в google и stackoverflow я пришел к выводу, что выбор должен упасть:

1) Рубин + Рельсы

2) Питон + Джанго

3) c # + ASP.NET

Конечно, даже случайный выбор не был бы плохим выбором, но мой вопрос здесь относится к элементам управления пользовательского интерфейса. Я из мира разработчиков win32, поэтому в прошлом я был на таких сайтах, как DevExpress и Telerik, которые продают элементы управления ASP.NET (или silverlight), такие как расширенные сетки, компоненты планирования, списки деревьев ...

Итак, ASP.NET покрыт, так как Ruby / Python для меня в настоящее время совершенно неизвестны, не могли бы вы пролить свет на сторону пользовательского интерфейса? Я имею в виду, как в этих мирах управляются элементы управления пользовательским интерфейсом? Где их найти?

Все это делается с использованием таких библиотек, как ExtJS или JQuery? Как это работает? (это вопрос новичка, так что прости слишком упрощенный подход).

Ответы [ 3 ]

3 голосов
/ 30 июля 2010

Ruby on Rails - это серверная среда, которая обрабатывает HTTP-запросы и отвечает HTML †. Он не имеет никакого представления о типах элементов управления пользовательского интерфейса, на которые вы ссылаетесь.

Однако, он может интегрироваться с фреймворками JavaScript, такими как ExtJS или jQuery, и есть некоторые плагины Rails или RubyGems, которые облегчают эту интеграцию. Например, this Railscast показывает пример использования календаря в приложении Rails.

† Обычно HTML. Он также может отвечать XML, JSON, текстом или чем угодно на самом деле.

2 голосов
/ 30 июля 2010

HTML предоставляет только некоторые «элементы управления по умолчанию». Например, выпадающие списки, кнопки, гиперссылки и флажки.

Более сложные элементы управления, такие как сетки или древовидные списки, должны быть построены в верхней части страницы с использованием комбинации JavaScript и изображений. Для этого есть несколько библиотек, моя любимая - jquery UI .

Ruby + Rails не содержит каких-либо сложных элементов пользовательского интерфейса "из коробки" (просто простые элементы управления), но включение пользовательского интерфейса jquery (или любой другой библиотеки javascript) на самом деле не очень сложно.

У меня нет большого опыта работы с Python и Django, но это более или менее та же история: по умолчанию они не имеют «продвинутых элементов управления»; они просто предоставляют стандартные элементы управления HTML.

У меня еще меньше опыта работы с ASP.NET. Он вполне может прийти с библиотекой пользовательского интерфейса - вам придется взглянуть на это.

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

Имея это в виду, я рекомендую вам переосмыслить свой вопрос. Вместо того, чтобы задавать себе вопрос «что дает мне больше элементов пользовательского интерфейса, проще», задайте себе вопрос «что облегчает мне разработку серверной части».

Мой ответ на этот второй вопрос: «Вероятно, Ruby on Rails». На первый взгляд количество вещей, с которыми оно поставляется, может быть неочевидным, но оно применяет множество хороших практик - от соглашений об именах, до тестирования, до ненавязчивого JavaScript (в основном на rails 3.0). Список просто продолжается. И вдобавок ко всему, его сообщество просто фантастическое.

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

1 голос
/ 30 июля 2010

Если вы уже знакомы с C # и ASP.NET, почему бы не использовать это?

Конечно, если вы знаете Python, документы Django являются хорошими отличное место для начала.Даже если вы не знаете Python, они по крайней мере дадут вам представление о том, что потребуется для изучения / использования Python + Django.

HTH!

...