Re[10]: HtmlLayout есть только под Win?
От: fddima  
Дата: 27.06.13 13:03
Оценка: 19 (1)
Здравствуйте, jed, Вы писали:

jed>А нет ли у вас случаем примера/ссылки как под винду с минимальными усилиями собрать helloworld пример использования CEF, желательно CEF3?

jed>В идеале, готовый проект для какой-нибудь вижуал студии, чтоб просто взять и собрать. В смысле, пример использования готовой сборки CEF. Не скачивая с разных мест разные куски, не собирая Хромиум из исходников.
Если речь о C++ — то скачиваешь оригинальный пакет бинарников под виндовс ( http://www.magpcss.net/cef_downloads/index.php?file=cef_binary_3.1453.1255_windows.7z ) — там есть солюшн для cefclient — он посложнее helloworld, но достаточно прост что бы разобраться. С дотнетом в общем-то тоже самое. Ещё вот есть неплохой туториал Chromium Embedded Framework 3 — Bare Bones. Стоит почитать (хоть там и про GTK+ — ну под виндой используются обычные окна, поэтому это не так важно). Собственно говоря стоит запустить cefclient и пощупать его поближе.

F>> И вообще я не понял при чём тут CEF.

jed>Ну, я на подпись в сообщении посмотрел. Вижу вы занимаетесь .NET врапером для CEF.
jed>Похоже CEF — лучшее, что есть, если не заботит размер бинарников и потребление памяти и нужен современные js+html+css для GUI.
It depends, как говорится. CEF хорош тем, что это минимальный браузер (в плане API), и он готов браузить паблик интернет — это основное его преимущество.

Недостатки тоже есть, — на мой взгляд высокий порог вхождения, — надо понять не только CEF API, надо ещё обязательно проштудировать коммандные ключи Chromium, и всякие документики с chromium.org тоже полезны. Ну и быть готовым хоть в пол глаза пробежаться дебаггером, если вдруг что. При чём не только по коду CEF, но и по коду Chromium. Поэтому — если есть серьёзные намерения на серьёзный продукт, и нет желания/возможности копаться в исходниках не только CEF но и Chromium — то в дальней перспективе, я бы от Chromium-based решения начисто бы отказался.
Почему? Потому что chromium разрабатывается в первую очередь с нацелом на Google Chrome. Всё что не мешает браузить социалки — идёт прямо в топку (ну конечно не так категорично, но суть приблизительно в этом). Поэтому даже если вдруг я например сделаю крутой патч к хрому — вполне может так стать, что он либо будет отвергнут, либо если он будет принят — прийдётся какое-то время мэйнтнить сборку с применением своих патчей самому.
Необходимости в этом обычно нет, тем не менее я знаю несколько пользователей CEF, которые с подобным столкнулись и успешно пропихнули (багфиксы) в хром.
Из ярких примеров, нерешенных проблем — это по сей день отсутсвие поддержки HiDPI из коробки, или старрый иссу по поводу фликания белого фона на черных сайтах, когда issue чуть ли не старше чем сам хром, а дотянут опять таки до наших дней (кстати может быть пофиксили... движ вроде был вокруг).
Третий, на мой взгляд, краеугольный недостаток chromium-based решений — это то что он навязывает вам свою архитектуру. Он спавнит процессы так, как хочет он, он сделан с замахом на сэндбоксинг. Механизм этот можно изменить, но только вместе с изменениями в модуле content (та часть хрома вокруг которой построен CEF, или вот новая опера), и если такое предложить — я думаю начнется такой баттхерт, что лучше не спрашивать.

С другой стороны — у меня очень даже положительные впечатления от CEF. Просто для приложения на 2 кнопки — оно себя никак не оправдает. Приложения навроде Adobe Brackets — это вообще ошибка природы. Хотя для spotify или rdio он вполне оправдан. У меня лично были свои причины его начать использовать. И даже в последствии сделать свой биндинг к нему. Хотя где эта грань между использовать или не использовать — я не знаю.

В принципе-то аналогичные проблемы присущи любым third party библиотекам, в той или иной степени, в зависимости от.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.