تعيين إصدار التطبيق Application Versioning - كتاب هندسة البرمجيات - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تعيين إصدار التطبيق Application Versioning

📚 معلومات الصفحة

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: مبتدئ

📝 ملخص الصفحة

تتناول هذه الصفحة مفاهيم أساسية في تطوير تطبيقات الأندرويد باستخدام مخترع التطبيقات (MIT App Inventor). تبدأ بشرح أهمية تعيين الإصدار (Versioning) كخطوة أولى في حزم التطبيقات، حيث يتم استخدام رمز الإصدار (VersionCode) واسم الإصدار (VersionName) للتمييز بين الإصدارات المختلفة، مع توضيح القيم الافتراضية مثل 1 لـ VersionCode و1.0 لـ VersionName.

ثم تنتقل الصفحة إلى مناقشة مظهر التطبيق (Application Appearance)، مشيرة إلى ضرورة تقديم معلومات للمستخدم مثل اسم التطبيق ووصفه وشعاره، والتي يتم تحديدها في قسم الخصائص (Properties) من Screen1. تُظهر الجداول المرئية خصائص إصدار التطبيق ومظهره، مثل Icon وAppName.

أخيرًا، تتطرق الصفحة إلى حزم التطبيق (Application Packaging)، موضحة نوعين رئيسيين: تنسيق حزمة الأندرويد القياسية (APK) وحزم تطبيقات الأندرويد (AABs)، مع ذكر أن APK يمكن توزيعه من مواقع الويب أو متجر Google Play، بينما AABs مخصصة فقط لمتجر Google Play. تُبرز الصناديق المرئية امتدادات الملفات .apk و.aab لتوضيح هذه المفاهيم.

📄 النص الكامل للصفحة

