Re: WPF vs HtmlLayout
От: c-smile Канада http://terrainformatica.com
Дата: 18.12.07 23:21
Оценка: 20 (3)
Здравствуйте, dimzon, Вы писали:

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


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

WPF по своему масштабу это имплементация некоего глобального принципа.
htmlayout, он проще — просто встраиваемый html/css движок. Не больше и не меньше. Может использоваться за для показать фрагмент HTML где-то так и для полного skinned UI.

Т.е. все что имеет смысл сравнвать это XAML vs HTML/CSS.... и то мне почему-то кажется что "XAML это такой SVG но без CSS".

Начну с того что XAML это не HTML. HTML более это семантически более высокоуровневый язык. XAML как я уже говорил это по сути своей FRM фомат из VB переформулированный в XML (имхо)

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

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


ну просто далеко не
.ButtonStyle
{
  background:BlueViolet;
  font-size:20px; 
  width:200px; 
  height:200px; 
}


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

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

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

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

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

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

Я не знаю как воспроизвести в XAML. Буду признателен если мне знатоки покажут как.

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

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