Вопрос

Я начинаю новый веб-проект и рассматриваю две структуры представления.Я думаю либо об ASP.NET MVC, либо о Silverlight.Я бы склонялся к Silverlight, поскольку я достаточно опытный разработчик .NET, хотя у меня есть лишь базовые знания об элементах управления ASP.NET.

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

Решение

В основном это будет продукт Iternal, поэтому браузеры не являются проблемой.

Вы еще не написали правильный описание характера вашего приложения.Трудно оценить, какая технология подходит лучше всего, не зная достаточно хорошо области, в которой применяется приложение, и проблем, которые оно призвано решить.

В целом, Microsoft позиционирует этот набор презентационных технологий на «Охват против Рича"континуум.У вас есть «простой старый» HTML и Javascript с одной стороны, приемлемый для большинства клиентских машин, и полноценный WPF с другой стороны, с которым может справиться ограниченное количество машин.Вы упомянули, что это внутреннее приложение, поэтому также возможен WPF через XBAP или ClickOnce.

Таким образом, шкала будет выровнена следующим образом:(охват) ASP.NET, AJAX, Silverlight, WPF (богатый).

Итак, вопрос в том, насколько богатым вы хотите/нужно быть для пользователей, пока это не повредит базе развертывания?Честно говоря, если все, что вы получаете, — это формы, табличные данные и статистика, то обычные веб-формы ASP.NET вполне подойдут.Если вам нужны графики с изменяемым размером на лету и взаимодействие на стороне клиента с серверными веб-службами WCF, Silverlight может это сделать.Если вам нужен еще более мощный графический рендеринг, чем WPF, с помощью вариантов удаленного развертывания — это ваш выбор.

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

Silverlight 3 с RIA кажется очень мощным.Я не программировал 6 лет после работы над VB6.Около месяца я разрабатываю веб-приложение, которое использует SL3, WCF и структуру сущностей, и чувствую себя очень комфортно.

Форум silverlight и stackoverflow, конечно, очень активны, и для некоторых проблем, с которыми я столкнулся, мне удалось легко найти решение.

Единственное, в чем я пока не уверен, это производительность.

Как лично, так и профессионально я ежедневно пишу C# для приложений Windows Forms и служб Windows.Даже спустя годы я считаю, что создать веб-приложение на PHP или Python НАМНОГО быстрее, чем на .NET.Возможно, с появлением Silverlight что-то изменилось, но для меня кривая обучения ASP.NET просто смешна по сравнению с окупаемостью.

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

Не забывайте, что для использования Silverlight потребуется плагин, и, насколько мне известно, он не был добавлен «изначально» в IE, не говоря уже о остальных браузерах.Так что только из-за этого может возникнуть масса проблем с обслуживанием/поддержкой.PDF-файлы сейчас считаются «повсеместными», но вы все равно сталкиваетесь с одним или двумя пользователями, у которых на компьютере нет Adobe Reader, и это часто происходит в неподходящее время, и тогда вы суетитесь в поисках установщика.

На фундаментальном уровне именно это удерживает меня от использования Silverlight для моих веб-приложений.Я думаю, что технология, лежащая в ее основе, хороша, но, учитывая, что в настоящее время вы можете получить равную видимость/функциональность с помощью хорошей комбинации Webforms/MVC/AJAX/jQuery (смешивайте и подбирайте по своему вкусу), я бы сказал, придерживайтесь ASP.NET.

По моему мнению, вам может быть лучше с ASP.Net.Несмотря на то, что вам потребуется небольшая кривая обучения, вы будете разрабатывать проверенную, надежную и масштабируемую модель, а не что-то, что находится в стадии бета-тестирования и, вероятно, изменится до RTM.

Кроме того, с помощью AJAX в наши дни можно получить довольно удобный пользовательский интерфейс от ASP.Net.

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

Я использовал Silverlight, но многие компании не позволяют пользователям ничего устанавливать, а домашние пользователи недовольны установкой плагинов для браузера, Silverlight не так известен как Flash player.

Для начинающих и продвинутых программистов вы можете найти видеоуроки по адресу.

http://www.asp.net/mvc

Трудно рекомендовать один вариант другому, не зная, какое у вас приложение.Что бы вы ни решили, убедитесь, что вы помните о своей целевой аудитории;не все будут устанавливать Silverlight на свои компьютеры.

Лично, если бы я не проектировал невероятно интерактивное и красивое веб-приложение, я бы выбрал ASP.NET (с инфраструктурой MVC или без нее), хотя бы потому, что существует тонна справочного материала для него, в то время как Silverlight все еще остается относительно новой территорией.

В основном это будет внутренний продукт, поэтому браузеры не будут проблемой.Это больше о цене разработки.Что легче изучить: модель Silverlight или модель ASP.NET?Я ожидаю, что Silverlight основан на WebServices и поэтому может четко разделить код моего приложения на бизнес-логику (сервис) и представление (приложение Silverlight).

Учитывая ваш опыт работы с .NET, но ограниченный опыт работы с Asp.net...Я предполагаю, что вы скорее специалист по обслуживанию/клиентам.Это будет означать, что ваш JavaScript, вероятно, столь же ограничен...В этом случае я бы выбрал Silverlight.Это облегчит вам освоение WPF, который вы, возможно, будете использовать в будущем.

Но что еще более важно, работа с Silverlight 2.0 больше напоминает создание изолированного настольного приложения.Больше, чем веб-приложение.Вы будете чувствовать себя более комфортно с Silverlight, если до этого у вас был опыт работы с клиентскими приложениями.

Если вы хотите заняться созданием веб-сайтов/приложений, используйте ASP .NET MVC.

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

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

Я думаю, что Silverlight требуется только тогда, когда вы хотите создавать такие приложения, как Flash.Эти приложения объединяются в один исполняемый файл, который один раз загружается на клиентский компьютер.Они могут взаимодействовать с сервером, если им нужны какие-либо данные или какие-либо функции, находящиеся на сервере.Конечному пользователю необходимо установить надстройку среды Silverlight, чтобы запустить эти приложения.

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

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