Что использовать при создании отдельного приложения из веб-приложения?

Меня попросили создать отдельное приложение из веб-приложения — я должен сохранить тот же внешний вид и, конечно же, функциональность. По сути, конечный результат должен быть следующим: автономный продукт, который выглядит и делает то же самое, что и его веб-аналог.
Некоторое время я разрабатывал с помощью asp.net и C#, но сомневаюсь, что это легко преобразовать в отдельное приложение C#.
Я слышал кое-что о xaml, но не знаю, что использовать, чтобы немного облегчить себе жизнь.
Должен ли я просто оставить платформу .Net и перейти на Java? Или, если я оставлю .Net, что мне использовать?


person ioanaik    schedule 23.03.2011    source источник
comment
Что вы подразумеваете под автономным приложением? Приложение WinForms, которое можно установить на рабочую станцию ​​и выполнять свою логику без какой-либо связи с внешним миром, или приложение WinForms, являющееся клиентом, которое будет взаимодействовать (предположительно через службы WCF) с сервером?   -  person Simen S    schedule 23.03.2011


Ответы (4)


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

person j.i.t.h.e.s.h    schedule 23.03.2011
comment
... особенно когда вам нужно в какой-то момент перенести свое приложение на Linux. - person Costis Aivalis; 24.03.2011

Веб-приложения и приложения для настольных компьютеров принципиально отличаются друг от друга (хотя разработчики ASP.NET Web Forms утверждают обратное), но вы должны иметь возможность повторно использовать большую часть своей бизнес-логики (особенно если вы правильно разделили свои задачи). Я бы предложил начать с нового проекта Windows Forms, создать эквивалентный набор элементов управления (кнопки, сетки и т. д.), а затем искать возможности заимствования логики пользовательского интерфейса (события кликов и т. д.).

person dahlbyk    schedule 23.03.2011

Если ваше веб-приложение написано на ASP.NET, я бы придерживался этого.

Если ваше веб-приложение было создано правильно и новое приложение должно иметь точно такую ​​же функциональность, вы должны иметь возможность повторно использовать большую часть кода независимо от того, используете ли вы формы WPF или Windows. Вам просто нужно перестроить пользовательский интерфейс.

person Brandon    schedule 23.03.2011
comment
Да, но разве WPF не слишком медленный? Visual Studio 2010 использует его, и загрузка занимает довольно много времени.... - person ioanaik; 26.03.2011
comment
@ionaik, я не думаю, что WPF намного медленнее, если вообще. VS2010 для меня на самом деле намного быстрее, чем VS2008. Что вы выберете, WPF или Winforms, действительно зависит от вас, что, по вашему мнению, будет лучше для вашего проекта. Как уже отмечалось, любой из них является хорошим выбором, поскольку позволяет повторно использовать код .NET. - person Brandon; 26.03.2011
comment
К сожалению, у меня нет опыта работы с WPF... Я только заметил, что в Vista он работает медленно (исправление: моя перспектива ;D). Я не пробовал его ни в одной другой ОС...‹br /› Мой начальник сказал мне сегодня поищите какие-нибудь хорошие классы графического интерфейса на C# - например, качели для java (в основном он использует java) - знаете, что я мог бы использовать? - person ioanaik; 26.03.2011

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

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

Или еще проще, создайте простое приложение для Windows с помощью окна браузера и просто укажите на существующее приложение.

person CodingBarfield    schedule 24.03.2011
comment
Разве не к этому стремится Silverlight? Я читал на некоторых других форумах, и один парень сказал, что он переписал код в Silverlight, и теперь он может использовать его как автономное приложение, так и как веб-приложение... Я думал, что Silverlight был разработан, чтобы быть частью веб-страницы. ... - person ioanaik; 26.03.2011