Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > WPF vs HTML5 как клиентский интерфейсный движок


Автор: jonie 13.8.2010, 10:18
Итак, пусть нам надо быстро и безболезненно организовать богатый по графическим возможностям интерфейс.
Наиболее простым вариантом мне кажется использовать нечто вроде html5 или wpf (речь про клиентские приложения).
HTML5 можно использовать встраивая к себе webkit например, wpf есть в .net "из коробки".
С другой стороны, производство интерфейса на html в разы (как мне кажется) проще, в силу наличия огромного числа специалистов и отработанной техники создания подобных интерфейсов в вебе. Анимации и т.п. легко воспроизводятся используя canvas или просто jQuery (или подобные).

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

Автор: Kefir 13.8.2010, 12:52
1. В HTML5, каким бы он крутым не был нет и не должно быть таких же возможностей по богатству интерфейса, как есть в WPF.
2. Даже если держать интерфейс приложения в рамках, которые можно сделать в HTML5 всё равно писанины на HTML5/JS будет больше из-за изначальной незаточенности под роскошность пользовательского интерфейса.
3. Даже если сможете без проблем описать все фишки UI на HTML5/JS, то подумайте о бизнес-логике. WPF - отдельно-стоящая программа, которая работает внутри себя и имеет доступ ко всем ресурсам. HTML/JS - вы ограничены возможностями JS + если захотите большего, то надо будет долго пилить движок. Да и вообще, имхо, связь между бизнесом и представлением будет пестрить подводными камнями. WPF = вы точно будете знать что оно под эти вещи заточено. Как вы собираетесь делать обновления UI? Ajax? Reload? Допиливать Webkit? Имхо первое - мучения, второе - неэстетично, третье - самоубийство.
4. Количество специалистов - не показатель. На WPF многие люди работают (в том числе и я) и если вы наймёте специалиста - не вижу в чём тут будет разница.
5. Хочу заметить что с браузером не делал настольных приложений, посему не знаю какие могут быть минусы и плюсы в таком подходе, но звучит это как забивать гвозди микроскопом.
6. Так же хочу заметить, что занимаюсь не только WPF но и сайтами HTML/JS - много чего разного делал. Если передо мной лично поставят такой вопрос - я без малейших сомнений выберу WPF.

Итог: WPF заточен под ваши цели, а HTML - нет. WPF имеет больше возможностей и делает HTML как стоячего какую-бы фичу HTML5 вы не назвали. WPF имеет фишки, которых просто нет в HTML. C WPF можно не мучаться с JS, а писать на нормальном C#.

Напоследок - единственное что может помешать выбору WPF - отсутствие кроссплатформенности.

Автор: jonie 13.8.2010, 14:56
Цитата

Как вы собираетесь делать обновления UI? Ajax? Reload? Допиливать Webkit? Имхо первое - мучения, второе - неэстетично, третье - самоубийство.
ну webkit (например) позволяет дернуть javascript метод без особых проблем, с параметрами, конечно же и подобные вещи вполне себе покрывают то что вам надо. Это всего лишь вид, проблем с бизнес логикой никаких нет.

Цитата

4. Количество специалистов - не показатель. На WPF многие люди работают (в том числе и я) и если вы наймёте специалиста - не вижу в чём тут будет разница.
количество тут означает и стоимость тоже. wpf стоит дороже.

Цитата

5. Хочу заметить что с браузером не делал настольных приложений, посему не знаю какие могут быть минусы и плюсы в таком подходе, но звучит это как забивать гвозди микроскопом.
да видели.. многие диалоги например в VS сделаны на html (только IE там используется как движок)... или настройка принтеров HP тоже на html-е... поискать и еще примеров найти можно.

Автор: Springtime 13.8.2010, 20:39
Скажу тут своё скромное слово:
HTML5 да прикольно, кросплатформенно, да и только, гибко подвязать его на бизнес логику ещё не скоро можно будет
вот допустим шарик от мелкомягких судя по тенденциям перейдёт на Silverlight

Автор: Sartorius 13.8.2010, 21:35
jonie, недостаточно конкретно задача поставлена. В зависимости от условий может рулить либо WPF , либо HTML. Кстати почему WPF а не Silverlight? WPF - ку то юзеру качать нужно, устанавливать и ни на чем кроме виндов работать она не будет. (Разработчики моно так и говорят "мы WPF поддерживать не будем" smile).

Автор: Vasay 13.8.2010, 21:58
Цитата

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


Думаю, Вы абсолютно не правы.

Цитата

количество тут означает и стоимость тоже. wpf стоит дороже.


С чего бы это?

