Как устроен WPF?
От: Слава  
Дата: 18.08.15 21:12
Оценка: 5 (1)
Здравствуйте. А где бы почитать про low-level устройство WPF? Я примерно понимаю, как работает обычный GDI, с его окнами и оконными сообщениями. Примерно понимаю, как система вычисляет необходимые для перерисовки окна. Но, ведь вся эта машинерия работает в ядре, не так ли? А WPF — он только managed. Как вообще он встроен в систему, например — у меня в процессе два WPF-окна, видных на таскбаре, я одно перетащил над другим — кто будет вычислять "грязные" регионы, ядро или WPF внутри процесса? Что это за окна вообще — обычный объект GDI, внутри которого directx'ом что-то рисуется?

Есть ли какие-то подобные фреймворки, которые оперировали бы не сообщениями и device contexts, а графическими примитивами? В линуксе, например.
Отредактировано 10.01.2017 5:54 AndrewVK . Предыдущая версия .
wpf
Re: Как устроен WPF?
От: Sinix  
Дата: 19.08.15 06:28
Оценка: 20 (5) +1
Здравствуйте, Слава, Вы писали:

С>Здравствуйте. А где бы почитать про low-level устройство WPF?

Примерно так (+ ещё немного деталей). Более подробных постов не попадалось.

С>Как вообще он встроен в систему, например — у меня в процессе два WPF-окна, видных на таскбаре, я одно перетащил над другим — кто будет вычислять "грязные" регионы, ядро или WPF внутри процесса?

http://blogs.msdn.com/b/greg_schechter/archive/2006/06/09/623566.aspx
и ещё немного в .pro wpf programming
Re: Как устроен WPF?
От: c-smile Канада http://terrainformatica.com
Дата: 12.09.15 18:16
Оценка: 27 (3) +1
Здравствуйте, Слава, Вы писали:

С>Но, ведь вся эта машинерия работает в ядре, не так ли?


Если ядро имеется ввиду kernel то нет. GDI поверх работает в основном.

С>кто будет вычислять "грязные" регионы?


WPF/DirectX рисует в swap buffer (bitmap фактически). Т.е. WM_PAINT в WPF нет. Приложение рисует в буфер. Который переключается (swap) когда он готов.

С>Есть ли какие-то подобные фреймворки, которые оперировали бы не сообщениями и device contexts, а графическими примитивами? В линуксе, например.


Мой Sciter например.
Это в принципе тот же WPF только вместо XAML используется HTML/CSS. Ну и работает на всех desktop platforms в отличие от.
Отредактировано 12.09.2015 18:17 c-smile . Предыдущая версия .
Re[2]: Как устроен WPF?
От: vdimas Россия  
Дата: 19.01.16 14:06
Оценка:
Здравствуйте, Sinix, Вы писали:

С>>Как вообще он встроен в систему, например — у меня в процессе два WPF-окна, видных на таскбаре, я одно перетащил над другим — кто будет вычислять "грязные" регионы, ядро или WPF внутри процесса?

S>http://blogs.msdn.com/b/greg_schechter/archive/2006/06/09/623566.aspx
S>и ещё немного в .pro wpf programming

Че-та по ссылкам не говорится о том, что WPF рисует не в DirectX, а кодирует последовательность вызовов для отрисовки сцены в виде данных, затем передает эти данные нейтивному "плееру", который затем проигрывает сию последовательность в отдельном потоке. Вернее, наоборот, WPF вынужден создавать отдельный поток для обработки событий и отрисовки сцены, а главному шлёт вот этот закодированный алгоритм-данные для отрисовки в нейтивном GUI, в свою очередь, главный поток пуляет в этот дополнительный пришедшие события мыши, клавы и прочего. Вот такая херня, малята. )) Трафик GC порой просто невменяемый от просто движений мышью над сложной сценой. Отсюда все тормоза.
Re: Как устроен WPF?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 19.01.16 14:38
Оценка:
Здравствуйте, Слава, Вы писали:
Есть еще windowinterophelper
Я в 1С использую

