Бизнес-приложение в .NET - какую технологию выбрать? - PullRequest
8 голосов
/ 12 сентября 2011

Работа над портированием приложения Winforms в Интернет.Это бизнес-приложение, но контроль над браузером конечного пользователя недоступен.В основном все будут использовать IE, Chrome, FireFox на настольных компьютерах и Safari на IPads.

Приложение интенсивно использует ListViews, TreeViews, сетки, диаграммы и имеет общий интерфейс в стиле «дока» (Панель навигации слева, страницы подробностей открываются справа и имеют вкладки - аналогично интерфейсу Visual Studio).Не нужно никаких SEO / HTML-дружественных фреймворков, так как приложение скрыто от поисковых систем.

Ищем рекомендации по веб-технологиям.Нужна либо собственная, либо сторонняя поддержка для ListViews, TreeView, гридов, диаграмм и стыковочного интерфейса.Скорость выхода на рынок и простота очень важны./ Ненавижу / облажаюсь с использованием Javascript или несерверных технологий.

Silverlight?MVC с HTML5?Обычный MVC?Webforms с HTML5?Планировать вебформы?Сторонние контроли?(Имейте лицензию на Telerik's и предпочли бы придерживаться их, если нет пакетов с открытым исходным кодом)

Я думаю, год назад Silverlight был бы простым ответом, но теперь я больше не уверен в этом из-заокончательный рост числа Android-устройств, в которых отсутствует поддержка Silverlight ... и похоже, что Microsoft переключает свое внимание с Silverlight на HTML5

Итак, что же осталось вместо Silverlight для бизнес-приложений?

Спасибо!

Ответы [ 6 ]

4 голосов
/ 12 сентября 2011

Хотя я о том, где вы находитесь в моих поисках нирваны пользовательского интерфейса, я расскажу о том, о чем я думаю.

Лично я считаю, что если вы хотите остаться с Microsoft, но ваше приложение должно работать на платформах, отличных от Windows, в городе есть только две игры. Silverlight и MVC с хорошим набором виджетов пользовательского интерфейса на стороне клиента.

Мой мыслительный процесс до сих пор может быть сведен к:

Silverlight, с большим отрывом, опережает MVC с точки зрения простоты разработки (благодаря истинному MVVM / фантастическому связыванию данных) и «богатства» пользовательского интерфейса. Но, к сожалению для разработчиков, насколько это легко для нас, на самом деле не имеет значения для пользователя.

Недостатком SL, как отмечают другие, является то, что он работает не везде, где вы хотите. В частности, Android и iOS сложны (хотя вы должны оценить MonoDroid и Monotouch).

MVC, который, на мой взгляд, является лучшей серверной веб-технологией, очень хорош в разработке, но просто не имеет тонкостей со стороны клиента с сохранением состояния, как у SL, и вам приходится иметь дело с HTML, javascript и клиентом без сохранения состояния ,

Смягчение этих комментариев заключается в том, что существует довольно много хороших фреймворков, которые делают javascript практически сносным (я использую JQueryUI & wijmo) и предоставляют полуобогащенный пользовательский интерфейс клиента.

Это действительно сводится к тому, чтобы достичь богатства. Я также вижу, что MS уделяет большое внимание MVC. Кто знает, может быть, мы увидим несколько хороших инструментов для связывания данных и т. Д. В будущем?

3 голосов
/ 12 сентября 2011

если вы планируете поддерживать iphone / android / non-win, то попрощайтесь с silverlight. с другой стороны, если вы планируете поддерживать смартфоны, вам нужно будет сделать отдельные проекты для небольших и крупных форм-факторов. стыкуемые интерфейсы слишком загружены для небольших устройств.

Технология? HTML5 был бы хорош, но только последние браузеры поддерживают его, и даже тогда поддерживают только кусочки стандарта.

MVC против вебформ? на самом деле не имеет значения. оба это просто способ выплюнуть HTML.

Вам нужно будет немного "поработать с Javascript или несерверными технологиями". Telerik предлагает множество компонентов, которые вы упомянули для веб-форм, хотя они имеют тенденцию к увеличению.

Слегка на основании ваших требований:

  • просмотр списка: родной в webforms / mvc
  • представления дерева: telerik или плагин jQuery
  • сетки: нативные таблицы html лучше всего работают в IMO, или вы можете сделать что-то с привязкой к данным в asp.net или telerik
  • диаграммы: бесплатный плагин, telerik, dundas или что-то вроде SSRS, если у вас есть что-то отчетное
  • интерфейс стыковки: пересмотрите вашу потребность в этом. Если вы все еще заинтересованы, у asp.net есть встроенные веб-части или вы можете получить пакет из jQuery UI

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

1 голос
/ 12 сентября 2011

(извините за мой плохой английский) У меня те же требования, что и у вас, и я выбрал Silverlight.Мои клиенты не используют iPad или андроиды в качестве рабочего инструмента, НО некоторые части моего приложения могут быть использованы этими устройствами.Для меня было бы гораздо сложнее разрабатывать все в формате html / js, чтобы приложение могло работать на всех платформах, когда мои клиенты используют windows / osx в 99% случаев.

Кроме того, все планшеты / смартфоны / ПК имеют различные руководства по пользовательскому интерфейсу, для меня нет смысла в этом "html / js для запуска везде".Даже если вы используете html / js, вам придется создавать пользовательский интерфейс на каждой платформе (по крайней мере, для настольных компьютеров / планшетов), если вы хотите получить достойный пользовательский опыт.

Создать пользовательский интерфейс в silverlight легко и удобно.для калибра микро, если вы идете по этому маршруту) хорошо вписывается.На сервере я использую службы RIA и открываю канал OData, чтобы другие клиенты могли легко использовать данные.

