Состоит оно из двух слов
1) lex — лексический (lexical). В линуксе даже программа такая есть, так и называется lex (лексический анализатор). Потому, что в браузерном движке много парсинга: html, css, font, url, js много всего.
2) bor — думаю тут и так всё ясно. Транслит нашего слова бор. Лесной бор. В начале хотел назвать lextree. Но потом, подумав, выбрал lexbor.
И уже потом, я осознал, что на GitHub у меня аккаунт lexborisov. То есть, начало от lexbor. В общем, сам Бог велел. Так и оставил.
Видел их сайт. Они, как я понимаю, делаю некую обрезанную версию движка для интерфейсов. Они платные, исходники можно получить по лицензии на год.
У меня подход другой. Я создаю полноценный движок на Си с возможностью встраивать в любой язык программирования. Плюс, лицензия у меня очень свободная: Apache 2.0. То есть, использовать можно хоть где и хоть как.
Возможно. Но возможно в тот момент когда появиться CSS и Layout. Эта одна из целей — предоставить разработчикам весь функционал браузерного движка для создания нативных приложений. Что-то вроде Qt, но с другого боку.
Но, при этом, основная цель быстрый браузер.
Из минусов. За всё приходится платить. В основном памятью. Моя задача минимизировать это. Максимум скорости при минимальном потреблении ресурсов.
Ко мне обращался один из разработчиков UI для автомобилей. Мы обсуждали можно ли при минимальных затратах ресурсов использовать данный подход. Интерес к этому есть.
А не сделали это по простой причине — сложно. Не ради рекламы, но таких буйных как я мало. Посмотрите у кого есть свои браузерный движки. Даже у Яндекса его нет, они пользуют гугловский. Сложность колоссальная.
Мне сложно что-то сказать. Что у него со скоростью работы? Насколько он эффективен? В Си не нужно городить отдельное АПИ, оно само собой получается, как для Си так и для С++. Компилятор Си есть для любой железки, хоть для микроволновки.
Си распространен настолько, что нет опасности, что его забросят или ключевые разработчики уйдут.
Си быстро компилируется. Да, если написать ядро линукса на плюсах то оно не соберётся никогда. По этому, я выбрал Си.
Пробовал. Смотрел в сторону С++ и даже начинал писать на нём lexbor. Собственно, использовал его как Си с классами. От это идеи отказался, по своду причин.
Браузерный движок — это ОС, без преувеличений. Меня интересует скорость и ручное управление памятью. Плюс, обязательно встраиваемость в другие языки программирования. Не уверен, что D подходит для этого.
Ресурсы да, но он очень медленный. Из-за того, что он позиционируется как встраиваемый и "лёгкий" он медленный. К тому же, он поддерживает только ECMA 5.1. В общем, хочется скорости и современности.
Спасибо, часто его советуют. Собственно, я начал сразу реализовывать DOM чтобы можно было уже сейчас начать прикручивать JS.
Я смотрю, уже давно, в сторону V8. Но, проблемы с ним очевидны, меняется он исключительно под нужды хрома. На данный момент я не осилю свой JS движок, это фантастика. Как бы не кололось прийдётся взять чужое. Если денег найду то будет своё. Сейчас цель движок/расчёты/отрисовка.
Слушай, ну никто в тебя тапками кидать не собирается.
Нет, не то. Твоя ссылка это не синтаксис. Я привел ссылку на граммар. То есть, то как надо парсить токены которые создает синтаксический парсер css ( drafts.csswg.org/css-syntax-3/#tokenization ). В парсере css ты получаешь токены, не байтовый поток и не юникод. Читай ссылку.
Вы специально искажаете всё? Читайте комментарий выше.
Я говорил, про 1000 элементов, а вы тут тестите 100000 тысяч.
Да, я выше написал, что innet будет выигрывать если ему много сразу зафигачить. Потому, что оферхеда не будет на вызов функций из js.
Но, даже при этом, при вашем тесте с котором я согласен был даже выше, что innet будет выигрывать если ему много дать, построение дом проигрывает всего в два раза. При вызове 100000 функции которая сходит в движок.
1) lex — лексический (lexical). В линуксе даже программа такая есть, так и называется lex (лексический анализатор). Потому, что в браузерном движке много парсинга: html, css, font, url, js много всего.
2) bor — думаю тут и так всё ясно. Транслит нашего слова бор. Лесной бор. В начале хотел назвать lextree. Но потом, подумав, выбрал lexbor.
И уже потом, я осознал, что на GitHub у меня аккаунт lexborisov. То есть, начало от lexbor. В общем, сам Бог велел. Так и оставил.
Смотря на их сайт, я не могу придумать как там привинтить браузер.
Никто не оплачивает. Голый, прям обнаженный, энтузиазм и слабоумие!
Если серьёзно. Делаю в свободное от работы время. Если найдется тот кто будет оплачивать подобные разработки — будет очень круто. Но пока вот так.
У меня подход другой. Я создаю полноценный движок на Си с возможностью встраивать в любой язык программирования. Плюс, лицензия у меня очень свободная: Apache 2.0. То есть, использовать можно хоть где и хоть как.
Я посмотрю, для общего развития, на D. Но, данный проект (Lexbor) будет развиваться на Си.
Но, при этом, основная цель быстрый браузер.
Из минусов. За всё приходится платить. В основном памятью. Моя задача минимизировать это. Максимум скорости при минимальном потреблении ресурсов.
Ко мне обращался один из разработчиков UI для автомобилей. Мы обсуждали можно ли при минимальных затратах ресурсов использовать данный подход. Интерес к этому есть.
А не сделали это по простой причине — сложно. Не ради рекламы, но таких буйных как я мало. Посмотрите у кого есть свои браузерный движки. Даже у Яндекса его нет, они пользуют гугловский. Сложность колоссальная.
Си распространен настолько, что нет опасности, что его забросят или ключевые разработчики уйдут.
Си быстро компилируется. Да, если написать ядро линукса на плюсах то оно не соберётся никогда. По этому, я выбрал Си.
Браузерный движок — это ОС, без преувеличений. Меня интересует скорость и ручное управление памятью. Плюс, обязательно встраиваемость в другие языки программирования. Не уверен, что D подходит для этого.
Ресурсы да, но он очень медленный. Из-за того, что он позиционируется как встраиваемый и "лёгкий" он медленный. К тому же, он поддерживает только ECMA 5.1. В общем, хочется скорости и современности.
Это вторая статья из цикла. Первую можно увидеть в моём аккаунте. Добавлю сегодня ссылку в статью.
Я смотрю, уже давно, в сторону V8. Но, проблемы с ним очевидны, меняется он исключительно под нужды хрома. На данный момент я не осилю свой JS движок, это фантастика. Как бы не кололось прийдётся взять чужое. Если денег найду то будет своё. Сейчас цель движок/расчёты/отрисовка.
Так, для общего сведения. Nginx разрабатывает Unit который запускает приложения питона (а так же перл, руби...) WSGI.
Нет, не то. Твоя ссылка это не синтаксис. Я привел ссылку на граммар. То есть, то как надо парсить токены которые создает синтаксический парсер css ( drafts.csswg.org/css-syntax-3/#tokenization ). В парсере css ты получаешь токены, не байтовый поток и не юникод. Читай ссылку.
Чувак, реально, ты тратишь силы в пустую. Это круто для опыта, но толку от этого никакого. Хотя, скорее всего, в твоём возрасте толк и не нужен, я хз.
Вы специально искажаете всё? Читайте комментарий выше.
Я говорил, про 1000 элементов, а вы тут тестите 100000 тысяч.
Да, я выше написал, что innet будет выигрывать если ему много сразу зафигачить. Потому, что оферхеда не будет на вызов функций из js.
Но, даже при этом, при вашем тесте с котором я согласен был даже выше, что innet будет выигрывать если ему много дать, построение дом проигрывает всего в два раза. При вызове 100000 функции которая сходит в движок.