Chronicle Chromium nr 28: pierwsze kroki z Chrome na iOS

Odcinek 28: Mark Cogan, Paryż, Francja (styczeń 2022 r.)
Poprzednie odcinki

W 2022 roku Chrome na iOS będzie obchodził 10 urodziny. Chrome to jedna z najpopularniejszych aplikacji na iOS – obecnie numer 2 w amerykańskim App Store.

Chrome na iOS zapewnia dostęp do wszystkich świetnych funkcji Chrome, które lubią nasi użytkownicy, w tym synchronizacji, Tłumacza, trybu incognito, Menedżera haseł, autouzupełniania i wielu innych. Chrome na iOS integruje się też z natywnymi funkcjami iOS, takimi jak tryb wielu okien i autouzupełnianie haseł na wszystkich urządzeniach.

Jest jednak jedna główna cecha, która wyróżnia Chrome na iOS na tle wszystkich innych implementacji na platformie Chrome.

Chrome na iOS nie używa Blink.

Ze względu na reguły App Store firmy Apple Chrome na iOS musi używać interfejsów API platformy iOS do pobierania i renderowania treści internetowych. Dlatego Chrome na iOS używa WebKit, Nitro i CFNetwork, a inne platformy Chrome używają Blink, V8 i //net. W związku z tym i ograniczony interfejs API dostępny dla aplikacji na iOS do interakcji z zawartością stron internetowych wiele funkcji Chrome, które korzystają z interfejsów API //content, jest wdrażanych w Chrome na iOS przy użyciu wstrzykiwania JavaScriptu.

Funkcje działające na wielu platformach w //components są uporządkowane tak, aby dzielić jak najwięcej kodu między platformami, a zależności //content są odizolowane:

ls components/some_component

content/        # code with dependencies on //content.
core/           # cross-platform code with no //content dependencies.
ios/            # iOS implementation using JavaScript injection.

Inne ważne różnice między Chrome na iOS a innymi platformami to między innymi:

  • Aplikacje na iOS muszą być jednoprocesowe, więc Chrome na iOS nie może fork().
  • Przeglądarka Chrome na iOS jest napisana w języku Objective-C++ (kombinacji C++ i Objective-C) oraz Swift.
  • Chrome na iOS możesz skompilować i uruchomić bezpośrednio na urządzeniu z iOS, ale możesz też wprowadzić wiele funkcji w opracowanym przez Apple symulatorze urządzenia.

Pierwsze kroki z Chrome na iOS

Potrzebujesz:

  • 64-bitowy komputer z systemem macOS 11.3 lub nowszym. Obsługiwany jest krzem Apple Silicon.
  • Xcode – IDE dla platform Apple w wersji 13.0 lub nowszej.
  • Aktualna wersja pakietu JDK.

Więcej informacji znajdziesz w instrukcjach kompilacji.

Pobieranie źródła przebiega podobnie jak w przypadku innych platform:

mkdir ${HOME}/chromium-ios
cd ${HOME}/chromium-ios
fetch ios

Potem możesz tworzyć kompilacje z poziomu wiersza poleceń (lub z Xcode):

autoninja -C out/Debug-iphonesimulator chrome

Więcej informacji o opracowywaniu funkcji Chrome na iOS

Zachęcamy do zapoznania się z przewodnikiem stylów Chromium. Przeczytaj dokumentację dla programistów Apple, aby dowiedzieć się więcej o Swift, xCode i innych zasobach związanych z iOS.

Jeśli jesteś programistą na iOS i nie znasz jeszcze Chromium, zapoznaj się z dokumentacją ważnych abstrakcji i struktur danych.