JetBrains מביאה לאינטרנט את Jetpack Compose, מסגרת העיצוב ההצהרתית של גוגל לאנדרואיד. זה זמין היום כתצוגה מקדימה.
בשנים האחרונות, הייתה דחיפה די גדולה לפיתוח תוכניות חוצות פלטפורמות. מסגרות כמו React ו-Flutter נוצרו כדי לאפשר למפתחים לשתף בסיס קוד יחיד באנדרואיד, iOS, שולחן העבודה ואפילו האינטרנט. אפילו JetBrains, החברה מאחורי כמה מה-IDEs הפופולריים ביותר ושפת התכנות Kotlin, עבדה על פיתוח חוצה פלטפורמות. תחילה עם Kotlin Multiplatform אך לאחרונה עם Jetpack Compose.
לפני זמן מה, JetBrains העבירה את Jetpack Compose, מסגרת העיצוב ההצהרתית של גוגל לאנדרואיד, לשולחן העבודה. זה אפשר פיתוח שולחן עבודה חוצה פלטפורמות המבוסס על JVM של Java. באמצעות Jetpack Compose, אתה יכול ליצור אפליקציה עבור אנדרואיד, macOS, Windows ואפילו לינוקס, הכל מבסיס קוד אחד. אבל מלבד iOS, חסרה פלטפורמה די גדולה ב-Compose: האינטרנט.
אבל זה עומד להשתנות. ל-JetBrains יש מְשׁוּחרָר מה שהם מכנים טכנולוגיה מקדימה של Jetpack Compose for Web.
כעת, Technology Preview הוא בעצם שם מפואר לפרה-אלפא. Compose for Web אינו מוכן כמעט לשימוש בייצור. אין הדרכות, מעט מאוד תיעוד, וממשקי ה-API אינם כמעט שלמים. עם זאת, בואו נראה מה מציעה Compose for Web עד כה.
בגרסה הנוכחית, ישנן שתי דרכים לפתח ב-Compose for Web: שימוש ב-DOM API, או שימוש בווידג'טים של Compose הקיימים, כגון Column או Text.
אם אתה משתמש ב-DOM API, יהיו לך שמות API המייצגים את רכיבי ה-HTML השונים, כגון ע, א, וכולי. ההבדל הגדול בין Compose לבין Kotlin JS הקלאסי הוא שאתה יכול להשתמש בעיצוב הצהרתי מבוסס מדינה. אפשרות זו נראית כמו גשר קטן בין פיתוח אינטרנט קלאסי לפיתוח ממשק משתמש הצהרתי מלא. בנוסף ליצירת פריסה, Compose for Web מאפשר לך גם ליצור גיליונות סגנונות דינמיים מבוססי מדינה.
האפשרות השנייה היא מה שייראה מוכר יותר למפתחי אנדרואיד ו-Compose. ישנם רכיבים מוכנים מראש, כמו Column, Row ו-Slider, שבהם אתה יכול להשתמש כדי לבנות ממשק משתמש אינטרנטי. נכון לעכשיו, אלה לא מאוד שלמים וסגנונות ואפשרויות לא מיושמים במלואם. אבל זה לפחות נותן לנו מושג על מה יש ל-JetBrains עבור Compose for Web.
בסך הכל, כרגע, אין ממש הרבה מה לכתוב עבור האינטרנט. זה עדיין בתוכו מאוד ימים מוקדמים. אבל זה יכול להיות בעל משמעות רבה לעתיד. באופן אישי, כמפתח אנדרואיד, התקשיתי להיכנס למסגרות פריסה מבוססות דפדפן. HTML ו-CSS בסיסיים יכולים להיות מסורבלים, ותחבירי React ו-Flutter עדיין מבוססים על עיצוב HTML.
שפת עיצוב חוצת פלטפורמות עם תכונות מלאות שאינה מבוססת על עקרונות עיצוב אתרים היא די מרגשת. אמנם יש ל-Jetpack Compose עוד דרך ארוכה לעבור, אבל מה ש-JetBrains תכננה יכול להיות בעל משמעות רבה לעתיד עיצוב ממשק המשתמש.
אם אתה רוצה ללמוד עוד על Compose for Web, בדוק את ההכרזה של JetBrains. אם אתה מעוניין לשחק עם היישום הנוכחי, עבור אל מאגר GitHub.