نشرتها ريبيكا فرانكس، مهندسة علاقات المطورين، ونيك بوتشر، مدير المنتج، ولورين هيرستون، مدير تسويق المنتجات، Android
نحتفل اليوم رسميًا بمرور خمس سنوات على إصدار Jetpack Compose 1.0. بدءًا من الإصدار 1.0، الذي تم الإعلان عنه في 28 يوليو 2021، وحتى الإصدار 1.11 الأحدث لدينا، شهدنا تطورًا ملحوظًا في واجهات برمجة التطبيقات على مر السنين، ونحن نتوقف لحظة للاحتفال.
عندما أعلنا رسميًا عن الإصدار 1.0، وعدنا بطريقة أبسط وأسرع وأكثر سهولة لإنشاء واجهات أصلية على Android. إذا نظرنا إلى الوراء، فمن الآمن أن نقول إن Compose لم يفي بهذا الوعد فحسب، بل غيّر أيضًا نظام Android البيئي تمامًا، حيث يستخدمه أكثر من 68٪ من أفضل 1000 تطبيق في الإنتاج اليوم.
على مدى السنوات الخمس الماضية، نمت Compose بشكل مطرد. في الأيام الأولى، اكتشفنا كيفية إنشاء تخطيطات باستخدام المربع والصف والعمود الأساسيين. اليوم، قمنا بتوسيع ميزة Compose لتعمل ليس فقط على الأجهزة المحمولة، ولكن لتشمل عوامل الشكل الأخرى مثل Compose for TV، وWearOS، وGlance for Widgets، وحتى نظارات العرض باستخدام Jetpack Compose Glimmer.
لقد سجلنا حلقة Android Developers Backstage مع كلارا باياري، قائدة الهندسة في Jetpack، واثنين من قادة الفريق السابقين، هما Romain Guy وChet Haase، إلى جانب Tor Norbye، كبير مديري الهندسة. في هذه الحلقة، يناقشون تاريخ Compose والأيام الأولى للتطوير.
يؤلف أبرز على مر السنين
إذا نظرنا إلى الوراء
كانت بدايات Compose مختلفة تمامًا عما تعرفه اليوم. تم تنفيذ مشروعين بالتوازي داخل فريق Android.
في ذلك الوقت، كان فريق أدوات طرق العرض يفكر في تفكيك مجموعة أدوات واجهة المستخدم إلى مكتبة للمساعدة في سرعة التطوير، وتسهيل اعتماد التحديثات والتحكم فيها على المطورين. في هذه الأثناء، كان الفريق يعمل على فكرة جديدة لبناء تخطيطات تعريفية عن طريق تضمين XML داخل Kotlin، والتي تبدو كما يلي:

تم دمج هذين الجهدين لإنتاج ما تعرفه اليوم – مجموعة أدوات واجهة المستخدم التعريفية بالكامل التي تستخدم قوة البرنامج الإضافي للمترجم ووقت التشغيل وKotlin:
@Composable
fun Newsfeed(stories: List<Story>) {
LazyColumn {
items(stories) { story ->
Card {
val author = story.author
Image(painterResource(author.profilePhoto),
contentDescription = author.name)
Text(author.name)
Text(story.content)
if (story.hasCommentsEnabled()) {
for(comment in story.comments) {
Text(comment.mainContent)
}
}
}
}
}
}
وقد ساعدتنا، أيها المجتمع، في وقت مبكر جدًا! قبل عام 2021، كانت Compose تمر بمرحلة ما قبل ألفا، مما ساعد على التأكد من أن Compose مناسب لحل مشكلات المطورين لدينا.
إحدى ذكرياتنا المفضلة هي تحدي Android Dev. لقد تحدينا المجتمع لإنشاء أربع مهام مختلفة باستخدام Compose، وملء خلاصاتنا بتطبيقات Puppy والساعات وتطبيقات الطقس، وتزويدنا بالكثير من التعليقات المباشرة التي ساعدت في تشكيل الإصدار 1.0.
استمر Compose في التطور، بدءًا من الإطلاق باستخدام مجموعة من مكونات Material 2 وحتى دعم Material 3 Expressive الآن.