--- SECTION: تعيين إصدار التطبيق Application Versioning --- تعيين إصدار التطبيق Application Versioning بغض النظر عن الطريقة التي تعتمدها في توزيع تطبيقك، فإن الخطوة الأولى في حزم تطبيقك هي تعيين الإصدار (Versioning). تحتاج التطبيقات إلى تنفيذ الإصلاحات والتحديثات بشكل مستمر، ولا يمكن لأي تطبيق أن يستمر بالعمل دون التطوير المستمر. من المعتاد أن يحتفظ التطبيق بالاسم نفسه، ولكن قد يتم خلال عملية التحديث إجراء تغييرات في واجهة المستخدم أو في بعض وظائف ذلك التطبيق. لذلك يجب أن تكون هناك طريقة للتمييز بين هذه التطبيقات. تعيين الإصدار (Versioning) هو استخدام رمز المعرف (Identifier Code) ليشير إلى إصدار التطبيق الذي يقوم المستخدم بتثبيته حاليًا، ويعد بمثابة الطريقة الأفضل للتمييز بين الإصدارات المختلفة له. في التطبيقات المخصصة لنظام أندرويد، يتم تحديد تعيين الإصدار بالخصائص التالية: • رمز الإصدار (VersionCode): رقم معرف افتراضي يبدأ بـ 1، وتتم زيادته في كل مرة تقوم فيها بإجراء تحديث جديد إلى متجر التطبيقات. • اسم الإصدار (VersionName): سلسلة يمكن تعيينها على أي قيمة، ويتم ضبطها افتراضيًا على الرقم "1.0"، وعند تنفيذ تحديث طفيف يصبح اسم الإصدار "1.1"، وعند تنفيذ تحديث رئيس على هذا التطبيق يصبح اسم الإصدار "2.0". عند العمل باستخدام مخترع التطبيقات (MIT App Inventor)، يتاح للمطور تعديل العديد من خصائص التطبيق بما في ذلك إصدارات التطبيق من قسم properties (الخصائص) من Screen1 (شاشة 1)، وهذا هو سبب عدم إمكانية حذف Screen1 (شاشة 1) من التطبيق. --- SECTION: مظهر التطبيق Application Appearance --- مظهر التطبيق Application Appearance يجب تقديم بعض المعلومات للمستخدم الذي يرغب بتنزيل تطبيقك من المتجر، وهي: • اسم التطبيق (Application Name): وهو الذي يظهر في المتجر وعلى هاتفك في قائمة تطبيقاتك. • وصف التطبيق (Application Description): النص الذي يعطي لمحة موجزة عن التطبيق. • شعار التطبيق (Application logo): أيقونة الشعار التي تظهر في المتجر وعلى هاتفك. يتم تحديد هذه المعلومات في قسم properties (الخصائص) من Screen1 (شاشة 1)، ويجب تحديد الخصائص التالية: --- SECTION: حزم التطبيق Application Packaging --- حزم التطبيق Application Packaging لتثبيت تطبيقك على هاتف محمول، عليك تحويل البرنامج الذي أنشأته في مخترع التطبيقات (App Inventor) إلى حزم الأجهزة المحمولة بنظام الأندرويد. يوجد نوعان من الحزم لتطبيقات الأجهزة المحمولة بنظام الأندرويد: • تنسيق حزمة الأندرويد القياسية (Standard Android package) ، وهو التنسيق الذي تم استخدامه منذ إنشاء نظام تشغيل أندرويد. ويعد هذا التنسيق أبسط طريقة لتوزيع تطبيقات أندرويد. يمكن للمستخدم تنزيل ملفات أي بي كي (APK) مباشرة من رابط موقع الويب أو تحميلها من متجر قوقل بلاي (Google Play). • حزم تطبيقات الأندرويد (Android App Bundles - AABs) ، وهي نوع جديد من تنسيق الملفات يتم استخدامها لحزم تطبيقات الأندرويد. تحتوي الحزمة على ملف أي بي كي (APK) إضافة إلى بيانات وصفية تسمح للتطبيق بالعمل بسلاسة على مجموعة واسعة من الأجهزة. لا يمكن توزيع هذه الحزم أو تنزيلها إلا من متجر قوقل بلاي. وزارة التعليم 189 2025 - 1447 --- VISUAL CONTEXT --- **TABLE**: خصائص إصدار التطبيق Description: A small table displaying the VersionCode and VersionName properties with their default values. Table Structure: Headers: Property | Value Rows: Row 1: VersionCode | 1 Row 2: VersionName | 1.0 Calculation needed: N/A Key Values: VersionCode: 1, VersionName: 1.0 Context: Illustrates the default values for application versioning properties in a development environment. **TABLE**: خصائص مظهر التطبيق Description: A table-like visual showing configurable properties for application appearance: Icon, AboutScreen, and AppName. Table Structure: Headers: Icon | AboutScreen | AppName Rows: Row 1: None... | EMPTY | Visit_SA_App Empty cells: AboutScreen cell is empty Calculation needed: N/A Key Values: Icon: None..., AppName: Visit_SA_App Context: Shows the fields where developers can configure the icon, about screen, and name of their application. **HIGHLIGHT_BOX**: ملف APK Description: A green rectangular box containing the text '.apk', representing the file extension for Standard Android Packages. Key Values: .apk Context: Highlights the common file format for Android applications. **HIGHLIGHT_BOX**: ملف AAB Description: A green rectangular box containing the text '.aab', representing the file extension for Android App Bundles. Key Values: .aab Context: Highlights the newer file format for Android App Bundles.

✅ حلول أسئلة الكتاب الرسمية

عدد الأسئلة: 3

سؤال مربع-1: اشرح كيفية تحديث أرقام الإصدار الرئيسية والفرعية للتطبيق.

الإجابة: الرقم الأول في كل مرة تقوم فيها بإجراء تحديث رئيس للتطبيق، ويزاد الرقم الثاني في كل مرة يتم فيها إجراء تحديث بسيط للتطبيق، على سبيل المثال: التطبيق الذي يبدأ باسم الإصدار "1.0"، وعند تنفيذ تحديث طفيف يصبح اسم الإصدار "1.1"، وعند تنفيذ تحديث رئيس على هذا التطبيق يصبح اسم الإصدار "2.0".

