Является ли разработка WPF быстрее или медленнее, чем классический ASP.NET (веб-формы) - PullRequest
2 голосов
/ 30 марта 2011

У вас есть опыт работы с ASP.NET и WPF? Если да, то я буду благодарен, если вы поделитесь своим опытом, пожалуйста.

Мы оцениваем проект WPF с 100 экранами. Наша методология оценки включает в себя характеристику сложности каждого экрана. Затем мы применяем стандартный номер для времени разработки, исходя из сложности и технологии. Стандартное число основано на том, что разработчик хорошо , а не супер-звезда.

Например, вот экран:

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

Мы бы охарактеризовали этот экран как средний и выделили бы Х часов для задачи, для классического ASP.NET (в отличие от MVC).

Нам нужна помощь, чтобы выяснить, что X должно быть для WPF.

Мой вопрос:

Если бы экран создавался в WPF, кто-то хорошо в WPF - это заняло бы X часов, или 0,7 X, или 1,3 X? Какова относительная производительность WPF по сравнению с классическим ASP.NET?

Если спросить иначе: если задача занимает (выбирая число) 10 часов кодирования ASP.NET, сколько часов потребуется, чтобы сделать это с WPF? 5? 15

Мы хотели бы знать, является ли WPF (выбирая число) на 50% более продуктивным, чем ASP.NET, поэтому мы можем предложить более низкую цену и быть уверенными, что сможем выполнить проект в рамках бюджета.

[Редактировать] Задать еще один способ: это обсуждение ASP.Net или WPF (C #)? имеет кучу ответов. Выбранный «правильный» ответ - «Причины выбора WPF», а первая - «Гораздо быстрее и проще разработка, чем ASP.NET и jQuery».

Это ответ верно? Как намного быстрее?

Ответы [ 4 ]

6 голосов
/ 31 марта 2011

Из личного опыта:

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

Тем не менее, фактическая разработка опытными разработчиками может быть намного быстрее в WPF.Мой личный фактор стресса - это совместимость браузера (заставить его отображаться одинаково в нескольких (версиях) браузеров; это просто занимает слишком много времени.)

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

2 голосов
/ 30 марта 2011

Слишком много переменных. Причина № 1, чтобы выбрать инструмент из-за знакомства с пользователем. Если ваша команда уже знает и знакома с ASP.NET, она будет на несколько порядков лучше и быстрее. Если ваша команда не знает WPF, то будет период нарастания, и как только они будут нарастать, они, вероятно, будут такими же быстрыми, как и в ASP.NET.

Однако, если требуется, чтобы приложение могло быть установлено, или оно требуется в автономном режиме, или имеет какое-то другое преимущество, которое поставляется только с WPF, тогда вам, вероятно, нужно принять удар. Если нет, у вас будет более качественный продукт, если вы позволите команде использовать инструменты, которые ему удобны.

Если вы пытаетесь разделить свои проблемы и используете подход стиля Model View Presenter с asp.net, я думаю, что это займет больше времени и больше работы, чем MVVM в WPF, потому что есть отличная поддержка связывания. Но тем не менее, есть кривая обучения.

Нет ничего неявного для asp.net или WPF, что делает один более быстрый, чем другой. Скорость развития определяется талантом команды и тем, что им удобно.

1 голос
/ 31 марта 2011

Лично я считаю, что WPF разрабатывается намного быстрее, чем ASP.Net, однако, если вы строите оценку, убедитесь, что вы добавили много дополнений для кривой обучения.

Я работал с обоими ипредпочитаю WPF.Я считаю, что работать с ним намного быстрее и проще, а создание нужного мне пользовательского интерфейса кажется таким легким по сравнению с чем-либо в Winforms или веб-интерфейсе.

Например, это не проблема, например, создавать кнопки странной формы (звездные, круглые и т. Д.), Создавать выпадающие списки с флажками для фильтрации данных, создавать сетки данных, которые имеют разные интерфейсы для разных строк на основев данных всплывающие окна, которые делают фон полупрозрачным или размытым, или перетаскиваемые объекты, которые фактически отображают перетаскиваемый объект.Это все те вещи, с которыми я играл, которые очень просты в WPF.

Когда я только начинал работать с WPF, для него не было большой поддержки, но я считаю, что это изменилось.У большинства проблем, с которыми я сталкиваюсь, есть решение где-то в сети, или ответ можно получить быстро, задав вопрос по SO

Единственное ограничение, которое я вижу с WPF, - это то, что он связан с .Net framework

0 голосов
/ 18 июня 2011

Я думаю, можно с уверенностью сказать, что WPF в таком проекте, как вы описываете, может быть на 33% быстрее, в основном потому, что результаты более предсказуемы и контролируемы.В конце концов, все хотят, чтобы он выглядел так, как они хотят.

WPF гораздо более естествен для повторного использования и масштабирования, чем любой проект ASP.NET.Все, что вы создаете, может быть легко превращено в пользовательский элемент управления со встроенной привязкой. Я предпочитаю MVVM MVC.

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

Я также недавно начал программировать с VB6 для настольных приложений и JQuery.с PHP.С этими языками разработка идет намного быстрее, чем с чем-либо связанным с .NET, потому что .NET должен быть скомпилирован.Это серьезный недостаток этого языка.Зачастую составление сложного веб-сайта может занять некоторое время.По этой причине для личного пользования я буду придерживаться jQuery, веб-сервисов PHP и MySQL.

...