Здравствуйте, Cyberax, Вы писали:
C>... C>А нафиг оно для десктопного приложения? Если мечта о том, чтобы можно было десктопное приложение засунуть сразу в браузер — то можно забыть, слишком разные подходы.
Вообще все довольно давно идет к слиянию этих двух подходов.
Windows довольно широко использует HTML в большей части своих диалогов — полностью или частично сделанные на HTML.
Google делает приложения, которые уже довольно близко по функционалу подходят к десктопным.
Пока все конечно далеко от этого, но в будущем ситуация может поменяться.
Особенно учитывая слухи о Chrome OS — http://hexryde.com/2009/07/google-chrome-os-an-open-source-web-oriented-os/
T>"жалкие велосипедные технологии"?
Совмещая неполноценные десктопные и веб технологии получается библиотека, которая имеет недостатки как декстопа (Qt эмулирует контролы, а не использует родные), так и веба (все интернет технологии в Qt крайне убоги). И в результате получается гибридная мутантная библиотека, которую неоправдано усложнена, а возможностей меньше чем у полноценных оригинальных технологий.
T>А мне лично нравится, что простенький аналог HTML — как T>раз то что нужно для имплементации простенькой хелп-системы, мне теперь побарабану, что за T>система и какой в ней браузер, тем более есть под нее готовый редактор редактор и не надо голову ломать.
К тому же в Qt есть поддержка только движка WebKit, а в wxWidgets — WebKit, Gecko (Firefox), Trident (IE). IE вообще принципиально невозможно встроить в Qt из-за особенностей неродных для ОС технологий.
Здравствуйте, A13x, Вы писали:
C>>А нафиг оно для десктопного приложения? Если мечта о том, чтобы можно было десктопное приложение засунуть сразу в браузер — то можно забыть, слишком разные подходы. A>Вообще все довольно давно идет к слиянию этих двух подходов.
Но ещё не подошло.
A>Windows довольно широко использует HTML в большей части своих диалогов — полностью или частично сделанные на HTML.
Как раз наоборот. HTML'ные диалоги в Windows — это вымирающий вид. Они никогда нормально не работали.
A>Google делает приложения, которые уже довольно близко по функционалу подходят к десктопным. A>Пока все конечно далеко от этого, но в будущем ситуация может поменяться. A>Особенно учитывая слухи о Chrome OS — http://hexryde.com/2009/07/google-chrome-os-an-open-source-web-oriented-os/
Тем не менее, подтягиваться оно будет со стороны браузеров. Не готов пока обычный HTML к desktop-like приложениям. Его нужно расширять, чем и занимается HTMLayout.
Здравствуйте, A13x, Вы писали:
C>>... C>>У него на это вполне нормальные причины. A>Кстати, а почему? Если не секрет.
Могу попробовать объяснить как я понимаю.
A>По моему разумению возможны такие варианты: A>1) Автор хочет заработать на библиотеке. В этом случае исходники не раскрываются, бинарь продается или предоставляется в бесплатное пользование, сорцы выдаются за отдельную плату по особой лицензии.
Да. Сейчас именно так и делается — ты можешь получить за деньги лицензию на исходные коды. Бинарики можно использовать бесплатно в коммерческих системах.
A>2) Автор хочет предоставить библиотеку в бесплатное пользование населению (а я так понимаю это наш случай )
Не совсем.
A>В этом случае почему бы не выложить исходники в общий доступ (code.google.com) и допустить вариант дальнейшего развития библиотеки по лицензии GPL, а тем кто хочет использовать ее в коммерческих целях предлагать коммерческую лицензию.
Тогда не получится раздавать бесплатный бинарик для коммерческого использования.
A>Либо (совсем хорошо) предоставить библиотеку в LGPL(BSD/Artistic). A>IMHO HTMLayout от такого решения только выиграет...
Пинай c-smile'а.
Здравствуйте, astral_marine, Вы писали:
T>>А мне лично нравится, что простенький аналог HTML — как T>>раз то что нужно для имплементации простенькой хелп-системы, мне теперь побарабану, что за T>>система и какой в ней браузер, тем более есть под нее готовый редактор редактор и не надо голову ломать.
_>В wxWidgets есть тоже простенький HTML — wxHtml, а также нормальная хелп система — wxHelp
_>К тому же в Qt есть поддержка только движка WebKit, а в wxWidgets — WebKit, Gecko (Firefox), Trident (IE). IE вообще принципиально невозможно встроить в Qt из-за особенностей неродных для ОС технологий.
Насколько я знаю, WebKit в wx встраивается исключительно под макосью. А Firefox — только древний (XulRunner 1.8.1) через wxWebConnect. Ну а IE как бы и даром не надь, и за деньги не надь.
Так что Qt тут явно выигрывает.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, A13x, Вы писали:
A>Здравствуйте, Cyberax, Вы писали:
C>>... C>>А нафиг оно для десктопного приложения? Если мечта о том, чтобы можно было десктопное приложение засунуть сразу в браузер — то можно забыть, слишком разные подходы.
A>Вообще все довольно давно идет к слиянию этих двух подходов. A>Windows довольно широко использует HTML в большей части своих диалогов — полностью или частично сделанные на HTML.
Действительно на заре всего народ был озарен идеей использовать html desktop UI.
В принципе идея-то здравая но вот возникло пара проблем:
1) browser engine общего назначения призван в первую очередь обеспечить safe browsing. Т.е. большой набор действ которые разрешены
desktop приложению просто не разрешены в web ui. Это на самом деле очень глубокий конфликт. Например очень много приложений
которые использовали IE движок просто слетели при переходе со скажем IE6 на IE7. Самое мерзотное что код-то самого приложения не менялся.
Т.е. использование html в UI возможно только если а) HTML движок поставляется с самим приложением и б) ты можешь гарантировать что
следующая версия будет иметь ту же security model.
2) Существующая модель html/css преполагает документ имещий известную ширину но не известную высоту.
Т.е. vertical alignment и то что у меня известно как flex units для desktop UI должны быть обязательно.
Без этого html engine можно серьезно рассматривать в UI только для вещей типа help.
A>Google делает приложения, которые уже довольно близко по функционалу подходят к десктопным.
По функционалу — да. По возможностям — нет. В качестве подпорки google сделал Gears (threading & client side DB).
Ну и в качестве демонстрации пункта №2 выше: открой gmail и посмотри на список писем. Во всех desktop mail клиентах
этот список scrollable. В связи с ограничениями которые я изложил в п.2 сделать такое в Gecko и WebKit невозможно в принципе.
Качество usability — ниже плинтуса.
A>Пока все конечно далеко от этого, но в будущем ситуация может поменяться. A>Особенно учитывая слухи о Chrome OS — http://hexryde.com/2009/07/google-chrome-os-an-open-source-web-oriented-os/
Здравствуйте, A13x, Вы писали:
A>Здравствуйте, c-smile, Вы писали:
CS>>Здравствуйте, pepsicoca, Вы писали: A>.. CS>>размазанных по всему коду. Кстати прошу обратить внимание на серьёзность проблемы accessibility. Для программ продаваемых в "приличных" странах это the must.
A>а можно поподробнее про accessibility (я так понял подразумеваются "facilities or amenities to assist people with disabilities") и почему это must have?
Как минимум поддержка IAccessible (под Windows) + структура самого markup должна быть narrator.exe friendly.
"почему это must have?" Ну во первых есть такая Section 508:
the Rehabilitation Act to require Federal agencies to make their electronic and information technology accessible to people with disabilities
Это распространяется кстати не только на Federal agencies. Нортона например чуть было в суд не затащили со старой версией из-за этого.
A>Кстати, было бы интересно узнать какие есть подходы в HTMLayout к решению проблемы локализации — или это решается стандартно введением отдельных html для нового языка?
Да всяко разны подходы. От использования client side fragment includes: <include src="something-in-current-locale.htm" /> (HLN_LOAD_DATA handler отдает something-in-current-locale в зависимости от языка). До использования переключателя в CSS:
html[lang="ru"] button#on > text { content:"Вкл." }
html[lang="ru"] button#off > text { content:"Выкл." }
Такое использование CSS content является кстати нестандартным и было сделано в htmlayout/sciter специально для нужд localization.
Т.е. это все декларативно, никто не занимается этим в коде, это точно.
Плюс все input элементы, например <input type="date" /> и <input type="time" />, они что называется locale aware.
P>Добрый день.
P>Долгое время довольно успешно для разработки под Win использовал BCB60 и его VCL. Из-за разных причин возникла необходимость перейти на MSVC. Подскажите, какую С++ библиотеку для MSVC сейчас принято использовать для программирования GUI? Или же народ пишет GUI на C# и VB, а логику прикручивает на С++? Не хотелось бы изучать новый язык для написания GUI, хотелось бы обойтись С++.
P>Спасибо.
а что вы на этом GUI завернулись да напостили ишо скролл залип .. сейчас это не тема вообще, уже давно не 90-е на дворе, что вам так — окно создать ? грид на него налепить ? 5 кнопок и меню ? -создавайте на чем хотите, 99% нутряка современных приложений это негуевый слой
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, A13x, Вы писали:
C>>>... A>>В этом случае почему бы не выложить исходники в общий доступ (code.google.com) и допустить вариант дальнейшего развития библиотеки по лицензии GPL, а тем кто хочет использовать ее в коммерческих целях предлагать коммерческую лицензию. C>Тогда не получится раздавать бесплатный бинарик для коммерческого использования.
ну как же не получится. Вот предположим — вышла новая версия, да вдобавок кроссплатформенная. Автор говорит: все робяты, переходим на новую модель использования, хотите пользоваться новой и последующей версией, будьте любезны переходить на новую лицензию.
Автор не сможет перелицензировать *старую* версию, новые версии — сколько душе угодно.
Несмотря на то что лично я с опаской отношусь к расширениям layout-а, я вижу, что много замечательных программистов, компаний используют успешно этот продукт. Да и само наличие новой ветки форума на RSDN-е посвященной HTMLayout-у говорит само за себя.
Говорит все это о том, что это замечательная вещь, полезная многим людям. И было бы замечательно если бы эта библиотека могла развиваться дальше, став кроссплатформенной, опробованной и протестированной в самых разных ситуациях opensource сообществом.
ТКС>Насколько я знаю, WebKit в wx встраивается исключительно под макосью.
WebKit под Mac OS X встраиватся как родной, для остальных систем есть wxWebKit
ТКС>Ну а IE как бы и даром не надь, и за деньги не надь.
Ну не надо говорить за всех. IE позволяет иметь доступ к веб системам, которые заточены под него. К тому же его не надо устанавливать — а это большой плюс для создания легких приложений или приложений из одного файла.
Здравствуйте, c-smile, Вы писали:
CS>...
Понятно, что существующие подходы с HTML4 + CSS2 не очень хорошо работают в ряде случаев.
Возможно в будущем ситуация измениться с повсеместным распространением HTML5 + CSS3(или 4), Flash или может даже Silverlight.
CS>А чего ждать-то? Вот оно http://en.wikipedia.org/wiki/WebOS уже и сейчас есть. CS>Я так понимаю что google что-то такое и делает.
Похоже, что это еще на стадии прототипов и экспериментов. Посмотрим, что будет в production версии.
Здравствуйте, astral_marine, Вы писали:
T>>"жалкие велосипедные технологии"? _>Совмещая неполноценные десктопные и веб технологии получается библиотека, которая имеет недостатки как декстопа (Qt эмулирует контролы, а не использует родные), так и веба (все интернет технологии в Qt крайне убоги). И в результате получается гибридная мутантная библиотека, которую неоправдано усложнена, а возможностей меньше чем у полноценных оригинальных технологий.
_>К тому же в Qt есть поддержка только движка WebKit, а в wxWidgets — WebKit, Gecko (Firefox), Trident (IE). IE вообще принципиально невозможно встроить в Qt из-за особенностей неродных для ОС технологий.
Специфика моих приложений — учетные системы. Это позволяет плевать с высокой телебашни
на те "якобы недостатки" которые вы описали, я с ними просто не имею дело.
Для моих целей Qt это то, что доктор прописал.
Мне не нужна поддержка кипы браузеров, OpenGL, анимации, CSS и т.п.
Для меня важна не "ширина" возможностей, а стабильность, безглючность и набор базовых инструментов.
Кроме того, фрайм-верк он на то и фраймверк, что-бы быть базой, а не охватить все.
Уж это то надо учитывать в рассуждениях. Требовать от базового фраймверка "широких" возможностей в
каждом инструменте немного неправильно. Вот от узконаправленных инструментов, таких как
HTMLayout ширины и ритчевости можно ожидать. >(Qt эмулирует контролы, а не использует родные)
Чего? Эмулируют? Да у них свои контролы, на своей системе сообщений и паинтере.
Это отлично: возможностей больше. А куцые и неудобные виндовые контролы они уже в печенках сидят.
Как чего посложнее чем просто дерево нарисовать надо будет типа дерева с колонками, так танцы
с бубном и начинаются, знаю, уже танцевали:
Здравствуйте, A13x, Вы писали:
C>>Тогда не получится раздавать бесплатный бинарик для коммерческого использования. A>ну как же не получится. Вот предположим — вышла новая версия, да вдобавок кроссплатформенная. Автор говорит: все робяты, переходим на новую модель использования, хотите пользоваться новой и последующей версией, будьте любезны переходить на новую лицензию. A>Автор не сможет перелицензировать *старую* версию, новые версии — сколько душе угодно.
Ты не понял. Если будет GPL-версия, то бесплатный бинарик придётся убрать. Т.е. все программисты, которые сейчас _уже_ бесплатно используют HTMLayout должны будут либо перейти на GPL, либо заплатить за коммерческую лицензию.
A>Говорит все это о том, что это замечательная вещь, полезная многим людям. И было бы замечательно если бы эта библиотека могла развиваться дальше, став кроссплатформенной, опробованной и протестированной в самых разных ситуациях opensource сообществом.
Но ты учти, что c-smile надо на что-то жить Насколько я понимаю, он сейчас продаёт source code license разным крупным компаниям за деньги.
Приветствую, Cyberax, вы писали:
C> Ты не понял. Если будет GPL-версия, то бесплатный бинарик придётся убрать. Т.е. все программисты, которые сейчас _уже_ бесплатно используют HTMLayout должны будут либо перейти на GPL, либо заплатить за коммерческую лицензию.
LGPL?
К томуже емнип и к GPL никто не запрещает динамически линковаться.
Здравствуйте, Cyberax, Вы писали: C>Я занимаюсь портированием. К Новому Году надеюсь сделать версию для Линукса, а там дальше и Mac подтянется.
1. Там будет жава (где-то вроде ты писал про жавскую версию) или нативная либа?
2. Если нативная — то у нее будет сишный интерфейс или только C++?
Здравствуйте, Cyberax, Вы писали:
C>... программисты, которые сейчас _уже_ бесплатно используют HTMLayout должны будут либо перейти на GPL, либо заплатить за коммерческую лицензию.
я имел в виду другое.
Пользователи библиотеки могут использовать бесплатно старые версии, новые выходят под другой лицензией. Автор имеет право поменять лицензию в новой версии продукта.
Т.е. те, кто сейчас бесплатно используют библиотеку смогут ее и дальше бесплатно использовать, но только ту версию, которая уже есть у них.
Для перехода на новую версию им нужно принять новую лицензию.
Новая версия обладает теми же правами, что и новый продукт. Плюс к тому, можно ребрендинг сделать, что это теперь не просто HTMLayout, а Ultimate HTML Toolkit for all the popular platforms that offers one true way to solve all your problems.
Здравствуйте, A13x, Вы писали: A>Т.е. те, кто сейчас бесплатно используют библиотеку смогут ее и дальше бесплатно использовать, но только ту версию, которая уже есть у них.
Здравствуйте, A13x, Вы писали:
A>Т.е. те, кто сейчас бесплатно используют библиотеку смогут ее и дальше бесплатно использовать, но только ту версию, которая уже есть у них. A>Для перехода на новую версию им нужно принять новую лицензию.
Ага. Что отпугнёт огромное число разработчиков, так как у них не будет возможности бесплатно использовать HTMLayout, пусть даже в бинарном виде.
A>Новая версия обладает теми же правами, что и новый продукт. Плюс к тому, можно ребрендинг сделать, что это теперь не просто HTMLayout, а Ultimate HTML Toolkit for all the popular platforms that offers one true way to solve all your problems.
HTMLayout — это уже известный бренд.
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, Cyberax, Вы писали: C>>Я занимаюсь портированием. К Новому Году надеюсь сделать версию для Линукса, а там дальше и Mac подтянется. MC>1. Там будет жава (где-то вроде ты писал про жавскую версию) или нативная либа?
И то и другое.
MC>2. Если нативная — то у нее будет сишный интерфейс или только C++?
С-шный, понятное дело. Тот же самый, что и в обычном HTMLayout'е.
Здравствуйте, Sheridan, Вы писали:
C>> Ты не понял. Если будет GPL-версия, то бесплатный бинарик придётся убрать. Т.е. все программисты, которые сейчас _уже_ бесплатно используют HTMLayout должны будут либо перейти на GPL, либо заплатить за коммерческую лицензию. S>LGPL?
А на что c-smile будет жить?
S>К томуже емнип и к GPL никто не запрещает динамически линковаться.
Запрещает, причём сама GPL.