public partial class Window1 : Window
    {
        dynamic Модуль1С;
        public Window1(dynamic модуль1С, dynamic Object1C)
        {
            InitializeComponent();
            Модуль1С = модуль1С;
            IExtWndsSupport n;
             n = (IExtWndsSupport)Object1C;
             IntPtr hwnd;
                    n.GetAppMainFrame(out hwnd);

            var wih = new System.Windows.Interop.WindowInteropHelper(this);
            wih.Owner = hwnd;

        }

        private void button_Click(object sender, RoutedEventArgs e)
        {
            Модуль1С.СообщитьСтр(textBox.Text);
        }
    }
и солнце б утром не вставало, когда бы не было меня
Re[3]: Как устроен WPF?
От: Слава  
Дата: 19.01.16 17:09
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Че-та по ссылкам не говорится о том, что WPF рисует не в DirectX, а кодирует последовательность вызовов для отрисовки сцены в виде данных, затем передает эти данные нейтивному "плееру", который затем проигрывает сию последовательность в отдельном потоке. Вернее, наоборот, WPF вынужден создавать отдельный поток для обработки событий и отрисовки сцены, а главному шлёт вот этот закодированный алгоритм-данные для отрисовки в нейтивном GUI, в свою очередь, главный поток пуляет в этот дополнительный пришедшие события мыши, клавы и прочего. Вот такая херня, малята. )) Трафик GC порой просто невменяемый от просто движений мышью над сложной сценой. Отсюда все тормоза.


Ничоси. Интересно, есть ли хоть один нетормозной композитный фреймворк?
Re: Как устроен WPF?
От: m2l  
Дата: 19.01.16 18:18
Оценка: 20 (2)
Здравствуйте, Слава, Вы писали:

С>Здравствуйте. А где бы почитать про low-level устройство WPF?

Если не изменяет память, то на https://www.techdays.ru/ проскальзывала пара докладов в которых более менее рассказывалось про работу всего стека (от xaml до драйвера видиокарты).
Re[4]: Как устроен WPF?
От: vdimas Россия  
Дата: 19.01.16 18:45
Оценка:
Здравствуйте, Слава, Вы писали:

С>Ничоси. Интересно, есть ли хоть один нетормозной композитный фреймворк?


Нейтивные браузерные — большинство с открытыми исходниками. Ну еще встроенный WinRT, начиная с Windows 8.0 — рендерит прямо из того же потока, в котором выполняется логика layout сцены, поэтому заметно пошустрее. GUI-cобытия, опять же, не надо перекачивать из потока в поток...
Re[4]: Как устроен WPF?
От: MxMsk Португалия  
Дата: 20.01.16 10:13
Оценка: 42 (2) +1
Здравствуйте, Слава, Вы писали:

С>Ничоси. Интересно, есть ли хоть один нетормозной композитный фреймворк?

Нашел кого слушать. Он уже не раз писал бред про WPF, в котором ни черта не разбирается. Лучше сам покопайся, если интересно. Да и с GC я тесты проводил — его там менее 1% про профайлеру.
Re[2]: Как устроен WPF?
От: UA Украина  
Дата: 04.02.16 13:16
Оценка:
CS>Мой Sciter например.
CS>Это в принципе тот же WPF только вместо XAML используется HTML/CSS. Ну и работает на всех desktop platforms в отличие от.

А в чем преимущество вашего подхода перед Desktop Applications и Web Applications?
Мне почему то всегда казалось что ваше решение это объединение наихудшых решений что можно было взять у Desktop Applications и Web Applications одновременно — то есть ваше решение не может полноценно заменить ни Desktop Application и также не может полноценно заменить и Web Application. В чем профит?
Re[3]: Как устроен WPF?
От: c-smile Канада http://terrainformatica.com
Дата: 05.02.16 00:52
Оценка: 19 (1)
Здравствуйте, UA, Вы писали:

UA>В чем профит?


Profit тот же что и у WPF, только как я уже сказал это HTML/CSS что заведомо лучше чем XAML. На всех desktop platforms

UA> ... Desktop Application ...


Desktop Application они все разные. Вот например одно
http://sciter.com/from-skeuomorph-to-flat-ui-evolution-of-one-application/
которое работает со Sciter UI уже десять лет.
За все десять лет из UI они только стили (CSS) в основном и меняют в UI.

При этом они перешли таким безболезненным образом с XP на Win 10 с его flat, Metro alike UI.
Это конечно своебразный UI, но вот и чисто утилитарный GitHub UI явно укладывется в HTML/CSS



Ну или вот чистый HTML/CSS desktop UI:

Atom / Electron editor



или вот Brackets editor