خطوات الحل:

  1. **الشرح:** لنفهم هذا السؤال، فهو يتحدث عن نظام ترقيم الإصدارات في التطبيقات البرمجية. عادةً ما يُكتب رقم الإصدار بصيغة مثل "1.0" أو "2.5". الفكرة هنا هي أن الرقم الأول (قبل النقطة) يسمى الرقم الرئيسي، والرقم الثاني (بعد النقطة) يسمى الرقم الفرعي. عندما يقوم المطورون بإضافة ميزات جديدة كبيرة أو إجراء تغييرات جوهرية على التطبيق، فإن هذا يُعتبر تحديثاً رئيسياً. في هذه الحالة، يتم زيادة الرقم الرئيسي بمقدار واحد، ويتم إعادة تعيين الرقم الفرعي إلى الصفر. على سبيل المثال، إذا كان الإصدار "1.3" وأُجري تحديث رئيسي، يصبح "2.0". أما عندما يتم إصلاح أخطاء بسيطة أو إضافة تحسينات طفيفة دون تغييرات كبيرة، فإن هذا يُعتبر تحديثاً فرعياً أو بسيطاً. في هذه الحالة، يبقى الرقم الرئيسي كما هو، ويتم زيادة الرقم الفرعي بمقدار واحد. على سبيل المثال، إذا كان الإصدار "1.0" وأُجري تحديث بسيط، يصبح "1.1". إذن، الإجابة هي: **يتم زيادة الرقم الأول (الرئيسي) عند إجراء تحديث رئيسي، ويتم زيادة الرقم الثاني (الفرعي) عند إجراء تحديث بسيط.**

سؤال مربع-2: ماذا يمثل ملف .apk؟

الإجابة: ملف APK

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** ملف APK هو اختصار لـ "Android Package Kit" أو "Android Application Package". **الخطوة 2 (التطبيق):** هو ملف التثبيت القياسي لنظام التشغيل أندرويد. عندما تريد تثبيت تطبيق على هاتفك الأندرويد، فإنك تقوم بتنزيل وتشغيل ملف APK هذا. **الخطوة 3 (النتيجة):** لذلك، يمثل ملف .apk: **حزمة تثبيت تطبيق أندرويد**.

سؤال مربع-3: ماذا يمثل ملف .aab؟

الإجابة: ملف AAB

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** ملف AAB هو اختصار لـ "Android App Bundle". **الخطوة 2 (التطبيق):** هو تنسيق نشر جديد من جوجل لمطوري تطبيقات أندرويد. بدلاً من إنشاء ملف APK واحد يحوي كل شيء، يسمح ملف AAB لـ "متجر جوجل بلاي" ببناء وإرسال ملف APK مُحسَّن ومخصص لكل جهاز على حدة، بناءً على لغة المستخدم ودقة الشاشة ومعمارية المعالج. **الخطوة 3 (النتيجة):** لذلك، يمثل ملف .aab: **حزمة تطبيق أندرويد (تنسيق النشر للمطورين)**.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 6 بطاقة لهذه الصفحة

ما هو تعريف تعيين الإصدار (Application Versioning) في هندسة البرمجيات؟

الإجابة: هو استخدام رمز المعرف (Identifier Code) للإشارة إلى إصدار التطبيق الذي يقوم المستخدم بتثبيته حاليًا، ويعد بمثابة الطريقة الأفضل للتمييز بين الإصدارات المختلفة للتطبيق.

الشرح: تعيين الإصدار ضروري لأن التطبيقات تحتاج إلى تحديثات مستمرة، ويجب تمييز الإصدارات المختلفة مع الحفاظ على نفس الاسم.