Для создания красивого интерфейса в случае WPF вам потребуется  .NET-чик и дизайнер. 
Для создания JS интерфейса для десктоп приложения вам потребуется: JS разработчик, дизайнер и программист на том языке, который будете использовать для бизнеслогики.  Учитывая, что Вы хотите допиливать WebKit - нужен будет специалист по с++.  С учетом того,  что работы будет ощутимо больше - вариант с JS интерфейсом скорей всего выйдет в разы дороже. Да и, думаю, найти специалиста по WebKit  будет не просто.


ИМХО Если цель - сделать красивое приложение под WIN - то .NET с WPF самый правильный выбор.

Если нужна кросплатформенность, то тут уже есть над чем подумать, да и то JS я бы рассматривал бы далеко не в первую очередь - после Flash и JavaFx.

Автор: Kefir 15.8.2010, 23:26
Цитата(jonie @  13.8.2010,  14:56 Найти цитируемый пост)
ну webkit (например) позволяет дернуть javascript метод без особых проблем, с параметрами, конечно же и подобные вещи вполне себе покрывают то что вам надо. Это всего лишь вид, проблем с бизнес логикой никаких нет.

Нет, вы поймите, если вас устраивает такой костыль (это моё имхо и ничего более) - пожалуйста. Мне такой подход кажется странным вот и всё smile


Цитата(jonie @  13.8.2010,  14:56 Найти цитируемый пост)
количество тут означает и стоимость тоже. wpf стоит дороже.

Я бы не сказал. Хорошие специалисты всегда стоят дорого. Если же вы имеете в виду, что на HTML есть больше дешевых средних программистов, то тут я не буду спорить.


Цитата(jonie @  13.8.2010,  14:56 Найти цитируемый пост)
да видели.. многие диалоги например в VS сделаны на html (только IE там используется как движок)... или настройка принтеров HP тоже на html-е... поискать и еще примеров найти можно.

Насторойку принтеров не видел. Некоторые диалоги на хтмл - удивился. Если вдруг вы знаете поточнее - какие именно (мне чисто для себя, я это без всяких сарказмов спрашиваю).


Цитата(Vasay @  13.8.2010,  21:58 Найти цитируемый пост)
программист на том языке, который будете использовать для бизнеслогики

Я так понял, что бизнес-логика готова и, условно говоря, лежит где-то в dll-ке. Надо лишь клиента прикрутить.


Я вам так скажу - если бы меня попросили это сделать - я бы брал WPF без раздумий. Однако просто некоторые факты:
1. WPF для UI сильно круче HTML/JS.
2. WPF может быть дороже при условии, что у вас просто город, где он неразвит и все спецы на счету. На HTML/JS действительно всегда можно наковырять студентов, которые по дешевке что-нибудь да сделают.
3. WPF ни разу не кроссплатформен.

Если вам удобнее, дешевле и проше тащить и поддерживать webkit - пожалуйста. Ну а если решитесь на WPF - милости просим в наш раздел. Всегда поможем решить проблемы.

Автор: jonie 15.8.2010, 23:45
Цитата

Некоторые диалоги на хтмл - удивился. Если вдруг вы знаете поточнее - какие именно (мне чисто для себя, я это без всяких сарказмов спрашиваю).
диалоги настройки проектов C++ (сразу после создания где "using procompiled headers" галки и т.д.),также диалоги добавление классов в c++ проект, настройки MFC шных диалогов (add variable диалог)....

Также (если я не ошибаюсь) то страничка настроек C# проектов тоже на html. Как минимум показ ошибок, возникающий при попытке студии показать форму .NET (если с ней не все впорядке) также на html. 

Это просто что вспомнилось "сразу", есть ряд других программ активно использущий html диалоги... например miranda im (для отображения чатов собственно)....
----------------
Есть еще один момент: время холодного старта. У меня получалось так, что webkit стартовал ощутимо быстрее, нежели wpf ...

Автор: Kefir 17.8.2010, 12:43
jonie, ставя жирную точку в своём мнении скажу - WPF > HTML по всем фронтам. И смысла обсуждать что круче тут нет, ибо ответ и так понятен. Если вам нужна кроссплатформенность - WPF просто не нужно даже рассматривать. Если вас интересует холодный старт - это очень маленький аргумент даже если webkit стартует на секунду быстрее. Если стоимость разработки - сравните количество человеко-часов которые будут потрачены на допиливание и отладку контролов с использованием HTML/JS (где нет нормального DataGrid, и ExtJs не аргумент - там оно тоже убого при сравнении с WPF). В общем и целом - здесь нет смысла в дискуссии. Для создания UI лучше WPF лично я не знаю ничего.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)