Я хотел создать пользовательский интерфейс, который имеет сходство с версией Chrome Chrome от Chrome. Как я могу самостоятельно построить версию Google Chrome?
Исходный код приложения Google Chrome для Android?
Ответ 1
Моя рекомендация по поводу такого погружения - это посмотреть на источник http://code.google.com/p/chromiumembedded/.
Это своего рода сжатая версия Chrome, и если вы посмотрите на файлы, которые она специально использует, либо те, которые включены в ее исходное дерево, либо файлы, включенные в нее из Chromium repo в целом. База кода Chromium - это огромное количество материалов, большинство из которых на самом деле не находится в браузере. Там тонна втянутого кода из сторонних репозиториев, которые затем закручиваются в процессе сборки или реализации Chromium, находится где-то еще в дереве, есть много побочных проектов, которые (в то время как интересный и удивительный ресурс для широкой ) не позволит вам достичь своей цели специально оттачивать ее в реализации браузера и как это сочетается.
CEF замечателен, потому что вы можете видеть, кто уже выполнил процесс потянув все это вместе, чтобы создать проект, который очень определенно просматривается в браузере и больше ничего. Вы можете видеть, какие части в основном производятся из webkit, вы можете увидеть, где кроссовер приходит с реализациями Google, и вы можете довольно легко увидеть, как V8 попадает в микс.
Я говорю "легко" в относительных терминах, потому что мы все еще говорим о огромном количестве кода в целом. CEF поместит вас в центр требований, но этот материал по-прежнему тянет огромное количество различных вещей от остальной части дерева. Компиляция занимает около часа на действительно хорошем компьютере с 12 гигабайтами RAM и 8 ядер, а сгенерированные файлы занимают соответственно 6-10 концертов.
По крайней мере, не будет никакого быстрого прыжка в мелкий конец, чтобы выбрать что-то здесь или там по частям. Браузеры - это невероятно сложные части техники, потому что они должны включать такое огромное количество отдельных функциональных возможностей, а затем объединить их в общий контекст. Вы можете найти одно, что ищете, но вы обнаружите, что это часть библиотеки классов, которая, вероятно, состоит из десятков или сотен файлов, которая, в свою очередь, опирается на еще сто библиотек для обработки каждой задачи, поэтому, чтобы действительно занять что-то, вам придется посвятить время тому, чтобы взять гораздо больше, чем любая информация.
Изменить: oh также как ваш конкретный пример.
src является root http://src.chromium.org/viewvc/chrome/trunk/src
/chrome http://src.chromium.org/viewvc/chrome/trunk/src/chrome
Дерево "хром" в основном содержит прямую реализацию (много чего не существует, хотя большая часть из них даже, но эта исходная точка). Это совпадение с хромосом (хромосы - это вид браузера хрома, сделанного до безумного экстрима)
/chrome/browser http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/
Позволяет вам приблизиться к тому, где вы хотите быть. Вы начинаете видеть конкретные ссылки на вещи, которые вы можете сопоставить с браузером, такие как вкладки и многое другое (игнорируя гигантский слон самой реализации самого браузера, который является тем, что занимает большую часть пространства сознания во всем этом)
/chrome/browser/ui http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/
Приводит вас к тому, где большая часть кода ui для браузера. Это может сбивать с толку, когда кроссовер или когда материал мигрирует, например "ui" в корневой директории src, которая имеет некоторый кроссовер.
И наконец http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/omnibox/
Что в нем удивительно малое количество кода. Но это то, что вы найдете много. Код здесь представляет собой реализацию ряда классов, которые создаются в другом месте. Для компонента, не относящегося к веб-интерфейсу gui, вы обнаружите, что они в основном указывают на корневой "ui" и там, где есть собственные виджеты, где основная часть фактического кода обработки событий, если я правильно помню.
Ответ 2
Прочитайте хром FAQ.
Является ли Chrome для Android открытым исходным кодом?
Chrome для Android происходит от Chromium. С момента запуска первой версии мы постоянно открываем все критические компоненты. Вы можете создавать различные компоненты Chromium для Android, используемые в Chrome для Android, используя инструкции здесь.