Руководство по переносу приложения форм Windows .NET в веб-приложение - PullRequest
2 голосов
/ 22 января 2012

Существуют ли хорошие книги или веб-сайты на эту тему, охватывающие такие темы, как:

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

У нас есть довольно большой продукт на основе winforms, который мы хотели бы перенести в Интернет. Переход по сценарию «большого взрыва», вероятно, займет не менее двух лет. Мы ищем альтернативные сценарии. Я особенно ищу способы справиться с промежуточным сценарием, какие у вас есть варианты, чтобы клиенты были довольны.

  • Позвольте им использовать приложение Windows одновременно с новым вебом. приложение?
  • Позвольте приложению Windows использовать новые функции из Интернета. приложение через сервисный интерфейс?
  • Принять какое-то время расходы на двойное обслуживание, чтобы клиенты были довольны?

Ответы [ 2 ]

5 голосов
/ 22 января 2012

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

Лучше всего прекратить разработку новых приложений для форм Windows.Начните писать новое приложение для новых функций.Затем начните перемещать одну изолированную функцию за раз в Интернет.

У вас есть два варианта для пользовательского интерфейса

  1. веб-форм - близко совпадает с формами оконмодель.Если вы используете какие-либо сторонние элементы управления, такие как devexpress, вы можете найти их эквиваленты в веб-формах.

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

Состояние

  • Поддержание состояния приложения сравнительно просто в формах окон.В webforms у вас есть viewstate, чтобы сделать это за вас.Но вы столкнетесь с грубыми потрясениями, когда столкнетесь с ограничениями состояния, особенно когда оно становится слишком большим.
  • В MVC вы несете полную ответственность за поддержание состояния.

Новые навыки

Вам необходимы новые навыки для имитации состояния полного состояниясценарии

  • Хорошее понимание javascript, ajax, по крайней мере одного javascript-фреймворка, такого как jquery.Некоторые сторонние коммерческие наборы инструментов могут облегчить некоторые из этих трудностей.
  • В зависимости от сложности вам могут потребоваться платформы веб-приложений, такие как Backbone.js / Knockout

Ожидания

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

4 голосов
/ 22 января 2012

Основываясь на собственном опыте перемещения приложений с настольного компьютера в Интернет: тщательно проверьте архитектуру приложений winforms и , если возможно , - попробуйте предоставить веб-интерфейс на уровне обслуживания или постоянства, чтобы ваши окнаприложения используют веб-сервисы вместо непосредственного общения с базой данных.Затем вы можете позволить своим пользователям запускать настольные модули с сервера приложений, используя clickonce.

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

Затем мы заменяли модули один за другим, внедряя их в качестве веб-приложений и поддерживая оба (clickonce и web)на короткий промежуток времени, чтобы пользователи могли привыкнуть к новым модулям.

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

...