Project Catalyst נועד לאפשר לרבים ממיליון אפליקציות ה-iPad הקיימות לעבוד גם באופן מקורי על ה-Mac באופן שלמעשה שלא ניתן להבחין בתוכנת Mac הקיימת ושקופה למשתמשים. במקביל, זה גם צפוי לעזור לתדלק את היצע האפליקציות המותאמות לאייפד. הנה איך.
הממיר הקטליטי
כפי שהשם מרמז,Mac Catalystהיא דרך לגרום למשהו חדש לקרות בפחות מאמץ או עלות. במקרה או שלא, גם השם משחק נגדmacOS Catalina, אשר יידרש להשתמש בכותרות Mac חדשות שנוצרו באמצעותו.
בקיץ שעבר, אפל הציגה תחילה את הרעיון של Catalyst - ללא שם רשמי - כניסוי פנימי להבאת ארבעה כותרים שנוצרו עבור iOS ל-macOS Mojave: חדשות, מניות, בית ותזכירים קוליים.
בזמנו, אנחנומְתוּאָרהאפליקציות החדשות במהדורת הביטא הציבורית כ"בהחלט עדיין בעבודה", אך גם מציגות בבירור "את הפוטנציאל של אפליקציות ל-iOS בלבד לעבור למק עם פחות עבודה למפתחים תוך מתן חוויה הרבה יותר טובה למשתמשים מאשר פשוט מוצע ממשק אפליקציית אינטרנט."
אפליקציית הבית של Mojave הייתה תקועה בתחילה בארץ iOS, אך היא הראתה את הפוטנציאל לאפליקציות UIKit במחשבי Mac
אחרים היו קריטיים הרבה יותר, והתמקדו בקצוות מחוספסים ספציפיים באפליקציות המועברות במקום לראות כל פוטנציאל לאן עשוי הפאק להגיע. חלקם הגיעו למסקנה שזה בלתי אפשרי עבור אפליקציות iPad להרגיש אי פעם בבית ב-Mac. ציניות מוגזמת הייתה גם טעות נפוצה לפני 20 שנה, כאשר אפל החלה לראשונה להשוויץ ב-Mac OS X המקורי, אשר בתחילה הרגיש הרבה פחות אופטימלי ו"מצמרר" בהשוואה ל-Mac OS Classic. לקח זמן לחשוף שהתוכנה החדשה של אפל תספק בסופו של דבר חוויה טובה בהרבה.
אנחנו כבר רואים התקדמות עצומה בקטליסט. אפל לקחה כעת את כל מה שלמדה במהלך השנה האחרונה כדי לקחת את הכלים הפנימיים שלה לשעבר ולפתוח אותם למפתחי צד שלישי, כך שהם יכולים להמיר את האפליקציות שלהם שנבנו עבור iOS לאפליקציות UIKit מקוריות המסוגלות לפעול על macOS Catalina.
אדריכל התוכנה הראשי של אפל קרייג פדריגימְתוּאָרהאסטרטגיה כ"אין מוחין". ואפל בטוחה מספיק ב-Catalyst כדי להשתמש בה כדי להפעיל אפליקציות מפתח ב-Catalina, כולל ה- Find My ו-פודקאסטיםאפליקציות.
שלב ראשון: צור אפליקציית אייפד נהדרת
Catalyst לא נועד להפעיל אפליקציות בגודל אייפון כאביזרי שולחן צפים על שולחן העבודה של Mac. במקום זאת, הוא נועד לבנות כותרי Mac מלאים שיכולים לנצל כמעט את כל התכונות של פלטפורמת שולחן העבודה של אפל. מסיבה זו, אפל מתייחסת ל- Catalyst כאל יציאותאפליקציות לאייפדל-Mac, וציין במפורש שהשלב הראשון בהמרה הוא "לבנות אפליקציית אייפד נהדרת".
מאז שהאייפד נחשף לראשונה על ידי סטיב ג'ובס בשנת 2010, אפל טוענת בלהט שהאייפד נועד להיות חוויה ייחודית וחדשה ולא רק "אייפוד טאץ' גדול". זה מצביע באופן עקבי על הספרייה הגדולה של אפליקציות שהותאמו במיוחד לאייפד כמבדיל עיקרי מטאבלטים אחרים המשמשים כאפליקציות טלפון מתוחות, או "היברידיות" למחשב שמטרתן להרכיב מושגי מגע או טאבלטים על גבי שולחן עבודה רגיל של Windows PC.
אחרי עשור של איטרציות על הגישות השונות שלהם, אי אפשר לטעון שאפל טעתה. המאמצים הרבים של גוגל להקל על הפעלת יישומי טלפון אנדרואיד ניתנים להרחבה על פני קשת אינסופית של גדלים שונים של מכשירי אנדרואיד הביאו לחוויית טאבלט כל כך נוראית עבור המשתמשים שאפילוה-Vergeמודה שיש בעיה.
ולמרות שיש תומכים נלהבים של מחשבים ניידים למחשבים ניידים עם מסכי מגע, או טאבלטים היברידיים ניתנים להסרה התומכים בחלונות קונבנציונליים ובמצביע בסגנון עכבר, אף אחד מהמוצרים האלה לא באמת נמכר במספרים משמעותיים, והם גם לא גורמים לשום ספרייה יוצאת דופן של אופטימיזציה תוכנה שעושה שימוש יעיל מאוד במגע או בצורת צפחה.
הממגורות הנפרדות בכוונה של אפל של יישומי אייפון, אייפד ומק הביאו לא רק לספרייה עצומה שאין כמותה של אפליקציות מותאמות לטאבלטים, אלא גם הביאו לכך שאפל מכרה את רוב הטאבלטים ללא ספק, מבלי להרוס את המכירות שלה של מחשבי Mac קונבנציונליים. למעשה, אפל ממשיכה לשמור על בסיס מותקן גדל והולך של משתמשי מק, למרות שיצרה בסיס גדול עוד יותר של משתמשי אייפד. במקום להיות אופנה זמנית כמו נטבוקים, האייפד של אפל הקים פלטפורמה בת קיימא של משתמשים עם צרכים ספציפיים המוגשות על ידי חווית טאבלט יעילה. ועבור רבים, iPad משלים לשימוש ב-Mac תוך שהוא חוויה ייחודית.
בשנה שעברה, ראש התוכנה של אפל, קרייג פדריגי, הבהיר ש"לא", אפל לא ביקשה לבטל את זה או "להתכנס" בין פלטפורמות ה-iOS וה-Mac שלה. במקום זאת, ניסוי ה-Catalyst נועד למנף את העובדה שיש הרבה אפליקציות iOS שיהיה נהדר להחזיק ב-Mac, אם רק הייתה דרך להעביר אותן ולהמיר אותן לחוויה שונה לחלוטין, מותאמת לשולחן העבודה, שתרגיש מוכר למשתמשי Mac ולא כמו שוויון תאימות מתארח, זר בצורה מביכה.
מדוע היה צורך בקטליסט
בעוד ש-iOS ו-macOS תמיד חלקו חלק גדול מתוכנות הליבה של מערכת ההפעלה שלהם ומציעות גישות דומות מאוד באופן שבו האפליקציות שלהם בנויות, ישנם הבדלים משמעותיים בפרטים של מסגרות ה-API שמפתחים משתמשים בהן כדי לכתוב אפליקציות AppKit עבור Mac או UIKit עבור iPhone ואייפד. במקרים מסוימים, זה נובע מהבדלים בחומרה או קשור לאופי המאוד ברור של מצביע העכבר המדויק לפיקסלים של ה-Mac בהשוואה לצל המגע הגדול בהרבה של תנועת אצבע של iOS. בתחומים אחרים, אפל פשוט כתבה אלמנטים של ממשקי API של iOS בצורה שונה מכיוון שהייתה לה הזדמנות להתחיל מחדש ולהתנתק ממגבלות תאימות מדור קודם.
כתוצאה מכך, כדי להיות בקיא בקידוד Mac ו-iOS, מפתח יצטרך להבין את כל ההטמעות והגישות השונות הללו. מעבר לכך, הקוד שנכתב עבור כל אחד יצטרך להישמר בנפרד, כך שכל שינוי, הוספת תכונה ותיקון באגים לא רק יצטרכו להתבצע פעמיים, אלא גם בדרכים מעט שונות. ברור שיש חברות שמתחזקות גם גרסאות Mac וגם iOS של התוכנה שלהן, אבל במקרים רבים, אלה מטופלות על ידי קבוצות שונות לחלוטין.
על ידי ביצוע כמות אדירה של עבודה כדי להתמודד עם רבים מההבדלים הללו בעצמה עם Catalyst, אפל מאפשרת כעת למפתחי iOS לבצע רק קבוצה מוגבלת של שינויים ספציפיים ליישום כדי לספק את קוד UIKit הקיים שלהם להפעלה ב-macOS Catalina. כעת ניתן לתחזק את קוד המקור של שניהם באותו פרויקט Xcode, מה שמאפשר לבצע את רוב השינויים פעם אחת בלבד, מה שמפשט באופן דרמטי את העבודה הנדרשת לתחזוקה ואופטימיזציה של קוד מתפתח.
בניית חבל עכבר טוב יותר
העברת אפליקציית iPad למק באמצעות Catalyst כרוכה בסימון תיבת יעד לפלטפורמה ב-Xcode שמרכיבה את הקוד עבור המק. העבודה מאחורי הקלעים מטופלת ברובה על ידי אפל, הן ממנפת את עבודת המהדר שלה ליצירת קוד נייד על פני ארכיטקטורות החומרה שלה, והן המסגרות החדשות ב-macOS Catalina שנכתבו כדי לתמוך ב-UIKit כמסגרת מקורית של Mac.
אפל מצהירה שכאשר מפתחים מוסיפים "Mac" כמטרה בפרויקטים של iPad Xcode שלהם, "נוספות תכונות בסיסיות של שולחן העבודה והחלונות של Mac, ובקרות המגע מותאמות למקלדת ולעכבר. רכיבי ממשק משתמש מותאמים אישית שיצרת עם הקוד שלך נתקלים כפי שהוא. לאחר מכן תוכל להמשיך ליישם תכונות ב-Xcode עם ממשקי API של UIKit כדי לוודא שהאפליקציה שלך נראית נהדר ופועלת בצורה חלקה."
החברה גם פירטה כי Catalyst מוסיפה אוטומטית תמיכת Mac עבור העדפות מערכת, קלט סרגל מגע, תפריטי הקשר לעריכת טקסט וניהול קבצים. ושינויים ספציפיים למערכת ההפעלה נעשים גם עבור תכונות כגון תצוגת פעילות, תצוגה מפוצלת, דפדפן קבצים וגיליון טופס. מפתחים אכן צריכים להבין כיצד לפרוס ממשקים הגיוניים ב-Mac. אפל מציינת כי "מוסכמות iOS כגון החלקה כדי למחוק, פקודות גליון פעולה ופקדים בתחתית המסך מותאמות לאינטראקציות מגע במכשיר כף יד", בניגוד ל"מוסכמות macOS כגון מקשים ייעודיים וקיצורי מקלדת, תפריט פקודות ופקדים בחלק העליון של החלון מותאמים לאינטראקציות מקלדת, עכבר ומשטח עקיבה ותצוגה נפרדת."
Catalyst נועד לספק אפליקציות עם תכונות ספציפיות לפלטפורמה
של אפלהנחיות ממשק אנושיפרט מגוון דרכים שבהן מוסכמות Mac שונות באופן מהותי מ-iOS, כולל פריסת האפליקציה ומוסכמות הניווט, שיכולות להיות ספציפיות לסוג ולמטרה של האפליקציה המועברת. אז יש יותר עבודה למפתחים מאשר רק לחיצה על כפתור, אבל זה הרבה פחות מאשר להתחיל מאפס ב-Mac, או עבודה להעברת אפליקציה לנייד לשירות אינטרנט גנרי שאליו ניתן לגשת דרך דפדפן.
חלק מהעבודה שמפתחים יעשו כדי להתאים את אפליקציות ה-iPad שלהם ל-Mac גם יסייעו להם לספק אפליקציות אייפד טובות יותר המנצלות את מלוא היתרונות של הסביבה המתוחכמת יותר שמציע iPadOS. זה כולל תמיכה באזור עבודה גדול יותר המאפשר אפליקציות מרובות במקביל המשתמשות ב-Split View, Slide Over ותמונה בתמונה, עם אינטראקציות של גרירה ושחרור ביניהן. אפל גם ממליצה למפתחים להוסיף תמיכה בקיצורי מקלדת, הצפויים על ידי משתמשי Mac וגם שיפור עבור כל משתמשי אייפד שיבחרו להשתמש במקלדת.
ARM ופיגור?
עם זאת, Catalyst אינו ממוקם בתור העתיד הייחודי של בניית כל אפליקציות ה-Mac. מפתחי ה-AppKit של היום לא צריכים לדאוג להתיישנות בקרוב. למעשה, אפל ממשיכה לשפר את AppKit עם תכונות שונות, כולל ה- SwiftUI החדש. במקום זאת, Catalyst פשוט שואפת לאפשר לעולם הרחב יותר של מפתחי iOS UIKit להביא את עבודתם ל-Mac מבלי ללמוד הרבה ממשקי ה-API הייחודיים ששימשו בעבר לבניית תוכנת Mac.
זה קריטי עבור צוותים קטנים שעובדים על פרויקט iOS שלא ממש יכול להצדיק כתיבת גרסת Mac של האפליקציה שלהם מאפס. זה חשוב גם למפתחים פנים ארגוניים שבונים סדרה של אפליקציות מותאמות אישית לאייפד, ורוצים דרך יעילה להפוך את המוצרים האלה לזמינים גם למשתמשי Mac. באופן כללי, אסטרטגיית ה-Catallyst של אפל מבטיחה להפוך את המפתחים ליותר פרודוקטיביים באופן שיביא לספקטרום גדול יותר של כותרי תוכנה עקביים יותר על פני הפלטפורמות של אפל.
Catalyst אינו "הדמייה", שתכלול הפעלת קוד ARM על מעבד Mac המעמיד פנים שהוא שבב אייפד. זה גם לא שלב נדרש עבור אפל לספק בסופו של דבר מחשבי Mac מבוססי ARM בעתיד. למעשה, זה בערך ההפך, מכיוון שהוא מאפשר להידור של קוד UIKit להפעלה טבעית על מעבדי אינטל של ה-Mac.
היא גם לא נוקטת בקונספט האוניברסלי "כתוב פעם אחת, הרץ בכל מקום" של מכשירי Java VM או אנדרואיד, המארחים קוד בתים מתורגם במכונה וירטואלית על פני חומרה שונה. יישומי Catalyst Mac הם קוד מקורי; זה פשוט פותח עם סט אחר של כלים המוכרים יותר למקודדים המנוסים בעבודה על פרויקטים של iOS.
אי הבנה מהותית
כתיבה עבורטרנדים דיגיטליים, טיילר לקומהכתב"המטרה של Catalyst היא להפוך אפליקציות בשתי מערכות ההפעלה לאוניברסליות, מה שאומר שאפליקציות Mac יוכלו לעבור גם ל-iOS". הוא גם הציע שזה עשוי להיות חלק מהתוכניות "למזג באופן רשמי את ה-iPadOS ו-MacOS בשלב מסוים", אבל אף אחד מהרעיונות הללו אינו מדויק.
אוון וויליאמסלְהַרְכִּיבתפיסה מוזרה הרבה יותרבֵּינוֹנִישדמיין את Catalyst הוא המאמץ של אפל להשמיד את Electron, כלי חוצה פלטפורמות לבניית אפליקציות אינטרנט שמנסות להיראות מקוריות בפלטפורמות שונות. הוא תיאר בציניות את הקטליזטור של אפל כ"מהלך שלום מרי שנועד להחזיר מפתחים לפלטפורמה של החברה", תוך שימוש בפסקאות של שפה דרמטית שניסו נואשות להציג את חברת הטכנולוגיה המצליחה ביותר על פני כדור הארץ כדינוזאור ששיעל את האחרון שלו. מתנשף ברלוונטיות בזמן שהשחקנים החשובים באמת בעולם, כמו Spotify ו-Slack, עוברים לאפליקציות אינטרנט.
הוא לעג לשותפים שאפל הדגימה על הבמה ב-WWDC באמצעות Catalyst כדי לספק את יישומי האייפד שלהם ב-Mac כ"משחק מירוצים שאף אחד לא שמע עליו, ועוד קומץ מוצרים נשכחים", תוך שהוא תוהה בקול מדוע "שמות גדולים כמו נטפליקס או Amazon Prime Video" לא היו שם, אפילו בלי להזכירלְצַפְצֵף.
וויליאמס גם ציטט את מה שהוא כינה "דוגמה טובה יותר לרעיון הזה" במאמצים של גוגל להביא אפליקציות אנדרואיד ל-Chromebooks. המאמר כולו טפטף מבוז ולעג, אבל הוא לא הצליח להבין מה הפואנטה של Catalyst בכלל.
Catalyst אינו תכסיס להשיג שירותי אינטרנט לבניית אפליקציות Mac מקוריות. זו פשוט דרך למנף את העובדה שיש טונות של אפליקציות אייפד מקוריות, המונעות על ידי המציאות שיש בסביבות 400 מיליון אייפד בשימוש. יש "רק" 100 מיליון מחשבי מק בבסיס המותקן הפעיל, ובאופן דומה פחות מפתחים ששולטים בבניית תוכנת AppKit Mac.
פיתוח האייפד מתחזק על ידי העובדה שיש אפילו הרבה יותר מכשירי אייפון בשימוש. הפוטנציאל למינוף הבסיס הקיים של מפתחים עם ניסיון בקידוד UIKit כדי לייצר במהירות כותרי Mac חדשים יהיה משמעותי. בקיץ שעבר, UpworkמְצוּטָטUIKit כאחת מעשרים הכישורים המובילים בצמיחה המהירה ביותר בקרב פרילנסרים.
Catalyst יביא משחקי אייפד למק עם גרפיקה מקורית של מטאל
משחקים הם תחום אחד במיוחד שבו ניתן לצפות כי כותרי אייפד קיימים יצליחו להשפיע על ה-Mac. אפל הדגישה את עבודתה של Gameloft להביא את משחק המירוצים הפופולרי שלה Asphalt 9 למק באמצעות Catalyst, והצהירה שהצוות הצליח לבצע את המעבר הראשוני תוך יום. מכיוון שמשחקי אייפד מודרניים מתקשרים ל- Metal כדי לצייר את הגרפיקה שלהם, Catalyst יכול למנף את Metal ב-Mac כדי להציג גרפיקה מוגדלת באמצעות ה-GPUs החזקים יותר שלהם.
וויליאמס לעג למשחק שהוא לא היה מודע אליו, אבל המשחק ב-iOS הוא עצום כי iOS עצמו הוא ענק. קל מאוד להעביר את הספרייה העצומה של משחקי iPad ל-Mac יהיה שובר קופות.