Jetpack Compose לשולחן העבודה מוסיף שכבת Swing ותמיכה של Apple Silicon

JetBrains פרסמה גרסה חדשה של Jetpack Compose for Desktop, מסגרת פיתוח ממשק משתמש חוצה פלטפורמות בקוד פתוח.

אם אתה עושה כל סוג של עבודת פיתוח, בטח שמעת על JetBrains. הם החברה מאחורי חבילת ה-IDE הענקית הכוללת את IntelliJ (הבסיס לאנדרואיד Studio), CLion, PhpStorm ועוד רבים אחרים. הם גם אלה שיצרו קוטלין, שפת התכנות הפופולרית ביותר בין פלטפורמות.

וג'טבריינס חוזרת לזה שוב. לפני קצת יותר משנה, גוגל הציגה מנוע פריסה חדש לאנדרואיד בשם Jetpack Compose. זה עבר לא מעט שינויים גדולים מאז, אבל זה הפך לחלופה מוכשרת (אם כי עדיין מעט לא יציבה) לפריסות ה-XML הקלאסיות של אנדרואיד.

מה הקשר של Jetpack Compose ל-JetBrains? ובכן, למשל, זה כתוב בקוטלין. אבל גם, JetBrains עבדה בשקט על העברה של Compose לחלל שולחן העבודה. זה היה פומבי כתצוגה מקדימה של מפתחים, ועכשיו JetBrains מוכנה להכריז רשמית על קיומו.

מה זה Jetpack Compose?

דיברתי על זה קצת בהקדמה, אבל אני חושב שזה ראוי לעוד הסבר. אם פיתחתם בעבר באנדרואיד, כנראה שאתם רגילים לאופן שבו פריסות עובדות. ראשית, אתה מעצב את הפריסה שלך בקובץ XML, ולאחר מכן אתה מקיים אינטראקציה עם הפריסה הזו מ-Java או Kotlin. למרות שזה פונקציונלי, זה קצת מיושן, וקשה לנהל את הפריסות שלך בשפות.

כחלופה לכך, גוגל החלה לפתח את Jetpack Compose. Compose הוא מנוע פריסה לאנדרואיד שנבנה על גבי Kotlin. כל קוד הפריסה והלוגיקה שלך נמצאים במקום אחד, מה שמקל על האינטראקטיביות הרבה יותר. זה גם הצהרתי, במקום סגנון ההכרח של פריסות XML.

מעבר למנוע פריסה הצהרתי מהכרח שאפשר להתרגל אליו, אבל Compose הוא בהחלט שיפור ביחס ל-XML, למרות שהוא עדיין בשלבים הראשונים שלו.

Jetpack Compose לשולחן העבודה

אז, Compose היא חלופת פריסה נחמדה עבור אפליקציות אנדרואיד מקוריות. אבל זה לא (בדרך כלל) חוצה פלטפורמות. זה המקום שבו JetBrains נכנס לתמונה. החברה העבירה את Jetpack Compose לשטח שולחן העבודה, עם תמיכה ב-Windows, Linux ו-macOS (הן אינטל והן ARM).

אמנם ישנם מנועי פריסה אחרים שקיימים עבור שולחן העבודה, כגון Electron, JavaFX ו-UWP, אבל זה קצת בלאגן כרגע. חלקם אינם חוצי פלטפורמה, אז הם עובדים רק על מערכת הפעלה אחת ספציפית. אחרים הם מבחינה טכנית חוצי פלטפורמות, אך דורשים עבודה רבה כדי להפיץ אותם. ועדיין, אחרים פשוט כאב לעבוד איתם, כמו JavaFX.

