Chronicle Chromium nr 28: pierwsze kroki z Chrome na iOS

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

W 2022 r. Chrome na iOS będzie obchodził 10 rocznicę swojego wydania. Chrome to jedna z najpopularniejszych aplikacji na iOS. Obecnie zajmuje drugie miejsce na liście narzędziowej w App Store w Stanach Zjednoczonych.

Chrome na iOS ma wszystkie świetne funkcje Chrome, które lubią nasi użytkownicy, w tym synchronizację, Tłumacz, incognito, Menedżera haseł, autouzupełnianie i wiele innych. Chrome na iOS integruje się też z natywnymi funkcjami iOS, takimi jak autouzupełnianie haseł w wielu oknach i na całym urządzeniu.

Jest jednak jedna ważna cecha, która wyróżnia Chrome na iOS od wszystkich pozostałych implementacji na platformie Chrome.

Chrome na iOS nie używa Blink.

Ze względu na zasady Apple App Store Chrome na iOS musi do pobierania i renderowania treści z internetu używać interfejsów API platformy iOS. Dlatego Chrome na iOS korzysta z WebKit, Nitro i CFNetwork tam, gdzie inne platformy Chrome używają Blink, V8 i //net. W związku z tym, a także z ograniczonym interfejsem API dostępnym dla aplikacji na iOS na interakcję z treścią stron internetowych, wiele funkcji Chrome korzystających 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ą tak skonfigurowane, aby udostępniać jak najwięcej kodu między platformami przy jednoczesnym odizolowaniu zależności //content:

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:

  • Aplikacje na iOS muszą być pojedynczego procesu, więc Chrome na iOS nie może fork().
  • Chrome na iOS jest napisany w języku Objective-C++ (połączenia C++ i Objective-C) oraz języka Swift.
  • Chrome na iOS możesz kompilować i uruchamiać bezpośrednio na urządzeniu z iOS, ale w doskonałym symulatorze urządzenia Apple oferuje wiele możliwości rozwijania funkcji.

Pierwsze kroki z Chrome na iOS

Potrzebujesz:

  • 64-bitowy komputer z systemem macOS 11.3 lub nowszym. Obsługiwany jest silikon Apple.
  • Xcode – IDE na platformy Apple, wersja 13.0 lub nowsza.
  • Aktualna wersja pakietu JDK.

Więcej informacji znajdziesz w instrukcjach tworzenia kreacji.

Pobieranie źródła przebiega tak samo 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 Xcode):

autoninja -C out/Debug-iphonesimulator chrome

Więcej informacji o programowaniu funkcji Chrome na iOS

Zachęcamy do zapoznania się z przewodnikiem stylistycznym Chromium. Zapoznaj się z dokumentacją Apple dla programistów, by dowiedzieć się więcej o Swift i xCode oraz innych materiałach dotyczących iOS.

Jeśli zazwyczaj jesteś deweloperem iOS i nie masz doświadczenia z Chromium, zapoznaj się z dokumentacją dotyczącą ważnych abstrakcji i struktur danych.