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-специфичным меньшее из зол.

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


Date: 2011-02-05 12:37 am (UTC)
From: [identity profile] cranequinier.livejournal.com
>> Потому что интерпретируемый. Вы когда-нибудь видели прямой интерпретируемый код?
> define прямой.

define "define"

> то что, например, отот примитивный эбаут бокс кривой, так то не tcl интерпретатор виноват, а я.

Продемонстрируйте это! Напишите прямой. Причем чтоб он был прямой во всех виндах, во всех Mac OS, и на всех линуксах. Я не поленюсь проверить в семи-восьми VM, если будут сомнения. Вы же говорите, оно мультиплатформенное?

А потом честно расскАжите, сколько получилось гемора недель работы.

Date: 2011-02-05 01:00 am (UTC)
From: [identity profile] witowd.livejournal.com
define "define"

ггг

define 'define "define"'

а если серьезно, то о чем спор? то что по волшебству ни жвавовский свинг, ни tk ни gtk+ ни qt ни shoes не сделают 100% идеально прилизанных "как будто родное" программулин? так никто и не спорит. чудеса не случаются.

при чем тут якобы кривость джавы я не понимаю.

вообще obsession по поводу пикселей на кнопочках у пользователей бывает чуть менее чем никогда. они, по моим наблюдениям, вообще этого не замечают: работает и ладненько. это, конечно, расстраивает: столько времени тратишь на, а им пофиг.

Date: 2011-02-07 05:48 pm (UTC)
From: [identity profile] cranequinier.livejournal.com
а если серьезно, то о чем спор? то что по волшебству ни жвавовский свинг, ни tk ни gtk+ ни qt ни shoes не сделают 100% идеально прилизанных "как будто родное" программулин? так никто и не спорит. чудеса не случаются.

А зачем тогда пользоваться всеми этими пионерскими поделками? Пишите как взрослые люди, на Win32 API. И чудеса будут случаться постоянно.

вообще obsession по поводу пикселей на кнопочках у пользователей бывает чуть менее чем никогда. они, по моим наблюдениям, вообще этого не замечают: работает и ладненько.

Расскажите пожалуйста про ваших пользователей, да побольше. Я буду это перечитывать в трудные минуты.

Date: 2011-02-07 06:45 pm (UTC)
From: [identity profile] witowd.livejournal.com
всеми этими пионерскими поделками

бггг, K Вы такой N.

как тулкит Foo определяется плохим, негодным? на основании примера 1 диаложика от фиг знает кого в жижечьке. это дает автомагически несколько преимуществ:

1. всегда точно знать на будущее, не пробуя написать ни 1 строчки на Foo, что Foo--поделка жалких, ничтожных пионеров.

2. считать любой другой тулкит идеологически похожий на Foo--поделкой, может даже еще хуже Foo.

3. никогда не пробовать ничего нового и/или не от любимого вендора.

Расскажите пожалуйста про ваших пользователей, да побольше.

ооо! у меня такие пользователи, но я их Вам не покажу!

вот например, часто бывает как пишут:

I was going to stick with your foobar software but I realized last night that it has the ok button (sorry, didn't remember which one) in the options dialog that is almost 2 pixels wider than I prefer. Can I have my refund please?

Date: 2011-02-05 07:35 pm (UTC)
sergey_cheban: (Default)
From: [personal profile] sergey_cheban
> Напишите прямой.
Доктор, теперь Ваша очередь кунфу показывать... А то Вы сначала хотите галку на кнопке, а потом жалуетесь, что некрасиво получилось.

Date: 2011-02-07 05:38 pm (UTC)
From: [identity profile] cranequinier.livejournal.com
Во второй серии.

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 01:31 pm
Powered by Dreamwidth Studios