Jetpack Compose for Desktop, לעומת זאת, קל יחסית לשימוש, תומך בקנה מידה של תצוגה, בעל סגנון מובנה, והוא חוצה פלטפורמות (כמעט) לחלוטין. אמנם אינך יכול עדיין לבצע קומפילציה עבור כל ההפצות ממערכת הפעלה אחת, אך הקוד עצמו נייד לחלוטין. בדיוק כמו עם אנדרואיד, אפליקציה ארוזה מבוססת על Java, אם כי המשתמשים לא צריכים JDK מותקן כדי להשתמש בה.

תאימות צולבת

מכיוון ש-Compose for Desktop עדיין חדש, חסרים לו כמה תכונות. כדי לעזור למפתחים לעקוף מגבלות אלו, Compose for Desktop פועלת הדדית עם שניים ממנועי הפריסה הפופולריים יותר של Java, JavaFX ו-Swing. אם יש לך אפליקציית שולחן עבודה שפותחה באחד (או בשניהם) מהמנועים הללו, תוכל להתחיל במעבר ל-Compose תוך שמירה על בסיס הקוד הנוכחי שלך.

אנדרואיד + שולחן עבודה

מה אם אתה רוצה להביא את אפליקציית Compose Android שלך לשולחן העבודה? ובכן, אתה גם יכול (בערך) לעשות את זה. ניתן לשתף בקלות את רכיבי ממשק המשתמש של האפליקציה שלך בין אנדרואיד לשולחן העבודה. לא תוכל לשתף הכל, אבל זה בהחלט מקל על הפיתוח.

תמיכה בסיליקון של אפל

הזכרתי את זה למעלה, אבל אני הולך להזכיר את זה שוב. ה מחשבי Apple Silicon Mac חדשים הם די מדהימים, אבל המעבדים מבוססים על ארכיטקטורת המעבד של ARM, מה שאומר שהרבה אפליקציות macOS פועלות כעת דרך המתרגם Rosetta 2 x86. בעוד אפל עשתה עבודה די טובה עם התרגום הזה, תוכניות ARM מקוריות עדיין יפעלו טוב יותר.

ובכן, Jetpack Compose לשולחן העבודה תומך באפל סיליקון באופן מקורי. זה אומר שלא תצטרך לדאוג לירידות ביצועים מתרגום או לגבי תמיכה עתידית כאשר אפל תפסיק את זה.

פונקציונליות

אז הכל טוב ויפה ש-JetBrains יצרה מנוע פריסה חדש למחשב שולחני, אבל מי אמר שהוא טוב יותר ממה שיש לנו עכשיו?

לִי.

השתמשתי ב-build הזמין העדכני ביותר נכון לכתיבת זה (0.2.0-build132) כדי ליצור אפליקציה פשוטה למתן הרשאות עבור SystemUI Tuner. מכיוון שאני לא כל כך מכיר את Compose ועיצוב הצהרתי, זה היה לי קצת יותר קשה מאפליקציית פריסת XML, אבל עשיתי את זה. וזה הרבה יותר קל לשימוש מאשר JavaFX.

אמנם תמיכת ערכות נושא (כלומר מצב כהה) עדיין מעט מפוקפקת, זה די קל לבנות פריסה אינטראקטיבית, ומלבד כמה הבלחות בעת שינוי גודל החלון, הכל עובד בסדר.

אם אתה רוצה לבדוק את האפליקציה, קוד המקור זמין ב- GitHub. פשוט ייבא אותו עם IntelliJ או Android Studio והוא אמור להיות מוכן להפעלה.


באופן אישי, אני די מתרגש לגבי Jetpack Compose לשולחן העבודה. אפילו לא ידעתי שהוא קיים לפני כן, אבל זה כבר מנוע פריסת שולחן העבודה שלי. אתה יכול ללמוד עוד על אתר Jetpack Compose לשולחן העבודה אוֹ ב-GitHub.

מה אתה חושב על זה? האם כדאי לבדוק ואולי אפילו להשתמש במקום מסגרות זמינות אחרות? תיידע אותי!

קרדיט תמונה מומלצת: JetBrains ב-GitHub