Кстати в Украине со Sciter активно работают (из тех что я знаю) несколько команд в softserve inc (Львов) и comodo (Одесса).
Отредактировано 05.02.2016 1:18 c-smile . Предыдущая версия .
Re[4]: Как устроен WPF?
От: UA Украина  
Дата: 05.02.16 10:40
Оценка: :)
UA>>В чем профит?
CS>Profit тот же что и у WPF, только как я уже сказал это HTML/CSS что заведомо лучше чем XAML. На всех desktop platforms

Разметка это дело десятое (например в Delphi ее вообще никто не видел), главное чтобы было удобство прописать байдинги и все такое.
В WPF можно интерактивность приложения наварачивать до усирачки, тогда как HTML даже сейчас это довольно статический контент из текста и картинок. То есть ваш подход явно проигрывает Desktop решениям, в том числе и WPF.
А если взять WebApplication, то там HTML разметки можно и не увидеть за серверными контролами который отдается клиенту или прикрутить как сейчас модно JavaScipt контролы — а у вас так можно делать? Думаю что нет.
Я не знаю почему антивирусы застряли на HTML-like UI, ведь если есть грамотный UI чел, то навернуть можно в разы круче и удобнее, а они сами себя добровольно урезают в возможностях своего UI выходит.
Re[5]: Как устроен WPF?
От: c-smile Канада http://terrainformatica.com
Дата: 05.02.16 18:07
Оценка: 3 (1) +1 :)
Здравствуйте, UA, Вы писали:

UA>>>В чем профит?

CS>>Profit тот же что и у WPF, только как я уже сказал это HTML/CSS что заведомо лучше чем XAML. На всех desktop platforms

UA>Разметка это дело десятое (например в Delphi ее вообще никто не видел), главное чтобы было удобство прописать байдинги и все такое.


"удобство прописать байдинги" тоже дело относительное. Это кому что удобно.
Кто-то считает что AngularJS (или +plus в Sciter) это высшая форма duplex data binding и лучше просто ничего не бывает.

UA>В WPF можно интерактивность приложения наварачивать до усирачки, тогда как HTML даже сейчас это довольно статический контент из текста и картинок. То есть ваш подход явно проигрывает Desktop решениям, в том числе и WPF.


Вот глянь на screenshots здесь https://cyberraiden.wordpress.com/2014/09/28/norton-internet-security-2015-review-settings/
Это не всё, там реально 40-50 форм и вариаций разных. Интерактивных настолько что рядовым проктологам и не снилось. Это всё HTML/CSS. Уже 10 лет как. Ибо это Sciter UI.

В Sciter можно делать заведомо больше того что можно в WPF. Ну вот скажем примеры из Sciter SDK:








UA>А если взять WebApplication, то там HTML разметки можно и не увидеть за серверными контролами который отдается клиенту или прикрутить как сейчас модно JavaScipt контролы — а у вас так можно делать? Думаю что нет.


А как WebApplication и WPF соотносится?
Ну да ладно...

Есть такое понятие — Single Page Web Applications (SPA). Там сервер отдает одну единственную статическую web page и реализует набор REST интерфейсов.
А клиент уже создает content. Всякие AngularJS, EmberJS, ReactJS и прочие они все про это.

SPA это классичесий вариант client-server архитектуры c толстым кдиентом.

Так вот SPA это и есть модель desktop приложения. Где в качестве server выступает business logic and data layer самого приложения.
В случае Sciter это или native code или код на C#, Go, D или, прости хоспидя, Delphi.

UA>... там HTML разметки можно и не увидеть ...


Ну вот
  Код richtext примера что на screenshot выше
<html>
  <head>
    <title>Richtext sample</title>
    <style>
      @import url(richtext.css);
      body { margin:0;}
      plaintext { font-family:monospace; overflow:scroll-indicator; white-space:pre-wrap; }
    </style>

    <script type="text/tiscript">
    function self.ready() {
      var richtext = $(richtext);
      var plaintext = $(plaintext);
      richtext.on("change", function() {
        plaintext.value = this.source;
      });
    };
    </script>
  </head>
<body>
  <frameset cols="*,*">
    <richtext src="test-doc.html" />
    <splitter/>
    <plaintext />
  </frameset>
</body>
</html>


Много ты там видишь из того что на картинке? UI того <richtext> создается в скрипте котоый подключается стилем @import url(richtext.css);

