Board.KolibriOS.org
http://board.kolibrios.org/

Браузер: свой, портированный или через java vm?
http://board.kolibrios.org/viewtopic.php?f=39&t=1767
Page 1 of 9

Author:  SoUrcerer [ Thu Jun 09, 2011 11:50 am ]
Post subject:  Браузер: свой, портированный или через java vm?

Хочу иметь браузер в Колибри. Не просто браузер, а с поддержкой таблиц, div'ов и других вкусностей. Писать код с нуля интересно и полезно, но я хочу потерпеть с этим, и для начала максимально быстро заполучить работающий браузер в Колибри. Самый быстрый вариант, по всей видимости - реализация java-машины и запуск какого-нибудь браузера в ней. Например, знаменитой Opera Mini.

Я смотрел на компилятор и интерпретатор Java проекта GNU, но он просто монструозный по размеру, и тянет за собой кучу зависимостей от GCC. Кто-то когда-то грозился собрать GCC для Kolibri, но пока GCC нет - не будет и GCJ (и слава Богу, админь!). Гораздо более привлекательной мне кажется реализация J2ME через JVM от Sun/Oracle. Сама виртуальная машина в скомпилированном виде занимает менее 128 килобайт, ее расширенная версия, способная запускать Opera Mini - около 400 килобайт. Руководство по портированию прилагается - подробнейшее и увлекательное.

Для компиляции требуется C99-совместимый компилятор и некоторый набор библиотечных функций. Полная реализация потребует следующих оберток:
    Файловая система (open close read write stat lseek ftruncate fstat mkdir opendir readdir closedir)
    Эмуляция LCDUI, включая рисование примитивов
    Сокеты (включая HTTP/1.1 и HTTPS)
    Звуковая подсистема (wav и сигналы)
    MIDI (учитывая, что сам генератор уже в коде имеется, нужно лишь сделать фронт-энд для вывода сгенерированных wav)

Думаю, если в системе будет возможность запускать Opera Mini через JVM, у многих людей найдется 500-600 лишних килобайт в образе системы на почти-полноценный-сёрфинг-из-Колибри. Собственно, в ближайшее время намереваюсь выделить время для занятий всем этим.

Аргументы "за" и "против", хорошие идеи, пожелания, помощь - приветствуются.

UPD: собрал из исходников версию для Linux - полет отличный, размер бинарника - около 512 килобайт, используются только библиотеки X-сервера. Opera Mini шустро смотрит форум Колибри, поддерживаются жесты, ввод с клавиатуры, прокрутка и нажатие на ссылки мышью.

Author:  bw [ Thu Jun 09, 2011 12:20 pm ]
Post subject:  Re: Java VM

А почему не Gecko или WebKit?

..bw

Author:  SoUrcerer [ Thu Jun 09, 2011 12:24 pm ]
Post subject:  Re: Java VM

Ковырял я и Gecko, и WebKit. Они прилично тяжелые, и у них большое количество зависимостей. ИМХО, гораздо более реально портировать dillo. Не исключаю, что займусь и чем-то из этого в будущем, но вариант с java-машиной кажется мне более перспективным.

Author:  XVilka [ Thu Jun 09, 2011 1:13 pm ]
Post subject:  Re: Java VM

Более песпективно смотриться вот это http://vmkit.llvm.org/

Author:  lev [ Thu Jun 09, 2011 2:28 pm ]
Post subject:  Re: Java VM

Offtopic: А я к Lynx приглядывался.

Author:  XVilka [ Thu Jun 09, 2011 6:00 pm ]
Post subject:  Re: Java VM

lev: это к чему?

Author:  lev [ Thu Jun 09, 2011 6:07 pm ]
Post subject:  Re: Java VM

Читал сообщение через строчку и мне почему-то показалось, что оно посвящено хотелке иметь другой браузер для Колибри.
Поэтому упомянул "линкс" (кликабельно), позже сообразил, что топик-то назван "Java VM" и она-то и обсуждается, но сообщение уже удалять не стал, а взял в теги офтопика, вдруг его кто портирует.
----
зы Кстати почему на форуме офтопик так сильно выделяется? Обычно его делают чуток неприметнее основного текста. Извинясь за ещё более сильный офтопик.

