Перейти к содержимому

Крутой блог

  • записей
    7
  • комментария
    82
  • просмотров
    50 696

Пишу браузер для ОС

Krutoy

3 456 просмотров

Итак, начинаю большой проект - браузер реальных HTML страниц для OpenComputers.

 

Всё началось с того, что я решил прикрутить скроллинг лога моего интернет-сервера.

Потому я понял, что для этого мне нужно будет подключить GUI, и решил что это будет GML.

Но мне не нравилось, что весь код контролов там распологается в одном файле. Я начал разделять отдельно.

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

От этого мне захотелось сделать методы контроллов больше похожими на DOM-элементы...

 

И тут понеслось.

 

Очнулся через 5 дней усиленного изучения Document Object Model, CSS стилей, парсинга HTML и многочисленных библиотек под Lua.

HTML парсер на луа я нашел, и даже его начал внедрять, но потом нашел монстра похлеще, с проработанным древом наследования и множеством других функций, хотя для него пришлось переписать парсер, так как он работал с либами на C.

 

Пока показать могу только результат работы парсера.

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

В черном окне - запущенный эмулятор ОС, который просто выводит текстовые данные из страницы.

Красным выделены разницы в файлах. Как видите, парсер только отбросил !DOCTYPE и в некоторых местах убрал лишние пробелы.

 

hAVhvf3.png

 

 

Мне согласился помочь Zer0Galaxy и написать парсер для css файлов, а так же поиск аттрибутов в них.

 

Браузер планируется сделать так, что бы он умел открывать настоящие веб-сайты, например http://computercraft.ru/ , и выполнять в них навигацию.

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

 

Сейчас исходники весят уже 200кб. Это будет круто.

  • Нравится 4


9 комментариев


Рекомендуемые комментарии

Зная вашу тенденцию завершать проекты досрочно, а, точнее, отсутствия такого, в отличие от "супер-пупер" прогеров типа Монстрика или Лехаинк, надеюсь на скорый релиз — очень хочется увидеть данную махину вживую, так сказать, в действии. А если всё-таки можно будет реальные страницы открывать — вообще бомба будет! Не придётся выходить из игры только для копирования пастбина какого-нибудь там замка навороченного, к примеру... В общем, как уже сказал, с нетерпением буду ждать реализацию воистину Крутой™ идеи)

Поделиться комментарием


Ссылка на комментарий

Соглашусь с Фингеркомпом, идея воистину Крутая! Вопрос-предлодение: будет ли проще сделать браузер, заточенный под форумы? Насколько я в курсе, все они устроены примерно одинаково

Поделиться комментарием


Ссылка на комментарий

Зная вашу тенденцию завершать проекты досрочно, а, точнее, отсутствия такого, в отличие от "супер-пупер" прогеров типа Монстрика или Лехаинк, надеюсь на скорый релиз — очень хочется увидеть данную махину вживую, так сказать, в действии. А если всё-таки можно будет реальные страницы открывать — вообще бомба будет! Не придётся выходить из игры только для копирования пастбина какого-нибудь там замка навороченного, к примеру... В общем, как уже сказал, с нетерпением буду ждать реализацию воистину Крутой™ идеи)

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

 

Соглашусь с Фингеркомпом, идея воистину Крутая! Вопрос-предлодение: будет ли проще сделать браузер, заточенный под форумы? Насколько я в курсе, все они устроены примерно одинаково

В браузере будет функция "встроенных стилей" для определенных сайтов. Это значит, что можно будет иметь набор CSS для изменения внешнего вида сайтов, поправляя косяки.

Поделиться комментарием


Ссылка на комментарий

Зная вашу тенденцию завершать проекты досрочно, а, точнее, отсутствия такого, в отличие от "супер-пупер" прогеров типа Монстрика или Лехаинк, надеюсь на скорый релиз — очень хочется увидеть данную махину вживую, так сказать, в действии. А если всё-таки можно будет реальные страницы открывать — вообще бомба будет! Не придётся выходить из игры только для копирования пастбина какого-нибудь там замка навороченного, к примеру... В общем, как уже сказал, с нетерпением буду ждать реализацию воистину Крутой™ идеи)

А что монстрик?Монстрик свои программы ни разу не представлял,до того,как они обретут более или менее рабочий вид. 

Поделиться комментарием


Ссылка на комментарий

Меня тут посетила идея, крутой, а если сделать возможным встраивать луа код в страницу как javascript, с ограничениями конечно.

Поделиться комментарием


Ссылка на комментарий

Меня тут посетила идея, крутой, а если сделать возможным встраивать луа код в страницу как javascript, с ограничениями конечно.

Да, это в планах к реализации. Но идеально было бы найти конвертер JavaScript в Lua.

Поделиться комментарием


Ссылка на комментарий

Я только боюсь, какой объём будут занимать страницы в оперативной памяти/ жёстком диске...

Бойся бойся. Расчетно - 300-500 кб в оперативке и столько же на жестком.

Поделиться комментарием


Ссылка на комментарий
Гость
Добавить комментарий...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...