ASP.NET против Silverlight

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


person David Pokluda    schedule 28.08.2008    source источник
comment
Зачем ограничивать себя только этими двумя фреймворками? Как насчет Wicket и использования Java? Учтите, что это 8 лет спустя, и я уверен, что он, вероятно, уже является генеральным директором своей собственной компании; это просто комментарий, и я думаю вслух, пока читаю, и для других, кто наткнется на эту статью, чтобы подумать.   -  person eaglei22    schedule 03.03.2016


Ответы (11)


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

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

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

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

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

person icelava    schedule 29.08.2008
comment
+1 За умный способ объяснения - person Pawan Nogariya; 14.12.2012

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

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

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

person Community    schedule 20.09.2009

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

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

person Dinah    schedule 28.08.2008

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

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

person Dillie-O    schedule 28.08.2008

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

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

person DaveK    schedule 08.09.2008

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

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

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

http://www.asp.net/mvc

person Spiky    schedule 08.09.2010

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

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

person Kevin Pang    schedule 28.08.2008

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

person David Pokluda    schedule 28.08.2008

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

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

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

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

person Brian Leahy    schedule 29.08.2008

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

person Oren A    schedule 07.09.2010

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

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

person Soan    schedule 18.07.2011