פרק 28: מאת מארק קוגן בפריז, צרפת (ינואר 2022)
הפרקים הקודמים
בשנת 2022, Chrome ב-iOS יחגוג 10 שנים. Chrome היא אחת מאפליקציות ה-iOS הנפוצות ביותר – כרגע היא האפליקציה מספר 2 ב-App Store בארה"ב.
Chrome ב-iOS מספק את כל התכונות הנהדרות של Chrome שהמשתמשים שלנו אוהבים, כולל סנכרון, תרגום, מצב פרטי, מנהל הסיסמאות, מילוי אוטומטי ועוד. Chrome ב-iOS משתלב גם עם תכונות מקוריות ב-iOS, כמו מילוי אוטומטי של סיסמאות בריבוי חלונות ובכל המכשירים.
עם זאת, יש דבר אחד חשוב שהופך את Chrome ב-iOS לשונה מאוד מכל היישומים האחרים של פלטפורמות Chrome.
Chrome ב-iOS לא משתמש ב-Blink.
בגלל הכללים של Apple App Store, דפדפן Chrome ב-iOS חייב להשתמש בממשקי ה-API של פלטפורמת iOS לאחזור ולעיבוד של תוכן מהאינטרנט. כך, Chrome ב-iOS משתמש ב-WebKit, Nitro ו-CFNetwork במקומות שבהם פלטפורמות אחרות של Chrome משתמשות ב-Blink, V8 ו-//net
. בעקבות זאת, וה-API המוגבל שזמין לאפליקציות ל-iOS לאינטראקציה עם תוכן של דפי אינטרנט, תכונות רבות של Chrome שמשתמשות בממשקי ה-API מסוג //content
מוטמעות ב-Chrome ב-iOS באמצעות החדרת JavaScript.
התכונות בפלטפורמות שונות ב-//components
מיועדות לשיתוף קוד רב ככל האפשר בכל הפלטפורמות, תוך שמירה על יחסי התלות של //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.
דוגמאות להבדלים חשובים נוספים בין Chrome ב-iOS לבין פלטפורמות אחרות:
- אפליקציות ל-iOS נדרשות לעבור תהליך יחיד, ולכן Chrome ב-iOS לא יכול
fork()
. - Chrome ב-iOS נכתב ב-Objective-C++ (שילוב של C++ ו-Objective-C), יחד עם כמה Swift.
- למרות שניתן להדר ולהפעיל את Chrome ב-iOS ישירות במכשיר iOS, אפשר גם לפתח תכונות רבות בסימולטור המכשיר המשופר ש-Apple מספקת.
תחילת העבודה עם Chrome ב-iOS
הנתונים הדרושים:
- מחשב עם macOS, גרסת 64 ביט, עם macOS מגרסה 11.3 ואילך. יש תמיכה ב-Apple Silicon.
- Xcode, סביבת הפיתוח המשולבת (IDE) לפלטפורמות של Apple, גרסה 13.0 ואילך.
- הגרסה הנוכחית של ה-JDK.
מידע נוסף זמין בהוראות לבנייה.
אחזור המקור דומה מאוד לפלטפורמות אחרות:
mkdir ${HOME}/chromium-ios
cd ${HOME}/chromium-ios
fetch ios
לאחר מכן, תוכלו ליצור גרסת build משורת הפקודה (או מ-Xcode):
autoninja -C out/Debug-iphonesimulator chrome
מידע נוסף על פיתוח תכונות של Chrome ב-iOS
אנו ממליצים לך לעיין במדריך הסגנון של Chromium. קרא את התיעוד למפתחים של Apple כדי לקבל מידע נוסף על Swift, xCode ומשאבים אחרים הספציפיים ל-iOS.
אם אתם בדרך כלל מפתחי iOS ואתם משתמשים חדשים ב-Chromium, עיינו במסמכי התיעוד בנושא הפשטות ומבני נתונים חשובים.