Доброго времени суток!
Я занимаюсь самостоятельным и изучением С++ (Microsoft Visual C++): учусь, делая что-то для винды. Например, пеинт, блокнот или простенькие игры. Я хочу в рамках обучения написать свой интернет-браузер. Я не претендую на роль первооткрывателя чего-либо, я просто хочу во всём этом разобраться без готовых решений вроде "установи C++ Builder, добавь веб-движок, часик поколдуй над компонентами и вуаля!". Я хочу разобраться и написать всё (в пределах разумного) с нуля.
Функции, которые должен выполнять самописный браузер - все обычные для обычного пользователя - просмотр веб-страниц, автозаполнение форм, масштабирование, менеджер загрузок, история и поддержка Unity Web Player и Flash Player.
Найти нужную информацию я могу и сам, но я ничего не понимаю в терминологии - иначе говоря, я не знаю что именно хочу найти. Подскажите, в каких направлениях мне нужно копать и какие страшные-непонятные термины гуглить? Если на эту тему уже есть хорошие источники - форумы, книги или статьи - дайте ссылку.
Спасибо за внимание!
Основные компоненты браузера - это HTTP-клиент, плюс "построитель" DOM-дерева с реализацией его стандарта, визуализация (рендеринг) дерева, то есть сама отрисовка элементов, и "движок" для CSS и JS (интерпретатор с библиотекой, опять же реализующей стандарты), остальное является дополнительными компонентами и намного проще и менее объемно, там могут быть и FTP, и POP3/IMAP/SMTP (почта), и расширения, плагины, и менеджер загрузок, опять же основа скачивания файлов это HTTP и т.п.
Работа огромна, исходный код Chromium "весит" гигабайты, вам придется потратить очень много времени и энергии, а практического применения нет, пользы обществу нет, разве что в будущем продать как курсовую или дипломную работу, но эти работы должны писаться быстро, ровно столько, сколько нужно для их успешной защиты в ВУЗе, ничего большего студенты не заслуживают за свои деньги, да и на самом деле не нужно, в общем, человеку в обществе надо удовлетворять реальным требованиям общества, а не своим фантазиям.
Работа не то чтобы огромна, она почти невыполнима для хорошего программиста (возможно через 10 лет напишет браузер), ну уж для новичка-то тем более.
Есть возможность использовать встроенный компонент, который позволяет использовать браузер. Но это уже браузер и вы будете пользоваться готовым решением. Работа сведется к изучению небольшой инструкции по подключению.
Если вы хотите создать что-то свое, то начните с чего куда проще: сперва определитесь с тем что вам интересно (например браузер). Задача куда проще - научиться парсить строки. Пробуйте парсить что ли, если вам интересно) Я сам начинал с написания игр, мне игры было интересно делать)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте! Как получить длительность музыки в QMediaPlayer? Я сделал всё, что в моих силахduration возвращает всегда 0
Хочу сделать изменение любого выбранного символа в массиве через указатели