Re[2]: WPF vs HtmlLayout
От: dimzon Россия http://dimzon541.narod.ru
Дата: 19.12.07 12:48
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, dimzon, Вы писали:


D>>Собственно сабж в теме. Есть такая мысль что WPF практически похоронил данный проект. Интересно мнение автора.


CS>Не люблю я сравнения солнца и луны — и то и то в небе, но собственно это и все что у них общего. Ну да ладно.

CS>К слову сказать была такая мулечка что WPF это могильщик HTML и CSS. Но пока не видно. На динамику создания новых сайтов WPF не оказал никакого влияния. Я не заметил каких бы то ни было изменений в динамике продаж htmlayout с выходом WPF. Скорее наоборот — больше стало продаваться но это отдельная история.
Ну WPF-сайты это отдельная история. я всё-таки говорю о WPF-приложениях.

CS>WPF по своему масштабу это имплементация некоего глобального принципа.

Да! Причём XAML это лишь часть WPF. WPF по своей сути это что-то вроде сверхнавороченного Swing-а а XAML это просто некоторый формат для сериализации/десериализации (причём ПРОИЗВОЛЬНЫХ объектов)
CS>htmlayout, он проще — просто встраиваемый html/css движок. Не больше и не меньше. Может использоваться за для показать фрагмент HTML где-то так и для полного skinned UI.


CS>Стили... у XAML'а своя собственная и просто другая, несравнимая с CSS система стилей.


CS>Это вот:

CS>
CS><Style x:Key="ButtonStyle">
CS>   <Setter Property="Button.Background" Value="BlueViolet" />
CS>   <Setter Property="Button.FontSize" Value="20" />
CS>   <Setter Property="Button.Width" Value="200" />
CS>   <Setter Property="Button.Height" Value="30" />
CS></Style>
CS>


CS>ну просто далеко не

CS>
CS>.ButtonStyle
CS>{
CS>  background:BlueViolet;
CS>  font-size:20px; 
CS>  width:200px; 
CS>  height:200px; 
CS>}
CS>


CS>Понятия какскадинга у <Style> нет в принципе. Есть наследование но это абсолютно не то. В XAML single inheritance, а в CSS очень гибкая система multiple, selector based inheritance. В htmlayout еще больше — там есть style sets которые делают inheritance груп стилей для поддеревьев DOM.


CS>Ну короче WPF::Style и CSS::style это небо и земля. CSS::style это мощная и гибкая коцепция. WPF::Style это просто ассоциативная таблица именнованных свойств (которую еще больше губит XML формат).


CS>
CS><Style TargetType="{x:Type Control}> 
CS>

CS>Это далеко не CSS селектор. Причем очень далеко не. Triggers перекрывают только CSS pseudo classes. Но и только.

CS>Скажем вот такую вот простую конструкцию


CS>
CS>  select > option:current { background:threedface; color: windowtext; }
CS>  select:focus > option:current { background:highlight; color: highlighttext; }
CS>

CS>Я не знаю как воспроизвести в XAML. Буду признателен если мне знатоки покажут как.
Ну конкретно для этого примера. Сочетанию SELECT + OPTION в WPF наверно соответствует какой-нить потомок ItemControl и набор его Item-ов.
У ItemControl есть 2 свойства — Style и ItemStyle — вот они эти стили. Причём свойство ItemStyle можно установить ИЗ свойства Style (через стиль можно установить практически ЛЮБОЕ свойство в отличии от HTML). А :focus и :current разруливаются триггерами. Я ответил на ваш вопрос?



CS>Ну и напоследок.


CS>WPF это managed code. Т.е. не везде, не для всего и не на всех Windows версиях работает. htmlayout это native code, может работать как в managed средах .NET и Java (кстати) так и в сугубо нативных приложениях.

ИМХО наступает время managed code!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.