שאלות נפוצות על Kotlin ב-Android

למה ב-Android הפכו את Kotlin לשפה נתמכת ברמה הגבוהה ביותר?

‫Kotlin היא שפה שתואמת ל-Android, והיא תמציתית, בעלת יכולת הבעה גבוהה ומתוכננת להיות בטוחה מבחינת סוגים וערכי null. הוא פועל בצורה חלקה עם שפת התכנות Java, כך שמפתחים שאוהבים Java יכולים להמשיך להשתמש בה בקלות, תוך כדי הוספה הדרגתית של קוד Kotlin ושימוש בספריות Kotlin. במקביל, הרבה מפתחי Android גילו ש-Kotlin מאפשרת פיתוח מהיר יותר ומהנה יותר, ולכן Google רוצה לספק תמיכה טובה יותר למשתמשי Kotlin. מידע נוסף על הגישה של Android ל-Kotlin

איך משתמשים ב-Kotlin עם Android Studio?

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

איך מנפים באגים ב-Kotlin ב-Android Studio?

ניפוי באגים ב-Kotlin מתבצע בדיוק כמו ניפוי באגים בקוד Java. לא צריך לעשות שום דבר אחר.

איזו תמיכה אחרת ב-IDE מסופקת ל-Kotlin (כמו lint,

השלמה אוטומטית וארגון מחדש של הקוד)?

ל-Android Studio יש תמיכה מלאה בכלים ל-Kotlin.

מה העתיד של Kotlin?

העבודה המושקעת של JetBrains על העיצוב של Kotlin היא אחת הסיבות לאמץ את השפה. ‫Google משתפת פעולה עם JetBrains כדי לספק חוויית פיתוח כוללת מצוינת – משפה ועד למסגרת ולכלים. אנחנו שמחים לעבוד יחד כדי להעביר את שפת Kotlin לקרן ללא מטרות רווח.

האם Kotlin היא קוד פתוח?

הרישיון המועדף ל-Kotlin הוא Apache Software License, Version 2.0 ('Apache 2.0'), ורוב תוכנת Kotlin מורשית על פיו. הפרויקט שואף לפעול בהתאם לרישיון המועדף, אבל יכולים להיות חריגים, שמטופלים על בסיס כל מקרה לגופו. לדוגמה, רישיונות של תלות מסוימת בצד שלישי שמשמשת את Kotlin הם רישיונות קוד פתוח שונים, שעדיין תואמים לרישיון Apache 2.0.

איך בוחרים בין השפות Java ו-Kotlin?

אתם לא צריכים לבחור! אפשר להשתמש בשניהם. אם אתם צריכים עזרה כדי להבין אם Kotlin מתאימה לכם, אתם יכולים לנסות אותה ב-Android או לקרוא מידע נוסף על השפה במשאבים האלה של Kotlin.

האם אפשר להפעיל ממשקי API של ספריות שפות Java או Android מ-Kotlin?

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

יש לכם מסמכי עזר של Kotlin ל-API של Android?

כן! ‫Google פועלת כדי להפוך את כל התיעוד של Android API לזמין עם הפניות ל-Kotlin שמתאימות לשימוש בשפה. קישורים למסמכי העיון הזמינים של Kotlin מופיעים בדף הסקירה הכללית של Android. אם אתם מחפשים הפניה לשפת Kotlin, תוכלו לעיין בהפניה לספריית התקנים של Kotlin.

האם אפשר להשתמש גם בקובצי Java וגם בקובצי Kotlin באותו פרויקט?

כן. אתם יכולים להשתמש ב-Kotlin במידה שמתאימה לכם ולשלב אותו עם קוד Java באמצעות יכולת הפעולה ההדדית של Kotlin עם Java.

האם אפשר להשתמש ב-Kotlin עם C++‎?

כן, יש תמיכה מלאה ב-JNI עם Kotlin. מסמנים שיטות JNI באמצעות המשנה external.

איך מוסיפים Kotlin לפרויקטים חדשים?

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

איך מוסיפים Kotlin לפרויקטים קיימים?

בוחרים את המודול בחלון Project (פרויקט) ואז בוחרים באפשרות File > New (קובץ > חדש). בוחרים תבנית Android כלשהי, ואז בוחרים באפשרות Kotlin בתור שפת המקור. מידע נוסף זמין במאמר הוספת Kotlin לאפליקציה קיימת.

איך ממירים קוד בשפת Java ל-Kotlin?

פותחים קובץ Java ובוחרים באפשרות Code > Convert Java File to Kotlin File (קוד > המרת קובץ Java לקובץ Kotlin). אפשרות נוספת היא ליצור קובץ Kotlin חדש (File > New > Kotlin File/Class) ואז להדביק את קוד ה-Java בקובץ הזה. כשמוצגת ההודעה, לוחצים על כן כדי להמיר את הקוד ל-Kotlin.

האם יהיו מסמכים, דוגמאות, סדנאות קוד ותבניות מקבילים ב-Kotlin?

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

האם שגרות המשך (coroutines) ב-Kotlin פועלות ב-Android? מה לגבי async/await?

הקורוטינות של Kotlin יציבות החל מגרסה 1.3 של Kotlin, והן פועלות כמצופה ב-Android. מידע נוסף על שימוש בקורוטינות ב-Android זמין במאמר שיפור ביצועי האפליקציה באמצעות קורוטינות של Kotlin.

האם לשימוש ב-Kotlin יש השפעה על הביצועים?

ל-Kotlin אין השפעה ישירה על הביצועים, אבל כמו בשפת Java, חשוב לחשוב היטב על אופן השימוש בה. לדוגמה, העתקה חוזרת בין מופעים חדשים של אוסף יכולה להשפיע על הביצועים של GC, וקריאה לשיטה שמקבלת סוגים שאינם null מוסיפה קריאה לשיטה לבדיקת null (אבל אפשר להשבית את בדיקות ה-null בזמן הריצה בקומפיילר באמצעות -Xno-param-assertions).

באילו גרסאות של Android יש תמיכה ב-Kotlin?

כולם! ‫Kotlin תואמת ל-JDK 6, כך שאפליקציות עם Kotlin פועלות בצורה בטוחה בגרסאות ישנות יותר של Android.

איפה אפשר לקבל מידע נוסף על השימוש ב-Kotlin?

מקורות מידע נוספים לתחילת העבודה עם Kotlin