تلميح: فكر في الغرض من وجود أرقام إصدارات مختلفة لنفس التطبيق.

التصنيف: تعريف | المستوى: سهل

ما الفرق بين رمز الإصدار (VersionCode) واسم الإصدار (VersionName) في تطبيقات أندرويد؟

الإجابة: رمز الإصدار (VersionCode): رقم معرف افتراضي يبدأ بـ 1، ويزاد مع كل تحديث جديد. اسم الإصدار (VersionName): سلسلة يمكن تعيينها على أي قيمة، وتضبط افتراضيًا على "1.0"، وتتغير مع التحديثات الطفيفة (مثل 1.1) أو الرئيسية (مثل 2.0).

الشرح: الفرق جوهري في طبيعة البيانات وطريقة الترقيم، حيث أن VersionCode رقمي ويزاد تلقائيًا، بينما VersionName نصي ويمكن تخصيصه ليعكس حجم التغيير.

تلميح: ركز على نوع البيانات (رقم مقابل سلسلة نصية) وكيفية تغيير كل منهما.

التصنيف: فرق بين مفهومين | المستوى: متوسط

ما هي المعلومات الثلاث التي يجب تقديمها للمستخدم حول مظهر التطبيق عند تنزيله من المتجر؟

الإجابة: 1. اسم التطبيق (Application Name). 2. وصف التطبيق (Application Description). 3. شعار التطبيق (Application logo).

الشرح: هذه المعلومات تشكل الهوية البصرية والمعلوماتية الأولى للتطبيق أمام المستخدم، وتؤثر على قرار التنزيل.

تلميح: تذكر أن هذه المعلومات تظهر للمستخدم قبل وبعد التثبيت.

التصنيف: مفهوم جوهري | المستوى: سهل

ما الفرق بين تنسيق حزمة الأندرويد القياسية (APK) وحزم تطبيقات الأندرويد (AABs)؟

الإجابة: تنسيق APK: أبسط طريقة لتوزيع تطبيقات أندرويد، يمكن تنزيله مباشرة من روابط مواقع الويب أو متجر جوجل بلاي. تنسيق AABs: نوع جديد يحتوي على ملف APK إضافة إلى بيانات وصفية للعمل على أجهزة متنوعة، ولا يمكن توزيعه إلا من متجر جوجل بلاي.

الشرح: الفرق الرئيسي يكمن في مرونة التوزيع (APK أكثر مرونة) والتخصيص للأجهزة (AABs أكثر تطوراً)، حيث أن AABs مصممة خصيصًا لمتجر جوجل بلاي.

تلميح: قارن من حيث طريقة التوزيع والمحتوى الإضافي.

التصنيف: فرق بين مفهومين | المستوى: متوسط

لماذا لا يمكن حذف Screen1 (شاشة 1) في مخترع التطبيقات (MIT App Inventor)؟

الإجابة: لأن قسم properties (الخصائص) الخاص بـ Screen1 هو المكان الذي يتاح فيه للمطور تعديل العديد من خصائص التطبيق، بما في ذلك إصدارات التطبيق ومعلومات المظهر.

الشرح: Screen1 ليست مجرد واجهة مستخدم، بل هي حاوية للإعدادات العامة والميتاداتا الخاصة بالتطبيق ككل.

تلميح: فكر في الوظيفة الإدارية أو التكوينية لهذه الشاشة.

التصنيف: تفكير ناقد | المستوى: متوسط

ما هي القيمة الافتراضية لاسم الإصدار (VersionName) عند إنشاء تطبيق أندرويد جديد؟

الإجابة: القيمة الافتراضية هي الرقم "1.0".

الشرح: تمثل "1.0" الإصدار الأول الرئيسي للتطبيق، وهو اصطلاح شائع في ترقيم البرمجيات.

تلميح: انظر إلى القيمة الأولية المذكورة في النص للخاصية النصية.

التصنيف: رقم/تاريخ | المستوى: سهل