Author:  yogev_ezra [ Thu Jun 09, 2011 6:14 pm ]
Post subject:  Re: Java VM

lev wrote:
Читал сообщение через строчку и мне почему-то показалось, что оно посвящено хотелке иметь другой браузер для Колибри.
Browser тут тоже обсуждают, но зачем нам Lynx? Массы не оценят, да и есть он уже (HTMLV). Нам бы браузер для ламеров, типа Internet Explorer :lol:

Моё предложение - нанять программеров за деньги, и пусть напишут браузер. А Sorcerer будет им делать code reviews.

Author:  XVilka [ Thu Jun 09, 2011 6:17 pm ]
Post subject:  Re: Java VM

yogev_ezra: предложение поддерживаю, только пусть тогда сразу на fasm-е пишут.

P.S. Lynx - стар. elinks во сто раз круче.

Вот, что очень интересно смотриться http://www.w3.org/Library/

Author:  SoUrcerer [ Thu Jun 09, 2011 6:30 pm ]
Post subject:  Re: Java VM

Очень неспортивно нанимать программистов, и очень накладно. Думаю, написание браузера с нуля (минимального, без всяких излишеств) - это задачка на полгодика с оплатой в 3-4 тысячи долларов ежемесячно. Боюсь, это мало кому по карману. Дешевле нанять индусов для портирования WebKit.

XVilka, libwww устарела лет 5 назад, разве нет?

Author:  yogev_ezra [ Thu Jun 09, 2011 6:34 pm ]
Post subject:  Re: Java VM

Sorcerer wrote:
Дешевле нанять индусов для портирования WebKit.

Тоже вариант, хотя ещё менее спортивно. Ты его поддержишь, если я дам денег?

Author:  XVilka [ Thu Jun 09, 2011 6:38 pm ]
Post subject:  Re: Java VM

да, это я махнул лишка насчет libwww.
Ну, тогда по чуть-чуть кода из Arachne (http://www.glennmcc.org/), Dillo (кстати тоже лого колибри http://www.dillo.org/) и Elinks (http://repo.or.cz/w/elinks.git)

Author:  SoUrcerer [ Thu Jun 09, 2011 6:46 pm ]
Post subject:  Re: Java VM

yogev_ezra wrote:
Sorcerer wrote:
Дешевле нанять индусов для портирования WebKit.

Тоже вариант, хотя ещё менее спортивно. Ты его поддержишь, если я дам денег?

Если нужен позарез браузер - то почему бы и нет. Если можно потерпеть до конца лета - то лучше потерпеть до конца лета. У меня наполеоновские планы.

XVilka wrote:
да, это я махнул лишка насчет libwww.
Ну, тогда по чуть-чуть кода из Arachne (http://www.glennmcc.org/), Dillo (кстати тоже лого колибри http://www.dillo.org/) и Elinks (http://repo.or.cz/w/elinks.git)

Код Arachne мне не очень понравился, он уже даже gcc не собирается. Elinks и w3c - интересные браузеры, но в Колибри они не нужны, я считаю. Dillo выглядит самым перспективным из этой тройки. За вчерашний вечер я успел собрать несколько библиотек, которые нужны для Укропчика, но самая большая зависимость - это FLTK2. Насколько я знаю, сейчас FLTK2 очень серьезно завязан на коде сторонних библиотек.

Author:  XVilka [ Thu Jun 09, 2011 6:51 pm ]
Post subject:  Re: Java VM

elinks надо рассмотреть с точки зрения отдельных кусков кода, я имел ввиду. Да и FLTK лучше выкинуть, имхо. А какие, если не секрет, библиотеки?

Author:  SoUrcerer [ Thu Jun 09, 2011 7:07 pm ]
Post subject:  Re: Java VM

Целиком только Dlib - стандартная библиотека dillo. Плюс начал наработки по dpi - системе плагинов. Кроме этого нужны будут:
dw - подсистема виджетов (поля для ввода, вывод html), она как раз и связана с fltk
lout - хз что она делает, что-то с объектами и сигналами
и собственно сам dillo.

Похоже, даже dillo потянет за собой кучу стороннего и тяжелого кода, и собственный велосипед может быть даже лучшим решением..

p.s. так как тема ушла от начального сообщения в параллельную реальность, название темы пришлось изменить.

Page 1 of 9 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/