cranequinier: (Default)
[personal profile] cranequinier
Десктопные UI библиотеки {как будто} застыли в начале 90-х: картиночки в контрольчиках, автоматический ресайз, анимация - ничего этого или нету, или оно через жопу. И неудобно, долго писать. И в каждой новой библиотеке - на новый лад. И пара-тройка мегабайт для программы Hello, World! - это уже как бы и немного. Что делать? Есть ли выход? Выход есть, и он в вебовских технологиях на десктопе. Скорость разработки резко повышается, качество результата - тоже. Есть ли минусы? Ну, вроде нету. Я не вижу. Вижу одни плюсы.

Вебовский мир UI по сравнению с десктопным - мечта, волшебный сон. Во-первых, он ошеломляюще массовый, всего больше в десятки раз, если не в сотни - сравните число книг по веб-дизайну и по разработке UI на .Net или Java, или число тулсов по причёсыванию .html и .rc файлов. За счет массовости всё лучше отлизано, многократнее проверено, и понятнее описано. Во-вторых, HTML много разнообразнее и мощнее любой десктопной библиотеки - всё можно нарисовать картинками и оживить JavaScript-ом, всё можно засунуть внуть всего. В-третьих, писать HTML и JS руками прямо на живой программе, перегружая страничку по три раза в минуну для микро-тестирования - очень, очень быстрый способ разработки. В-четвертых - вебовский UI максимально кроссплатформен и тулсонезависим. Браузеров много, рендерится всё достаточно одинаково везде (см. ниже) - если вам надоел MS, запускайте те же исходники на iPad-е. Более того, можно одну и ту же программу с минимальными переделками запускать как десктопный исполнимый файл, и как интернетовский сайт.

Как достигается сей парадиз? Очень просто. Существует 97 способов половых сношений как минимум 4 массово используемые технологии для. Почему четыре? По числу минимально живых браузеров плюс флэш. Надо взять любимый вашими потенциальными пользователями браузер, спрятать его внутри вашей программы, как-то упаковать туда же HTML/JS/etc., и всё.

IE состоит внутри из набора хорошо документированных COM-объектов, которые фактически являются частью Win32 API, есть в любой виндовой инсталляции, и массово используются в UI самих Виндов начиная с Search dialog box в Windows 2000 и всё чаще и чаще в каждой следующей версии. Гуглить надо IWebBrowser, самый простой способ попробовать - в MS VisualStudio создать MFC Application, выбрать Dialog Based и прочекать HTML Dialog. Всё. Оно создаст программу (кошмарную, но об этом позже), состоящую из живущего в ресурсах HTML и из одного окна класса CDHtmlDialog, которое в свою очередь не содержит ничего, кроме объекта IWebBrowser.

Крутость использования IE заключается в том, что он встроен в Винды и всегда везде есть. Соответственно суппорт просто почти как у голой Win32 программы, нету вечной борьбы за работоспособный рантайм, можно упихать программу с весёленьким UI в 100K - это полный размер всей инсталляции. Кроме того IE всё ещё самый популярный браузер, и если лень возиться с мультибраузерностью но нужно вываливать HTML в Интернет - быть IE-специфичным меньшее из зол.

Продолжение тут


This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

cranequinier: (Default)
cranequinier

March 2020

S M T W T F S
1234567
891011121314
15161718192021
22 232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 2nd, 2026 11:53 am
Powered by Dreamwidth Studios