UA>Я не знаю почему антивирусы застряли на HTML-like UI, ведь если есть грамотный UI чел, то навернуть можно в разы круче и удобнее, а они сами себя добровольно урезают в возможностях своего UI выходит.


Ну почему только антивирусы ...

ICQ знаешь? Ну дык Sciter нонче...

И у меня в клиентах есть например World Bank Organization, или Kindred Healthcare (50 тыс сотрудников в US).
У них там дофига интересного деется на Sciter. С одним и тем же UI на разных платформах...
Re[6]: Как устроен WPF?
От: UA Украина  
Дата: 05.02.16 18:53
Оценка:
UA>>В WPF можно интерактивность приложения наварачивать до усирачки, тогда как HTML даже сейчас это довольно статический контент из текста и картинок. То есть ваш подход явно проигрывает Desktop решениям, в том числе и WPF.

CS>Вот глянь на screenshots здесь https://cyberraiden.wordpress.com/2014/09/28/norton-internet-security-2015-review-settings/

CS>Это не всё, там реально 40-50 форм и вариаций разных. Интерактивных настолько что рядовым проктологам и не снилось. Это всё HTML/CSS. Уже 10 лет как. Ибо это Sciter UI.

И где интерактивность? Обычный статический текст с картинками и кнопочками.

CS>А как WebApplication и WPF соотносится?

CS>Ну да ладно...

Мне не совсем понятна ваша ниша, вот если брать Qt — понятно, wxWidgets — тоже понятно, PhoneGap — понятно, и так далее. А вы где то посредине ни к десктопу ни к вебу.

CS>Есть такое понятие — Single Page Web Applications (SPA). Там сервер отдает одну единственную статическую web page и реализует набор REST интерфейсов.

SPA значит что нету постбэков с полной перезагрузкой страницы. А подгружать или замещать куски UI через .ajax никто не запрещает.

CS>А клиент уже создает content. Всякие AngularJS, EmberJS, ReactJS и прочие они все про это.

Это сегодняшняя мода такая, но UI можно делать и на сервере и отдавать уже готовым на клиента которому только отрендерить.

CS>SPA это классичесий вариант client-server архитектуры c толстым кдиентом.

Это зависит от реализации, можно сделать и тонким клиентом.

CS>Так вот SPA это и есть модель desktop приложения. Где в качестве server выступает business logic and data layer самого приложения.

CS>В случае Sciter это или native code или код на C#, Go, D или, прости хоспидя, Delphi.
Это бывает удобнее чтобы завернуть веб-приложение через PhoneGap и отдать его под видом desktop приложения, но все же понимают что это далеко не desktop приложение и оно имеет кучу ограничений.
Re[4]: Как устроен WPF?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 10.02.16 20:37
Оценка: +5 -2
Здравствуйте, c-smile, Вы писали:

CS>Profit тот же что и у WPF, только как я уже сказал это HTML/CSS что заведомо лучше чем XAML. На всех desktop platforms

Мягко говоря, спорное утверждение. По мне так XAML заруливает любые другие аналоги с большим отрывом. HTML/CSS — вообще самое большое убожество, придуманное человечеством. И только обильное добавление жабаскриптовых либ делает его более-менее юзабельным.
Я конечно понимаю, что тебе нужно пиарить свой продукт, но всё же...
[КУ] оккупировала армия.
Re[5]: Как устроен WPF?
От: c-smile Канада http://terrainformatica.com
Дата: 11.02.16 01:26
Оценка: +1
Здравствуйте, koandrew, Вы писали:

K>Здравствуйте, c-smile, Вы писали:


CS>>Profit тот же что и у WPF, только как я уже сказал это HTML/CSS что заведомо лучше чем XAML. На всех desktop platforms

K>Мягко говоря, спорное утверждение. По мне так XAML заруливает любые другие аналоги с большим отрывом. HTML/CSS — вообще самое большое убожество, придуманное человечеством. И только обильное добавление жабаскриптовых либ делает его более-менее юзабельным.

То что в HTML/CSS люди добавляют тучи разных frameworks и подходов я классифицирую как достоинство. Значит основа достаточно гибкая.
Вокруг HTML/CSS мы наблюдаем кучу всяких технологий и идей, те же jquery, angular, react и прочее. WPF же... ну всё в том же состоянии...

