Android Jetpack
Jetpack هي مجموعة من المكتبات لمساعدة المطوّرين على اتّباع أفضل الممارسات وتقليل الرموز النموذجية وكتابة الرموز البرمجية التي تعمل بشكل متّسق على جميع إصدارات Android والأجهزة حتى يتمكّن المطوّرون من التركيز على الرمز البرمجي الذي يهمهم.
Jetpack Compose
تطوير واجهة المستخدم باستخدام Compose
مجموعة أدوات حديثة لإنشاء واجهة مستخدم أصلية تمكّنك من تبسيط عملية تطوير واجهة المستخدم على Android وتسريعها.
التعرّف على كيفية استخدام Jetpack
الدورة التدريبية الخاصة بالأساسيات
تعلَّم مكتبات Jetpack الأساسية في دورة Android Basics (أساسيات Android) من خلال الدورة التدريبية Compose وقلِّل النصوص النموذجية في تطبيقك.
برنامج تعليمي عملي
احصل على تجربة عملية من خلال ثلاث مكتبات Jetpack تبسّط طبقة بياناتك: LiveData وViewModel وroom
الآن في نموذج تطبيق Android
استكشاف كيفية تطبيق بنية Android الحديثة في تطبيق واقعي
مكتبات Jetpack استكشاف جميع المكتبات
* يتم إدراج المكتبات الرائجة والمستخدَمة كثيرًا أولاً.
activity * | الوصول إلى واجهات برمجة التطبيقات القابلة للتجميع والمُنشأة على "نشاطك على Google" |
appcompat * | يتيح الوصول إلى واجهات برمجة تطبيقات جديدة على إصدارات قديمة من واجهات برمجة التطبيقات للنظام الأساسي (العديد منها يستخدم Material Design). |
appsearch * | يمكنك إنشاء إمكانات بحث مخصّصة داخل التطبيق للمستخدمين. |
الكاميرا * | إنشاء تطبيقات كاميرا للأجهزة الجوّالة |
إنشاء * | يمكنك تحديد واجهة المستخدم آليًا باستخدام دوال قابلة للتجميع تصف شكلها وتبعيات البيانات. |
databinding * | ربط مكوّنات واجهة المستخدم في تنسيقات الشاشة بمصادر البيانات في تطبيقك باستخدام تنسيق تعريفي |
المقاطع * | يمكنك تقسيم تطبيقك إلى شاشات متعددة مستقلة يتم استضافتها ضمن نشاط. |
مقبض * | توسيع وظائف Dagger Hilt لتفعيل حقن الاعتماد لفئات معيّنة من مكتبات androidx |
lifecycle * | أنشئ مكوّنات تراعي دورة الحياة ويمكنها تعديل السلوك استنادًا إلى حالة دورة الحياة الحالية لنشاط أو جزء. |
مكوّنات تصميم المواد * | مكونات واجهة مستخدم قابلة للتخصيص وقابلة للتجميع من أسلوب Material Design لنظام التشغيل Android |
navigation * | إنشاء واجهة المستخدم داخل التطبيق وتنظيمها، ومعالجة الروابط لصفحات معيّنة في التطبيق، والتنقّل بين الشاشات |
الفهرسة * | تحميل البيانات في صفحات وعرضها في RecyclerView |
غرفة * | إنشاء البيانات الثابتة وتخزينها وإدارتها باستخدام قاعدة بيانات SQLite |
test * | الاختبار في Android |
work * | جدولة المهام التي يمكن تأجيلها والمستندة إلى قيود وتنفيذها في الخلفية |
ads | الحصول على معرِّف إعلاني باستخدام "خدمات Play" أو بدونها |
تعليق توضيحي | عرض البيانات الوصفية التي تساعد الأدوات والمطوّرين الآخرين في فهم رمز تطبيقك البرمجي |
arch.core | مساعد لعناصر الاعتماد الأخرى في البنية الأساسية، بما في ذلك قواعد اختبار JUnit التي يمكن استخدامها مع LiveData |
asynclayoutinflater | يجب تضخيم التنسيقات بشكل غير متزامن لتجنُّب حدوث تقطُّع في واجهة المستخدم. |
الملء التلقائي | تحسين دقة الملء التلقائي من خلال توسيع نطاق التلميح |
مقاييس الأداء | قياس أداء الرمز البرمجي بدقة في "استوديو Android" |
السمات الحيوية | المصادقة باستخدام المقاييس الحيوية أو بيانات اعتماد الجهاز وتنفيذ العمليات التشفيرية |
البلوتوث | استخدام ميزات البلوتوث في نظام التشغيل Android مع واجهات برمجة تطبيقات متوافقة مع الإصدارات القديمة |
المتصفّح | عرض صفحات الويب في المتصفّح التلقائي للمستخدم |
camera.viewfinder | شاشة عرض مستقلة قابلة للتركيب والعرض المستند إلى الكاميرا |
car-app | إنشاء تطبيقات مستندة إلى نماذج لنظامَي التشغيل Android Auto وAndroid Automotive |
cardview | طبِّق نمط بطاقة تصميم المواد باستخدام زوايا مستديرة وتأثيرات ظلّية. |
مجموعة | تقليل تأثير الذاكرة للمجموعات الصغيرة الحالية والجديدة |
compose.animation | إنشاء صور متحركة في تطبيقات Jetpack Compose لتحسين تجربة المستخدم |
compose.compiler | حوِّل وظائف @Composable وفعِّل التحسينات باستخدام مكوّن إضافي لمجمّع Kotlin. |
compose.foundation | يمكنك كتابة تطبيقات Jetpack Compose باستخدام وحدات أساسية جاهزة للاستخدام وتوسيع الأساس لإنشاء أجزاء نظام التصميم الخاص بك. |
compose.material | أنشئ واجهات مستخدم Jetpack Compose باستخدام مكونات Material Design الجاهزة للاستخدام. هذه هي نقطة الدخول ذات المستوى الأعلى في أداة "الإنشاء"، وهي مصمّمة لتوفير مكوّنات تتطابق مع تلك الموضّحة على 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 | المكونات الأساسية لواجهة مستخدم إنشاء الرسائل اللازمة للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال |
متزامنة | نقل المهام خارج سلسلة المحادثات الرئيسية باستخدام وظائف التشغيل المتزامنة والاستفادة من ListenableFuture |
constraintlayout | يمكنك وضع التطبيقات المصغّرة وضبط حجمها بطريقة مرنة باستخدام الوضع النسبي. |
contentpager | تحميل بيانات ContentProvider وتصفّحها في سلسلة مهام في الخلفية |
coordinatorlayout | حدِّد موضع التطبيقات المصغّرة ذات المستوى الأعلى، مثل AppBarLayout وFloatingActionButton. |
core | استهدِف أحدث ميزات المنصة وواجهات برمجة التطبيقات مع توفير التوافق مع الأجهزة القديمة أيضًا. |
core.uwb | استخدام تقنية النطاق الفائق العرض (UWB) على الأجهزة المتوافقة |
بيانات الاعتماد | توفّر هذه المكتبة إمكانية وصول موحّدة إلى بيانات اعتماد المستخدم. ويمكن أن يشمل ذلك كلمات المرور ومفاتيح المرور وبيانات الاعتماد المُدمَجة. يجب استخدام هذه المكتبة لتوفير تجارب تسجيل دخول سلسة وآمنة. |
credentials.registry | لحلّ هذه المشاكل، نعمل على إضافة آلية تسجيل جديدة تتيح للتطبيق تقديم بيانات اعتماد رقمية بطريقة تحافظ على الخصوصية. على مستوى عالٍ، سيُسجِّل تطبيق الموفِّر مسبقًا جميع بيانات الاعتماد الرقمية المُرشَّحة باستخدام "مدير بيانات الاعتماد". وعندما يتلقّى "مدير بيانات الاعتماد" طلبًا من أحد التطبيقات للحصول على بيانات اعتماد رقمية معيّنة، سيشغِّل واجهة مستخدم مطابقة بيانات الاعتماد واختيار المستخدم في بيئة اختبار. |
cursoradapter | عرِض بيانات Cursor في تطبيق مصغّر من نوع ListView. |
customview | تنفيذ طرق العرض المخصّصة |
datastore | تخزين البيانات بشكل غير متزامن ومتسق ومرتبط بالمعاملات، ما يحلّ بعض مشاكل SharedPreferences |
documentfile | عرض مستند ملف |
draganddrop | قبول سحب البيانات وإفلاتها من تطبيق آخر أو داخل تطبيق، وعرض عنصر تحكم ملائم للإفلات بشكل ثابت |
drawerlayout | تنفيذ تطبيق مصغّر لدرج التصميم المتعدد الأبعاد |
dynamicanimation | إنشاء صور متحركة سلسة باستخدام واجهة برمجة تطبيقات للصور المتحركة تستند إلى قوانين الفيزياء |
الرموز التعبيرية | عرض رموز الإيموجي في الأجهزة الحالية والقديمة |
emoji2 | عرض رموز الإيموجي في الأجهزة الحالية والقديمة |
enterprise | إنشاء تطبيقات متوافقة مع المؤسسات |
exifinterface | قراءة علامات EXIF لملفات الصور وكتابتها |
الألعاب | استخدِم حزمة تطوير البرامج (SDK) لألعاب Android بشكلٍ أصلي في تطبيقك لتنفيذ مهام الألعاب المعقدة، مثل "معدّل عرض اللقطات". |
نظرة سريعة | إنشاء تصاميم للمساحات البعيدة باستخدام واجهة برمجة تطبيقات بأسلوب Jetpack Compose |
الرسومات | الاستفادة من مرافق الرسومات على مستوى إصدارات متعددة من نظام Android الأساسي |
gridlayout | طبِّق تنسيق شبكة. |
health | إنشاء تطبيقات صحية عالية الأداء بطريقة لا تعتمد على المنصة |
health.connect | يتيح هذا الإذن للمطوّرين قراءة سجلّات الصحة واللياقة البدنية للمستخدم أو كتابتها. |
heifwriter | يمكنك ترميز صورة أو مجموعة صور بتنسيق HEIF باستخدام برامج الترميز المتاحة على جهاز Android. |
ink | استلهام تطبيقات القلم الأفضل من نوعها خفض متطلبات المطوّرين للاستفادة من تجارب الكتابة اليدوية العالية الأداء والجميلة |
إدخال | تقليل وقت استجابة تفاعلات الإدخال من خلال توقّع أحداث MotionEvents المستقبلية |
المُشفِّر | استخدام أدوات الاستبدال في الرسوم المتحركة على المنصات القديمة |
javascriptengine | فعِّل تطبيق Android لتقييم JavaScript. |
jetifier | أداة مستقلة تنقل العناصر التابعة للمكتبة من مكتبة الدعم المتوقّفة نهائيًا إلى العناصر التابعة لنظام AndroidX المعادل لها. |
leanback | استخدِم ميزة "إنشاء" للتلفزيون بدلاً من هذا العنصر. |
قديمة | تم إيقاف هذا العنصر وفئاته نهائيًا. اعتبارًا من Android 8، تجعل القيود المفروضة على عمليات التحقّق من الخلفية هذه الفئة غير مفيدة. |
lint | عمليات التحقّق من Lint للتأكّد من استخدام واجهات برمجة تطبيقات Gradle |
أداة التحميل | تحميل بيانات واجهة المستخدم التي لا تتأثر بتغييرات الإعدادات |
localbroadcastmanager | تم إيقاف هذا العنصر وفئاته نهائيًا. استخدِم LiveData أو أحداث البث التفاعلي بدلاً من ذلك. |
media | مشاركة محتوى الوسائط وعناصر التحكّم فيه مع تطبيقات أخرى تم استبداله بـ media2. |
media2 | مشاركة محتوى الوسائط وعناصر التحكّم فيه مع تطبيقات أخرى |
media3 * | توفّر المكتبات لحالات استخدام الوسائط |
mediarouter | تفعيل عرض الوسائط وتشغيلها على أجهزة الاستقبال عن بُعد باستخدام واجهة مستخدم شائعة |
multidex | نشر التطبيقات التي تتضمّن عدة ملفات dex على الأجهزة التي تعمل بإصدار أقدم من Android 5 |
المقاييس | تتبُّع مقاييس وقت التشغيل المختلفة لتطبيقك والإبلاغ عنها |
palette | استخراج لوحات ألوان تمثيلية من الصور |
مكتبة لإضافة إمكانات عرض ملفات pdf داخل التطبيقات | |
percentlayout | تم إيقاف هذا العنصر وفئاته نهائيًا. استخدِم ConstraintLayout والتنسيقات المرتبطة به بدلاً من ذلك. |
preference | يمكنك إنشاء شاشات إعدادات تفاعلية بدون الحاجة إلى التفاعل مع مساحة تخزين الجهاز أو إدارة واجهة المستخدم. |
طباعة الصور والمستندات والرسومات والصور الأخرى من تطبيقك | |
privacysandbox.activity | TODO |
privacysandbox.ads | تتيح هذه المكتبة الدمج مع واجهات برمجة التطبيقات المخصّصة للحفاظ على الخصوصية، والتي تشكّل جزءًا من "مبادرة حماية الخصوصية" على Android. |
privacysandbox.plugins | مكوّن إضافي لنظام Gradle في مكتبة حزمة تطوير البرامج (SDK) لـ "مبادرة حماية الخصوصية" على Android |
privacysandbox.sdkruntime | توفّر هذه المكتبة مكوّنات للمستهلكين المدرِكين لواجهة SdkRuntime. |
privacysandbox.tools | مكتبة لاستخدام وظائف "مبادرة حماية الخصوصية" في Android |
privacysandbox.ui | TODO |
profileinstaller | يتيح هذا الخيار للمكتبات تعبئة عمليات التجميع مسبقًا لتتم قراءتها من خلال ART. |
اقتراح | الترويج للمحتوى على الشاشة الرئيسية لتطبيق Android TV Launcher |
recyclerview | عرض مجموعات كبيرة من البيانات في واجهة المستخدم مع تقليل استخدام الذاكرة إلى الحد الأدنى |
remotecallback | أنشئ حزمة خارجية تسهّل على المطوّرين تقديم PendingIntent. |
resourceinspection | عرض سمات العروض المخصّصة في "أداة فحص التنسيق المباشر" في Android Studio |
savedstate | اكتب مكوّنات قابلة للتوصيل تحفظ حالة واجهة المستخدم عند إيقاف عملية ما، وتستعيدها عند إعادة تشغيل العملية. |
الأمان | إدارة المفاتيح بأمان وتشفير الملفات وsharedpreferences |
sharetarget | توفير التوافق مع الإصدارات القديمة لاستخدام الاختصارات كأهداف مشاركة مباشرة |
slice | عرض عناصر واجهة مستنِدة إلى نموذج خارج تطبيقك |
slidingpanelayout | نفِّذ نمط واجهة مستخدم للوحة منزلقة. |
البدء | نفِّذ طريقة مباشرة وعالية الأداء لإعداد المكوّنات عند بدء تشغيل التطبيق. |
sqlite | العمل مع قواعد بيانات SQLite المحلية استخدِم Room بدلاً من ذلك، إن أمكن. |
swiperefreshlayout | نفِّذ نمط واجهة المستخدم "السحب لإعادة التحميل". |
test.uiautomator | إطار عمل لاختبار واجهة المستخدم الوظيفية على مستوى جميع التطبيقات |
textclassifier | لتحديد المحادثات والروابط والاختيارات وغيرها من العناصر المشابهة في النص |
التتبّع | كتابة أحداث التتبُّع في ذاكرة التخزين المؤقت لتتبُّع النظام |
transition | أضِف حركة متحركة في واجهة المستخدم باستخدام التنسيقات الأساسية والنهائية. |
tv | يوفّر للمطوّرين وظائف Compose وMaterial Design من أجل كتابة تطبيقات للتلفزيون |
tvprovider | توفير قنوات Android TV |
vectordrawable | عرض الرسومات المتّجهة |
versionedparcelable | يوفّر تنسيقًا ثابتًا ومكثّفًا لتسلسل البيانات الثنائية يمكن تمريره عبر العمليات أو الاحتفاظ به بأمان. |
viewpager | عرض المشاهدات أو الأجزاء بتنسيق قابل للتمرير السريع استخدِم ViewPager2 بدلاً من ذلك إن أمكن. |
viewpager2 | عرض المشاهدات أو الأجزاء بتنسيق قابل للتمرير السريع |
wear | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
wear.compose | يمكنك كتابة تطبيقات Jetpack Compose للأجهزة القابلة للارتداء من خلال توفير وظائف تتيح استخدام الأجهزة والأشكال والحركات المتعلّقة بالتنقّل الخاصة بالأجهزة القابلة للارتداء. |
wear.protolayout | تسمح هذه المكتبة بتحديد مجموعة من تنسيقات واجهة المستخدم وتعبيرات غير واجهة المستخدم لعرضها أو تقييمها على مساحات العرض البعيدة. |
wear.tiles | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
wear.watchface | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
webkit | العمل مع واجهات برمجة التطبيقات الحديثة لـ WebView على الإصدار 5 من نظام التشغيل Android والإصدارات الأحدث |
window | المساعدة في إتاحة أشكال الأجهزة المختلفة، مثل الأجهزة القابلة للطي |
window.extensions.core | واجهات برمجة التطبيقات الأساسية لإضافات مكتبة "مدير النوافذ" |
الجديد
- إنشاء شهر آب (أغسطس) 2023
- ينتقل الإصدار 1.5.0 من Jetpack Compose إلى الإصدار الثابت ويوفّر تحسينات كبيرة في الأداء، بما في ذلك إعادة ضبط عناصر التعديل عالية المستوى، مثل "قابلة للنقر"، والتي يمكنها تحسين وقت التركيب بنسبة %80. في إصدار آب (أغسطس) 2023، حقّق تطبيق "الإنشاء" أيضًا تحسُّنًا بنسبة تصل إلى %70 في تخصيص الذاكرة (خاصةً في حِزمة الرسومات)، ما سيقلّل من مساحة الذاكرة التي يشغلها تطبيق "الإنشاء" على الأجهزة .
- Wear Compose and Tiles 1.2
- تم نقل كل من Wear Compose وWear Tiles إلى القناة الثابتة لتحسين تجربة مطوّري أجهزة Wear OS. يتكامل كلاهما معًا، حيث يمكن استخدام Wear Compose لإنشاء شاشات تطبيقات معقّدة على أجهزة Wear، ويمكن استخدام مربّعات Wear لإنشاء مربّعات التطبيقات. يتضمّن إصدار Wear Compose الجديد وظائف جديدة، مثل العناصر القابلة للتوسيع والتمرير السريع لإظهارها. يوفّر إصدار شاشات Wear الآن الصور المتحركة في التطبيقات المصغّرة وربط بيانات النظام الأساسي (مثل مصدر البيانات الصحية).
- النافذة 1.1
- يستقرّ الإصدار 1.1 من واجهات برمجة التطبيقات الخاصة بتضمين الأنشطة، ما يسمح للتطبيقات، مثل WhatsApp وeBay وTemu، بطرح تنسيقات شاشات كبيرة. تتضمّن واجهة برمجة التطبيقات ميزات مميّزة، إذ تتيح للمطوّرين تعديل سلوك تقسيم الشاشة والتحقّق من حالة التقسيم (وتغييرها) أثناء التشغيل وتنفيذ عمليات تقسيم أفقي وبدء نافذة مشروطة في النافذة الكاملة.
- ملاحظات الإصدار
- لمزيد من المعلومات، يُرجى الانتقال إلى ملاحظات الإصدار.
لماذا يُنصح باستخدام Android Jetpack؟
اتّباع أفضل الممارسات
ويستند نظام "مكتبات Android Jetpack" إلى ممارسات التصميم الحديثة، ما يتيح تقليل الأعطال وتقليل التسرُّب في الذاكرة من خلال التوافق مع الأنظمة القديمة.
إزالة الرمز النموذجي
يدير Android Jetpack الأنشطة المملة، مثل المهام في الخلفية والتنقّل وإدارة مراحل النشاط، ما يتيح لك التركيز على ميزات تطبيقك الرائعة.
تقليل التجزئة
يمكنك تقليل درجة التعقيد من خلال المكتبات التي تعمل باستمرار على مختلف إصدارات Android والأجهزة.