1 голос
/ 12 сентября 2011

У меня был похожий проект, и я выбрал ASP.NET MVC 2 + бесплатные Telerik MVC Components , который обладает хорошей функциональностью Grid / ComboBox.

Я также использовал jQuery для некоторых элементов пользовательского интерфейса.Вам придется возиться с Javascript, но вы делаете это с JQuery, который я считаю новым уровнем.как всегда IE6 была болью :)

0 голосов
/ 13 сентября 2011

Одна вещь, которую я забыл упомянуть в своем предыдущем ответе: если у вас есть какие-либо требования к взаимодействию с устройством (будь то windows / android / iOS / OSX и т. Д.), Вы действительно должны сделать нативное приложение.Несмотря на то, что некоторые технологии HTML5 обладают способностью делать подобные вещи, я 1) сомневаюсь, если честно - кросс-платформенный нативный доступ?и 2) до него будет очень далеко.

Я решил написать пользовательский интерфейс несколько раз: один раз в MVC / JQueryUI, который теоретически работает «везде» (хотя эта часть везде быстро падает с другим экраномразмеры / форм-факторы), а также собственное приложение для каждого «интересных сценариев развертывания».

В настоящее время я изучаю лучшие практики для выделения как можно большего количества кода, который является распространенным кроссплатформенным.Если большая часть кода пользовательского интерфейса может быть общей для всех пользовательских интерфейсов, то часть пользовательского интерфейса может быть очень маленькой и оптимизированной для конкретного устройства.Если я смогу сделать пользовательский интерфейс "достаточно тупым", не должно ли это быть слишком обременительным, верно?: -)

0 голосов
/ 12 сентября 2011

Просто помните, что если вы пойдете по маршруту Silverlight, вы не будете использовать Android, iPhone и Blackberry Devices и ограничитесь только Windows Phone. Веб-формы, использующие MVC, всегда являются хорошим вариантом.

Я всегда большой сторонник MVC из-за разделения ваших компонентов и представлений и абстракции интерфейсов. Веб-формы хороши, и вы можете использовать AJAX и JQuery, интегрированные с ним. Те, которые работают в большинстве браузеров, AJAX на самом деле довольно хороши в браузерах Safari для Android и Iphone. Я написал страницы ASPX, которые привязаны к различным браузерам для различных мобильных устройств. Это просто простые переменные среды, в которых вы можете указать, какой браузер и какое мобильное устройство загружается.

Страницы Silverlight и WAML выглядят великолепно и портативно, но на мобильных устройствах они просто недоступны. Он доступен на разных платформах, хотя для настольных компьютеров.

Plus Telerik Suite поставляется с Silverlight / WPF, веб-формами и Winforms и имеет каждый сопоставимый элемент управления для всех трех форматов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...