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

למה כדאי להשתמש ב-Android Jetpack?

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

* הספריות הפופולריות והנפוצות מופיעות ראשונות

activity *גישה לממשקי API שניתנים לקישור שנוצרו על סמך Activity.
appcompat *מאפשרת גישה לממשקי API חדשים בגרסאות API ישנות יותר של הפלטפורמה (רבות מהן משתמשות ב-Material Design).
appsearch *פיתוח יכולות חיפוש בהתאמה אישית בתוך האפליקציה למשתמשים.
camera *פיתוח אפליקציות מצלמה לנייד.
compose *הגדרה פרוגרמטית של ממשק המשתמש באמצעות פונקציות שניתנות ליצירה שמתארות את הצורה שלו ואת יחסי התלות בנתונים.
databinding *קישור רכיבי ממשק המשתמש בפריסות למקורות הנתונים באפליקציה באמצעות פורמט דקלרטיבי.
fragment *לפלח את האפליקציה למספר מסכים עצמאיים שמתארחים בתוך פעילות.
hilt *הרחבת הפונקציונליות של Dagger Hilt כדי לאפשר הזרקת תלות של כיתות מסוימות מהספריות של androidx.
lifecycle *פיתוח רכיבים מודעים למחזור חיים שיכולים לשנות את ההתנהגות על סמך מצב מחזור החיים הנוכחי של פעילות או קטע קוד.
רכיבי Material Design * רכיבי ממשק משתמש מודולריים ומותאמים אישית בסגנון Material Design ל-Android.
ניווט *יצירה של ממשק המשתמש באפליקציה, בניית המבנה שלו, טיפול בקישורי עומק וניווט בין המסכים.
paging *טעינה של נתונים בדפים והצגה שלהם ב-RecyclerView.
room *יצירה, אחסון וניהול של נתונים קבועים שמגובים על ידי מסד נתונים של SQLite.
test *בדיקה ב-Android.
work *תזמון והפעלה של משימות ברקע מבוססות-אילוצים שאפשר לדחות.
adsקבלת מזהה פרסום עם Play Services או בלי Play Services.
הערהחשיפת מטא-נתונים שיעזרו לכלים ולמפתחים אחרים להבין את הקוד של האפליקציה.
arch.coreכלי עזר ליחסי תלות אחרים של ארכיטקטורה, כולל כללי בדיקה של JUnit שאפשר להשתמש בהם עם LiveData.
asynclayoutinflaterכדאי להנפיח פריסות באופן אסינכרוני כדי למנוע תנודות בממשק המשתמש.
autofillשיפור הדיוק של המילוי האוטומטי באמצעות הרחבת הטיפים.
benchmarkמדידת הביצועים של הקוד במדויק ב-Android Studio.
ביומטריאימות באמצעות מידע ביומטרי או פרטי כניסה של המכשיר, וביצוע פעולות קריפטוגרפיות.
bluetoothשימוש בתכונות ה-Bluetooth של פלטפורמת Android עם ממשקי API שתואמים לאחור.
דפדפןהצגת דפי אינטרנט בדפדפן ברירת המחדל של המשתמש.
camera.viewfinderרכיב עין המצלמה עצמאי שניתן לשילוב ולצפייה בתמונה
car-appפיתוח אפליקציות לפי תבניות ל-Android Auto ול-Android Automotive OS.
cardviewהטמעת תבנית הכרטיס של Material Design עם פינות עגולות ואפקט צללים.
collectionצמצום ההשפעה על הזיכרון של אוספים קיימים וחדשים קטנים.
compose.animationפיתוח אנימציות באפליקציות שלהם ב-Jetpack Compose כדי להעשיר את חוויית המשתמש.
compose.compilerשינוי פונקציות עם @Composable והפעלת אופטימיזציות באמצעות פלאגין של קומפילטור Kotlin.
compose.foundationכתיבת אפליקציות ב-Jetpack Compose באמצעות אבני בניין מוכנות לשימוש והרחבת הבסיס כדי ליצור רכיבים משלכם של מערכת עיצוב.
compose.materialפיתוח ממשקי משתמש של Jetpack Compose באמצעות רכיבים מוכנים לשימוש של Material Design. זוהי נקודת הכניסה ברמה הגבוהה יותר של Compose, שנועדה לספק רכיבים שתואמים לאלה שמתוארים בכתובת www.material.io.
compose.material3פיתוח ממשקי משתמש של Jetpack Compose באמצעות רכיבי Material Design 3, הגרסה הבאה של Material Design. Material 3 כולל רכיבים ועיצוב נושאים מעודכנים ותכונות של התאמה אישית של Material You, כמו צבעים דינמיים. הוא תוכנן כך שיהיה עקבי עם הסגנון החזותי החדש של Android 12 ועם ממשק המשתמש של המערכת.
compose.material3.adaptiveאתם יכולים להשתמש בספרייה ההתאמה האישית של Material 3 כדי ליצור ממשקי משתמש מותאמים אישית שיתאימו את עצמם באופן אוטומטי בהתאם להגדרות החלון הנוכחיות, כמו סיווגים של גודל חלון או מצבי מכשירים. הספרייה מספקת גם הטמעות של תבניות ברירת מחדל וגם אבני בניין נדרשות ליצירת חוויות משלכם בהתאמה אישית.
compose.runtimeאבני בניין בסיסיות של מודל התכנות ושל ניהול המצב ב-Compose, וזמן ריצה ליבה שאליו פונה הפלאגין של Compose Compiler.
compose.uiרכיבים בסיסיים של ממשק המשתמש של Compose שנדרשים כדי לקיים אינטראקציה עם המכשיר, כולל פריסה, ציור והזנה.
concurrentהעברת משימות מהשרשור הראשי באמצעות פונקציות רפיטיביות (coroutines) ושימוש ב-ListenableFuture.
constraintlayoutמיקום וגודל של ווידג'טים באופן גמיש באמצעות מיקום יחסי.
contentpagerטעינה של נתוני ContentProvider וחיפוש דפים בשרשור ברקע.
coordinatorlayoutמיקום ווידג'טים של אפליקציות ברמה העליונה, כמו AppBarLayout ו-FloatingActionButton.
coreטירגוט לתכונות ולממשקי ה-API העדכניים ביותר בפלטפורמה, תוך תמיכה במכשירים ישנים יותר.
core.uwbהטמעת UWB (Ultra Wideband) במכשירים נתמכים.
פרטי כניסה הספרייה הזו מספקת גישה מאוחדת לפרטי הכניסה של משתמש. הנתונים האלה יכולים לכלול סיסמאות, מפתחות גישה ופרטי כניסה מאוחדים. צריך להשתמש בספרייה הזו כדי לספק חוויות כניסה חלקות ומאובטחות.
credentials.registryכדי לפתור את הבעיות האלה, אנחנו מוסיפים מנגנון רישום חדש שמאפשר לאפליקציה לספק פרטי כניסה דיגיטליים באופן שמגן על הפרטיות. באופן כללי, אפליקציית הספק תירשם מראש את כל פרטי הכניסה הדיגיטליים האפשריים שלה ב-Credential Manager. כש-Credential Manager יקבל בקשה מאפליקציה לפרטי כניסה דיגיטליים ספציפיים, הוא יפעיל את התאמת פרטי הכניסה ואת ממשק המשתמש לבחירת משתמשים בארגז חול.
cursoradapterחשיפת נתוני הסמן לווידג'ט ListView.
customviewהטמעת תצוגות בהתאמה אישית.
datastoreאחסון נתונים באופן אסינכרוני, עקבי ועסקאותי, תוך פתרון חלק מהחסרונות של SharedPreferences
documentfileהצגת מסמך של קובץ.
draganddropלאפשר גרירה ושחרור של נתונים מאפליקציה אחרת או בתוך האפליקציה, ולהציג סממן עקבי למקום שבו אפשר לשחרר את הנתונים.
drawerlayoutהטמעת ווידג'ט של תיבה נפתחת בעיצוב Material.
dynamicanimationיצירת אנימציות חלקות באמצעות ממשק API ליצירת אנימציות שמבוסס על פיזיקה.
אמוג'יהצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר.
emoji2הצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר.
enterpriseיצירת אפליקציות שמוכנות לשימוש בארגון.
exifinterfaceקריאה וכתיבה של תגי EXIF בקובצי תמונות.
gamesשימוש ב-Android Game SDK באופן מקורי באפליקציה כדי לבצע משימות מורכבות במשחקים, כמו Frame Pacing.
בקצרהפיתוח פריסות למשטחים מרוחקים באמצעות ממשק API בסגנון Jetpack Compose.
graphicsניצול היכולות הגרפיות במספר גרסאות של פלטפורמת Android
gridlayoutהטמעת פריסת רשת.
healthיצירת אפליקציות בריאות בעלות ביצועים טובים באופן בלתי תלוי בפלטפורמה.
health.connectמאפשרת למפתחים לקרוא או לכתוב את רשומות הבריאות והכושר של המשתמשים.
heifwriterקידוד תמונה או אוסף תמונות בפורמט HEIF באמצעות הקודקים הזמינים במכשיר Android.
inkמעוררים השראה לאפליקציות עט מהשורה הראשונה. הפחתת חסמי הכניסה למפתחים כדי שיוכלו ליצור חוויות כתיבה יפהפיות עם ביצועים גבוהים.
inputצמצום זמן האחזור של אינטראקציות הקלט על ידי חיזוי אירועי MotionEvents עתידיים
interpolatorשימוש באינטרפולטורים של אנימציה בפלטפורמות ישנות יותר.
javascriptengineמפעילים את האפשרות של אפליקציית Android להעריך JavaScript.
jetifierכלי עצמאי להעברת יחסי התלות של ספרייה בספריית התמיכה הקודמת ליחסי תלות מקבילים ב-AndroidX.
leanbackבמקום הארטיפקט הזה, צריך להשתמש ב-Compose for TV.
legacyפריט המידע הזה שנוצר בתהליך פיתוח (Artifact) והכיתות שלו הוצאו משימוש. החל מגרסה 8 של Android, ההגבלות על בדיקת הרקע הופכות את הסיווג הזה ללא שימושי.
lintבדיקות Lint לאימות השימוש בממשקי ה-API של Gradle
loaderטעינת נתונים לממשק המשתמש ששרודים שינויים בהגדרות.
localbroadcastmanagerפריט המידע הזה שנוצר בתהליך פיתוח (Artifact) והכיתות שלו הוצאו משימוש. במקום זאת, כדאי להשתמש ב-LiveData או ב-reactive streams.
mediaלשתף תוכן מדיה ואמצעי בקרה עם אפליקציות אחרות. הוחלפה על ידי media2.
media2לשתף תוכן מדיה ואמצעי בקרה עם אפליקציות אחרות.
media3 *ספריות תמיכה לתרחישי שימוש של מדיה.
mediarouterהפעלת הצגה והפעלה של מדיה במכשירי מקלט מרוחקים באמצעות ממשק משתמש משותף.
multidexפריסת אפליקציות עם כמה קובצי dex במכשירים עם גרסת Android 5 ומטה.
metricsמעקב אחרי מדדי זמן ריצה שונים של האפליקציה ודיווח עליהם
paletteחילוץ של לוחות צבעים מייצגים מתמונות.
pdfספרייה להוספת יכולות צפייה בקבצים מסוג PDF באפליקציות.
percentlayoutפריט המידע הזה שנוצר בתהליך פיתוח (Artifact) והכיתות שלו הוצאו משימוש. במקום זאת, כדאי להשתמש ב-ConstraintLayout ובפריסות המשויכות.
preferenceפיתוח מסכי הגדרות אינטראקטיביים בלי צורך באינטראקציה עם נפח האחסון במכשיר או בניהול ממשק המשתמש.
printהדפסת תמונות, מסמכים ותמונות וגרפיקה אחרים מהאפליקציה.
privacysandbox.activityTODO
privacysandbox.adsהספרייה הזו מאפשרת שילוב עם ממשקי API לשמירה על הפרטיות, שהם חלק מארגז החול לפרטיות ב-Android.
privacysandbox.pluginsAndroid Privacy Sandbox Sdk Library Gradle Plugin
privacysandbox.sdkruntimeהספרייה הזו מספקת רכיבים לצרכנים מודעים ל-SdkRuntime
privacysandbox.toolsספרייה לשימוש בפונקציונליות של ארגז החול לפרטיות ב-Android
privacysandbox.uiTODO
profileinstallerמאפשרת לספריות לאכלס מראש את עקבות ה-compilation ש-ART יקרא.
recommendationקידום תוכן במסך הבית של Android TV Launcher.
recyclerviewהצגת קבוצות גדולות של נתונים בממשק המשתמש תוך צמצום השימוש בזיכרון.
remotecallbackיוצרים מעטפת שתעזור למפתחים לספק בקלות PendingIntent.
resourceinspectionהצגת המאפיינים של תצוגות בהתאמה אישית בכלי לבדיקת הפריסה בזמן אמת של Android Studio.
savedstateכותבים רכיבים נשלפים ששומרים את מצב ממשק המשתמש כשתהליך מסוים מסתיים, ומשחזרים אותו כשהתהליך מופעל מחדש.
אבטחהניהול בטוח של מפתחות והצפנה של קבצים והעדפות משותפות.
sharetargetתאימות לאחור לשימוש במקשי קיצור כיעדים לשיתוף ישיר.
sliceהצגת רכיבי ממשק משתמש לפי תבנית מחוץ לאפליקציה.
slidingpanelayoutהטמעת תבנית של ממשק משתמש עם חלונית הזזה.
startupהטמעה של דרך פשוטה ויעילה לאינטוליזיציה של רכיבים בזמן ההפעלה של האפליקציה.
sqliteעבודה עם מסדי נתונים מקומיים של SQLite. אם אפשר, כדאי להשתמש ב-Room במקום ב-Meet.
swiperefreshlayoutהטמעת התבנית של ממשק המשתמש לסחיטה לרענון.
test.uiautomatorמסגרת לבדיקת ממשק משתמש פונקציונלי באפליקציות שונות
textclassifierזיהוי שיחות, קישורים, בחירות ומבנים דומים אחרים בטקסט.
מעקבכתיבת אירועי מעקב למאגר המעקב של המערכת.
transitionאנימציה של תנועה בממשק המשתמש באמצעות פריסות התחלה וסיום.
tvמאפשר למפתחים להשתמש בפונקציות של Compose ו-Material Design כדי לכתוב אפליקציות לטלוויזיה
tvproviderלספק ערוצים ל-Android TV.
vectordrawableעיבוד גרפיקה וקטורית.
versionedparcelableפורמט יצירת סדרות (serialization) בינארי יציב וקומפקטי שאפשר להעביר בין תהליכים או לשמור בבטחה.
viewpagerהצגת תצוגות או קטעים בפורמט שניתן להחליק. אם אפשר, כדאי להשתמש ב-viewpager2 במקום ב-viewpager.
viewpager2הצגת תצוגות או קטעים בפורמט שניתן להחליק.
wearיצירת אפליקציות לשעונים חכמים של Wear OS by Google.
wear.composeכותבים אפליקציות Jetpack Compose למכשירי Wearable על ידי מתן פונקציונליות שתומכת במכשירים ספציפיים ללבישה, בגדלים, בצורות ובתנועות ניווט ספציפיות למכשירים כאלה.
wear.protolayoutהספרייה הזו מאפשרת להגדיר קבוצה של פריסות ממשק משתמש וביטויים שאינם ממשק משתמש לצורך רינדור או הערכה במשטחים מרוחקים.
wear.tilesיצירת אפליקציות לשעונים חכמים של Wear OS by Google.
wear.watchfaceיצירת אפליקציות לשעונים חכמים של Wear OS by Google.
webkitעבודה עם ממשקי WebView API מודרניים ב-Android מגרסה 5 ואילך.
windowעוזרת לתמוך בגורמי צורה שונים של מכשירים, כמו מכשירים מתקפלים.
window.extensions.coreממשקי ה-API של הליבה להרחבות של ספריית מנהל החלונות
כתיבה באוגוסט 2023
הגרסה של Jetpack Compose 1.5.0 עוברת ליציבות ומביאה לשיפורים משמעותיים בביצועים, כולל ארגון מחדש (Refactoring) של כלים ברמה גבוהה כמו 'Clickable' [קליקבילי] שיכול לקצר את זמן היצירה ב-80%. ב-Compose מ-23 באוגוסט יש גם שיפור של עד 70% בהקצאת הזיכרון (במיוחד ב-stack הגרפיקה), שיפחית את טביעת הרגל של Compose במכשירים
Wear Compose וכרטיסי מידע 1.2
גם Wear Compose וגם Wear Tiles עברו למצב יציב כדי לשפר את חוויית המפתחים של Wear OS. שתיהן משלימות אחת את השנייה, ואפשר להשתמש ב-Wear Compose כדי ליצור מסכי אפליקציה מורכבים במכשירי Wear, ואפשר להשתמש בכרטיסי המידע ב-Wear כדי ליצור את משבצות האפליקציה. הגרסה החדשה של Wear Compose כוללת פונקציות חדשות, כמו 'פריטים שניתנים להרחבה' ו'החלקה לפתיחה'. גרסת כרטיסי המידע ב-Wear תומכת גם באנימציה של ווידג'ט ובקישור נתוני הפלטפורמה (כמו מקור הנתונים לגבי בריאות).
חלון 1.1
1.1 מייצב ממשקי API של הטמעת פעילויות, ומאפשר לאפליקציות כמו WhatsApp, eBay ו-Temu לשלוח פריסות של מסכים גדולים. ה-API מציע תכונות נוספות, כי הוא מאפשר למפתחים לשנות התנהגות של מסך מפוצל, לבדוק (ולשנות) את מצב המפוצל בזמן הריצה, להטמיע פיצולים אופקיים ולהתחיל חלון מלא בחלון מלא.
נתוני גרסה
למידע נוסף, כדאי לעיין בנתוני הגרסה שלנו.

איך משתמשים ב-Jetpack

לומדים על ספריות Jetpack החיוניות בקורס 'יסודות Android' עם 'כתיבה' ומצמצמים את התבניות הסטנדרטיות באפליקציה
התנסות מעשית עם שלוש ספריות Jetpack שמפשטות את שכבת הנתונים: LiveData, ViewModel ו- Room
מגלים איך משתמשים יחד בספריות Jetpack הכי פופולריות באפליקציה ברמת הייצור

חדשות וסרטונים