Да даже MS от него как-то дистанциируется. Ну сделали вот WPF с рисованием в DirectX...
Но буквально через пару лет сделали Direct2D с тем же принципом. Только без этого странного XML нагромождения...
Хотя могли бы продолжать развивать WPF и переписать на нем desktop. Но не стали. Ужаснулись на реальных примерах ?

WPF/XAML это в принципе точно такое же DOM tree как тот же HTML или SVG. Словарь другой, а так в принципе то же самое.

Но у WPF архитектуры есть две основные проблемы:

1. Дикое нарушение принципа separation of concerns. Всё в куче и стили и биндинги и разметка.
На самом деле WPF это всё те же .FRM файлы от VisualBasic только вместо YAML-alike формата использован XML. Такой вот наивный рефактринг во времена когда было XML-наще-фсё.

2. Стили в WPF это вообще грустно. Особенно в сравнении с CSS и его cascading и селекторами. Ну вот не получается в WPF применить другую систему layout или стилей без переписывания всего и вся. Всё приколочено гвоздями. Фактичски та же проблема что и у WinForms.

Т.е. не получается как с HTML когда backend/server выдает абстрактный список <ul><li>, а уже CSS раскладывает его вертикально и горизонтально — как надо.
И тут много всякого под этим.

K>Я конечно понимаю, что тебе нужно пиарить свой продукт, но всё же...


Я хоть и участвовал как Invited Expert в W3C в разаработке HTML5 спецификации, но ни HTML ни CSS не являются моими продуктами.
Т.е. тут "пиарить" мне нечего.
Re[6]: Как устроен WPF?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 11.02.16 01:57
Оценка: +1 -3
Здравствуйте, c-smile, Вы писали:

CS>То что в HTML/CSS люди добавляют тучи разных frameworks и подходов я классифицирую как достоинство. Значит основа достаточно гибкая.

Неверно — это значит, что оригинал настолько убог, что без костылей его использовать невозможно.

CS>Вокруг HTML/CSS мы наблюдаем кучу всяких технологий и идей, те же jquery, angular, react и прочее. WPF же... ну всё в том же состоянии...

См. выше. Плюс тут сказалось жёсткое легаси. Собственно jquery изначально зародилась как способ предоставить браузеро-независимое API для жабаскриптов.

CS>Да даже MS от него как-то дистанциируется. Ну сделали вот WPF с рисованием в DirectX...

CS>Но буквально через пару лет сделали Direct2D с тем же принципом. Только без этого странного XML нагромождения...
CS>Хотя могли бы продолжать развивать WPF и переписать на нем desktop. Но не стали. Ужаснулись на реальных примерах ?
Месье понимает разницу между композицией и рендером?

CS>WPF/XAML это в принципе точно такое же DOM tree как тот же HTML или SVG. Словарь другой, а так в принципе то же самое.

Принцип действительно похожий, только XAML намного мощнее за счёт дата-шаблонов и байндинга.

CS>1. Дикое нарушение принципа separation of concerns. Всё в куче и стили и биндинги и разметка.

Байндинг и дата-темплейты — это как раз ОГРОМНОЕ преимущество XAML и то, чего так не хватает в HMTL. Не зря же появилась куча жабаскриптовых библиотек для этих фич — потому что искаропки в HTML ничего этого нет.

CS>На самом деле WPF это всё те же .FRM файлы от VisualBasic только вместо YAML-alike формата использован XML. Такой вот наивный рефактринг во времена когда было XML-наще-фсё.

Это (а также остальные пункты) только говорит об уровне твоих знаний о WPF.

CS>2. Стили в WPF это вообще грустно. Особенно в сравнении с CSS и его cascading и селекторами. Ну вот не получается в WPF применить другую систему layout или стилей без переписывания всего и вся. Всё приколочено гвоздями. Фактичски та же проблема что и у WinForms.

Разные лейауты реализуются разными XAMLами. При этом благодаря байндингам у дизайнера полная свобода в размещении элементов — такое HTML/CSS даже не снилось. При этом никакого кода писать не нужно — всё подцепляется само.

CS>Т.е. не получается как с HTML когда backend/server выдает абстрактный список <ul><li>, а уже CSS раскладывает его вертикально и горизонтально — как надо.

А как насчёт замены списка на, скажем, комбобокс? В XAML — пара строчек разметки. А в HTML/CSS опять упс.
CS>И тут много всякого под этим.