المادة 2 في التأليف
المادة 3 معبرة في التأليفنتطلع إلى الأمام
اعتبارًا من اليوم، يعد Compose 1.11 هو الإصدار الأحدث، وسيتوفر 1.12 قريبًا، ويقدم أكثر بكثير من 1.0 قبل 5 سنوات. لقد قدمنا هذا العام واجهات برمجة تطبيقات أكثر تكيفًا، مثل FlexBox, Grid, MediaQuery، والأنماط. تتيح لك واجهات برمجة التطبيقات هذه التقدم إلى المستوى التالي من تطوير واجهة المستخدم المتميزة والقابلة للتكيف باستخدام Compose.
في Google I/O 2026، أعلنا أننا الآن نمنح الأولوية للإنشاء أولاً، مما يعني أن كل عمليات تطوير واجهة المستخدم المستقبلية ستحدث فقط في الإنشاء، بينما تدخل مجموعة أدوات طرق العرض في وضع الصيانة. يعمل التصميم متعدد الأبعاد أيضًا على تحويل التركيز بالكامل إلى الإنشاء، مما يشير إلى نهاية findViewById era.
المجتمع هو جوهر الإنشاء
على مر السنين، ألهمتنا بأمثلة إبداعية حول كيفية استخدامك للإنشاء، ونود أن نسلط الضوء على بعض الأمثلة الإضافية التي شاهدنا فيها أعمالًا مثيرة. لقد كانت Jetbrains شريكًا رائعًا لـ Google مع Compose، حيث قامت بتوسيع Compose للعمل عبر الأنظمة الأساسية باستخدام Compose Multiplatform وتمكين مطوري سطح المكتب وiOS والويب من الاستمتاع أيضًا بمزايا Compose.
لقد استمتعنا حقًا بمتابعة نشراتنا الإخبارية المفضلة بدءًا من Dispatch’s JetpackCompose.app وAndroidWeekly وjetc – مما يساعد مطوري Android على البقاء على اطلاع بأحدث ما في عالم Compose وAndroid.
مساهم بارز آخر هو سيناساماكي. لقد قاموا بإنشاء العديد من التجارب المبهجة باستخدام Compose، مثل معدّل الشريط الممتع هذا والتأثير الجذاب:
.gif)

لقد كان Saket Narayan أيضًا مصدر إلهام دائمًا عندما يتعلق الأمر بإنشاء أدوات مفيدة للإنشاء، مثل المقربة، وهي مكتبة تتميز بدعم إيماءات التحريك والتكبير/التصغير وأخذ عينات فرعية تلقائية من الصور الكبيرة، أو أحدث مكتبة، Touch Robot، والتي تسمح لك باختبار الرسوم المتحركة التفاعلية بسهولة:
|
|
جيك وارتون، الذي استخدم Compose بطرق مبتكرة (مثل الجزيء، وحتى بناء واجهة مستخدم باستخدام Compose للمحطة باستخدام الفسيفساء). كريس بانيس، الذي قام ببناء العديد من مكتبات Compose على مر السنين، مع أحدث مكتبات المفضلة لدينا – Haze لتعتيم الخلفية، والعديد من خبراء مطوري Google لنظام التشغيل Android مثل Akshay Chordiya، وHuyen Tue Dao، وKatie Barnett، الذين ساهموا في نجاح Compose. ولكن الأمر لا يتعلق باختيار الأفراد – فقد كان هناك الكثير من المساهمين العظماء في قاعدة بيانات Compose، ويستمر الكثير منكم في إلهامنا بأمثلتكم الممتعة ومكتباتكم ومحادثاتكم المتعمقة. بدون المجتمع، لن يكون Jetpack Compose ناجحًا كما هو اليوم.
هتاف للسنوات الخمس المقبلة، وأكثر!
تطورت Jetpack Compose من فكرة تجريبية إلى معيار لتطوير واجهة مستخدم Android. شكرًا لفريق Toolkit بأكمله في Google، ولمجتمع المطورين العالمي الرائع الذي كتب المكتبات، وسجل الأخطاء، وتجاوز حدود ما يمكن أن تفعله واجهة المستخدم التعريفية.
سنحتفل هذا الأسبوع من خلال بعض حفلات أعياد الميلاد الشخصية في جميع أنحاء العالم، و”حفلة عيد ميلاد” مباشرة على قناة Android Developers على YouTube يوم 30 يوليو الساعة 13:00 بالتوقيت العالمي المنسق. خلال هذا الوقت، سنجلس معًا ونناقش كيفية الكتابة والإجابة على أسئلتك!
تحياتي للسنوات الخمس القادمة، وتأليف سعيد!


