Коротко: я хочу создать самый лучший на свете веб-браузер, но для этого мне нужна помощь народа. Ваша помощь, читатели! Если вам это не интересно, смело проходите мимо. Ответы на самые важные вопросы я дал под катом. Не стесняйтесь задавать дополнительные вопросы, если хотите узнать что-то ещё.
Кто ты такой, и чего ты хочешь?
Зовут меня Дмитрий; известен я под ником SoUrcerer. Последние несколько лет я занимаюсь разработкой и портированием приложений для «советской» операционной системы Колибри. За два года нерегулярной работы я смог создать полноценный растеризатор шрифтов, а так же потрировать: эмуляторы Gameboy, SNES, Playstation, ARM (да, можно запускать Linux); библиотеки для работы со шрифтами truetype и образами iso, vhd, cow, raw; приложение для чтения pdf; интерпретаторы Lua, Basic, JavaScript; многие другие утилиты и приложения, включая дизассемблер, конверторы графики и текста разных форматов, упрощенный аналог cron.
Хочу я создать быстрый и нетребовательный к памяти веб-браузер с поддержкой современных стандартов (пока что ориентир — это Acid3). Веб-браузер будет работать не только в Колибри; я хочу, чтобы он запускался в Linux, Windows, Android, и вообще на любых платформах, имеющих ANSI C-компилятор.
Зачем мне нужен еще один веб-браузер?
В мире существуют десятки веб-браузеров; большинство основываются на платформах WebKit, Gecko, Trident и Presto. Все они обладают одним общим недостатком: высокими требованиями к вашему персональному компьютеру. Несколько лет назад вы вполне могли себе позволить наслаждаться всеми прелестями веба, имея 64 мегабайта памяти и процессор с частотой 200 МГц. Сегодня для комфортной работы в сети нужны гигагерцы, гигабайты (привет маркетологам) и видеокарта с аппаратным ускорением, даже на мобильных устройствах.
Именно поэтому браузеры типа dillo и netsurf сначала кажутся «волшебными». Ещё бы: десяток открытых вкладок в dillo вряд ли потребует больше 5-7 мегабайт ОЗУ! Однако, через несколько минут работы эти браузеры вызывают разочарование. Нет поддержки новых тегов HTML, нет полной поддержки CSS, нет JavaScript, и — главное — код настолько заточен на статический HTML, что для поддержки всех этих важных вещей потребуется переписать браузер практически с нуля.
Несколько лет я разыскивал идеальный веб-браузер, изучал коды десятков известных проектов, начиная от links и w3c, и заканчивая Firefox и Chromium, и пришел к выводу, что создать современный и в то же время действительно легкий браузер — возможно. Потребуется время, потребуются средства и много работы, но это возможно. Стоит овчинка выделки? Я отвечаю: «да».
Ты уже делал что-нибудь подобное?
Около года назад я создал прототип браузера, идеологически сходного с Opera Mini. Веб-страницы поступают на компьютер-клиент через прокси-сервер; прокси-сервер обрабатывает код страниц так, чтобы браузеру было легче отображать его на тонких клиентах и мобильных устройствах. В прототипе неплохо работают статические страницы с любым сложным форматированием, потребление памяти составляет порядка 300-400 килобайт на одну открытую страницу. Явный недостаток этого прототипа — невозможность поддержки JavaScript. Именно поэтому его разработка была остановлена.
Хорошо, я хочу поддержать проект. Что требуется от меня?
Я, как и любой человек, время от времени хочу кушать, и мне необходимо где-то жить. Чтобы я мог работать над браузером постоянно, мне необходимо 15 тысяч рублей в месяц — ровно столько я трачу на оплату квартиры и покупку продуктов. Чего уж греха таить, мне не помешал бы и новый ноутбук, вместо доживающего свои последние дни старичка 15.6"/2.0GHz Celeron/1Gb/80Gb, но всё зависит от людей, которые решат меня поддержать.
На начальных этапах разработки помощь сторонних программистов и тестеров мне не понадобится, но, если я смогу собрать нужную мне сумму, через пару месяцев все желающие смогут присоединиться к проекту.
Веб-форма для поддержки через Яндекс-деньги — расположена в блоге KolibriOS.
Когда будет результат? Есть какие-нибудь гарантии?
Я начну работу, как только сумма собранных средств превысит 15 тысяч рублей. Начиная с этого момента, я буду тратить на проект около 40 часов в неделю. После создания и документирования основных частей браузера, будет открыт доступ к git-репозиторию. Статьи для Хабрахабра про интересные моменты разработки я обещаю писать не реже одного раза в месяц. Других гарантий, кроме моего честного слова, я предоставить, к своему глубокому сожалению, не могу.
Автор: sourcerer