CS>Я хоть и участвовал как Invited Expert в W3C в разаработке HTML5 спецификации, но ни HTML ни CSS не являются моими продуктами.

CS>Т.е. тут "пиарить" мне нечего.
А мы конечно не видим ссылку на твой сайт в профиле, и не заметили прямую рекламу в одном из предыдущих постов. Ты за кого нас держишь?
[КУ] оккупировала армия.
Re[7]: Как устроен WPF?
От: c-smile Канада http://terrainformatica.com
Дата: 11.02.16 07:33
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Здравствуйте, c-smile, Вы писали:


CS>>То что в HTML/CSS люди добавляют тучи разных frameworks и подходов я классифицирую как достоинство. Значит основа достаточно гибкая.

K>Неверно — это значит, что оригинал настолько убог, что без костылей его использовать невозможно.

Если следовать такой логике то "С++ настолько убог что без библиотек его использовать невозможно".
Или я не правильно мысль твою уловил?

CS>>Вокруг HTML/CSS мы наблюдаем кучу всяких технологий и идей, те же jquery, angular, react и прочее. WPF же... ну всё в том же состоянии...

K>См. выше. Плюс тут сказалось жёсткое легаси. Собственно jquery изначально зародилась как способ предоставить браузеро-независимое API для жабаскриптов.

jquery уже давно не про браузеро-независимость.
Но вот кстати в чём парадокс... HTML/CSS работает на куче платформ ...
Про WPF я так понимаю ты опять стыдливо промолчишь.

CS>>Да даже MS от него как-то дистанциируется. Ну сделали вот WPF с рисованием в DirectX...

CS>>Но буквально через пару лет сделали Direct2D с тем же принципом. Только без этого странного XML нагромождения...
CS>>Хотя могли бы продолжать развивать WPF и переписать на нем desktop. Но не стали. Ужаснулись на реальных примерах ?
K> Месье понимает разницу между композицией и рендером?

О да, слова я такие знаю только причем они здесь?

CS>>WPF/XAML это в принципе точно такое же DOM tree как тот же HTML или SVG. Словарь другой, а так в принципе то же самое.

K>Принцип действительно похожий, только XAML намного мощнее за счёт дата-шаблонов и байндинга.

Нужен тебе data binding? Подключай angular.js, vue.js или knockout какой.
Не нужен — ничего не подключай и ни за что платить не будешь в плане performance.
Нужны тебе шаблоны? {{mustache}}, handlebars, angular, react, polymer и иже с ними...
На любой вкус, цвет и настроение.

CS>>1. Дикое нарушение принципа separation of concerns. Всё в куче и стили и биндинги и разметка.

K>Байндинг и дата-темплейты — это как раз ОГРОМНОЕ преимущество XAML и то, чего так не хватает в HMTL. Не зря же появилась куча жабаскриптовых библиотек для этих фич — потому что искаропки в HTML ничего этого нет.

Всё там есть и в ассортименете.

CS>>На самом деле WPF это всё те же .FRM файлы от VisualBasic только вместо YAML-alike формата использован XML. Такой вот наивный рефактринг во времена когда было XML-наще-фсё.

K>Это (а также остальные пункты) только говорит об уровне твоих знаний о WPF.

Верну ка я сию претензию в твой адрес обратно, но про современный web stack.

CS>>2. Стили в WPF это вообще грустно. Особенно в сравнении с CSS и его cascading и селекторами. Ну вот не получается в WPF применить другую систему layout или стилей без переписывания всего и вся. Всё приколочено гвоздями. Фактичски та же проблема что и у WinForms.

K>Разные лейауты реализуются разными XAMLами. При этом благодаря байндингам у дизайнера полная свобода в размещении элементов — такое HTML/CSS даже не снилось. При этом никакого кода писать не нужно — всё подцепляется само.

Ты давно не интересовался state of affairs в web технологиях.

CS>>Т.е. не получается как с HTML когда backend/server выдает абстрактный список <ul><li>, а уже CSS раскладывает его вертикально и горизонтально — как надо.

K>А как насчёт замены списка на, скажем, комбобокс? В XAML — пара строчек разметки. А в HTML/CSS опять упс.
CS>>И тут много всякого под этим.

CS>>Я хоть и участвовал как Invited Expert в W3C в разаработке HTML5 спецификации, но ни HTML ни CSS не являются моими продуктами.

CS>>Т.е. тут "пиарить" мне нечего.
K>А мы конечно не видим ссылку на твой сайт в профиле, и не заметили прямую рекламу в одном из предыдущих постов. Ты за кого нас держишь?

Это про что? А вообще чего так глубоко залазить? Тут вот рядом есть форум "Продукты Terra Informatica", это всё про Sciter и уж триста лет как.
Зачем мне что-то еще?

Вот помнится Evernote 3.5 вышел на WPF...
Абстракции были зашибись, всё там правильно было, и binding и rendering и composition.
А реализацию правильных патернов можно было на стенку вешать за для красоты...
Но понимаешь какое дело... Не шевелилось, оно...
4 месяца дистрибуция или около того продержалась. Быстро на native переписали...

И вообще в Канаде работы по WPF нет. В смысле вообще нет. О чём сие говорит как думаешь?
Re[8]: Как устроен WPF?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 11.02.16 13:10
Оценка: -2
Здравствуйте, c-smile, Вы писали:

CS>Если следовать такой логике то "С++ настолько убог что без библиотек его использовать невозможно".

CS>Или я не правильно мысль твою уловил?
Абсолютно правильно.

CS>jquery уже давно не про браузеро-независимость.

CS>Но вот кстати в чём парадокс... HTML/CSS работает на куче платформ ...
CS>Про WPF я так понимаю ты опять стыдливо промолчишь.
Нет — просто мне платформы, где он не работает, не интересны.

CS>О да, слова я такие знаю только причем они здесь?

А подумать?

CS>Нужен тебе data binding? Подключай angular.js, vue.js или knockout какой.

CS>Не нужен — ничего не подключай и ни за что платить не будешь в плане performance.
CS>Нужны тебе шаблоны? {{mustache}}, handlebars, angular, react, polymer и иже с ними...
CS>На любой вкус, цвет и настроение.
Вот и я о чём. А в XAML всё это искаропки, не нужно никаких велосипедов.

CS>Всё там есть и в ассортименете.

Только при устновке 100500 библиотек. Я предпочитаю искоробочное решение, т.к. все эти библиотеки кривые.

CS>Верну ка я сию претензию в твой адрес обратно, но про современный web stack.

Ну то есть ты не отрицаешь, что имеешь наглостьсмелость критиковать XAML, даже не потрудившись его как следует изучить?

CS>Ты давно не интересовался state of affairs в web технологиях.

Я каждый день ими интересуюсь, и пока я вижу только костыль на костыле и костылём подгоняет.

CS>Это про что? А вообще чего так глубоко залазить? Тут вот рядом есть форум "Продукты Terra Informatica", это всё про Sciter и уж триста лет как.

CS>Зачем мне что-то еще?
Откуда я знаю зачем? Я не умею читать чужие мысли...

CS>Вот помнится Evernote 3.5 вышел на WPF...

CS>Абстракции были зашибись, всё там правильно было, и binding и rendering и composition.
CS>А реализацию правильных патернов можно было на стенку вешать за для красоты...
CS>Но понимаешь какое дело... Не шевелилось, оно...
CS>4 месяца дистрибуция или около того продержалась. Быстро на native переписали...
Тоже видимо такие же "профи" были WPF фигово работает в руках идиотов — тут руки прямые нужны, да голова ясная.

CS>И вообще в Канаде работы по WPF нет. В смысле вообще нет. О чём сие говорит как думаешь?

Правда чтоли? Значит мне мои контракты на WPF приснились?
[КУ] оккупировала армия.
Re[9]: Как устроен WPF?
От: c-smile Канада http://terrainformatica.com
Дата: 11.02.16 17:41
Оценка:
Здравствуйте, koandrew, Вы писали:

CS>>И вообще в Канаде работы по WPF нет. В смысле вообще нет. О чём сие говорит как думаешь?

K>Правда чтоли? Значит мне мои контракты на WPF приснились?

Я не знаю кого ты больше обманываешь, себя или окружащих.

Вот сегодня:

http://careers.stackoverflow.com/jobs?&amp;tags=wpf — 6 позиций, только одна в Canada (Mississauga, ON)
http://careers.stackoverflow.com/jobs?&amp;tags=css — 89 позиций, каждое село в Canada представлено.

Успехов.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.