شرح إطار Xpose لـ Nougat وabforce Submodule

click fraud protection

في هذه المقالة، نستكشف الاختلافات بين إصدار Xpose القادم لـ Rovo89 لـ Nougat والتطبيق الحالي المتوفر لـ Nougat.

كان إطار عمل Xpose - ولا يزال - وسيلة رئيسية لتخصيص جهاز Android الخاص بك، وهو متوافق مع جميع الأجهزة تقريبًا، مما يتيح لك تثبيت الوحدات بسهولة لتعديل أي تفاصيل تقريبًا.

هل ترغب في الحصول على جميع الميزات التي يقدمها ROM المخصص دون الحاجة إلى فلاش واحد؟GravityBox أوXTouchwiz سوف نفعل ذلك. هل تريد تعديل إعدادات معينة على أساس كل تطبيق، مثل تغيير DPI لتطبيق معين؟إعدادات التطبيقات هل غطيت. أتمنى أن يفكر مطورو التطبيق في إضافة ميزة معينة، مثل السماح لك Google بذلكتخصيص جلسات Hangout أو الفيسبوك يسمح لك بذلكقم بتنزيل منشورات Instagram التي تعجبك? حسنًا، لا تحتاج إلى ذلك لأن Xpose يمنح المطورين القدرة على تعديل أي شيء يريدونه تقريبًا تريد، سواء كانت ميزة على مستوى النظام تتطلب ذاكرة ROM مخصصة، أو تعديلًا لميزة معينة طلب.

يأتي إطار عمل Xpose مزودًا بميزة كبيرة للمطورين، وهي سهولة التطوير (مقارنة بالاضطرار إلى تجميع AOSP لتعديلات ROM، أو الاضطرار إلى تحرير كود Smali). كما أنه يجلب ميزة كبيرة للمستخدمين:

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

المشكلة الوحيدة؟ نظرًا لطبيعته ومقدار وقت فراغ مطور Xpose (المطور المعترف به لدينا،روفو89) ، غالبًا ما يتخلف عن إصدارات Android.استغرق الأمر حوالي أربعة أشهر للحصول على التحديث لدعم Lollipop، ويستغرق الوصول إلى نوجا حوالي عام. هذا ليس سيئًا كما قد يبدو إذا فكرت فيه كم عدد مستخدمي Android الموجودين فعليًا على Nougat؟ (حوالي 13.5%، مع الأخذ في الاعتبار أن عشاق Android، الجمهور المستهدف لـ Xpose، من المرجح أيضًا أن يكونوا على Nougat). ومع ذلك، لا يزال من المزعج جدًا عدم القدرة على استخدام وحدات Xpose المفضلة لديك والحصول على أحدث وأفضل إصدار من Android في نفس الوقت.

مع توفر الكود المصدري لإطار عمل Xpose (على الأقل للإصدارات المستقرة والمصدرة)، المطورابفورس قرر أن يتسخ يديه ويرى ما إذا كان بإمكانه نقل بعض تعديلات rovo89 إلى Nougat. من خلال اختيار نهج مختلف وأبسط، قامت abforce بشكل أساسي بتكييف الجزء من Xpose الذي هو في الواقع يفعل السحر بمجرد تثبيته، ويجعل من الممكن تضمينه عند تجميع ROM الخاص بك (بعد ذلك، ظهرت حلول أخرى). يمكن القول إن هذا النهج مختلف تمامًا لأنه يتجاهل إحدى المزايا الأساسية لـ Xpose، والتي أصبحت متاحة للجميع بسهولة. ومع ذلك، فإن كل التقدم مرحب به ويمكن أن يكون قيام العديد من الرؤساء بمعالجة مهمة ما مفيدًا ويقدم رؤية جديدة. القضية الأساسية، كما نراها، هي المعلومات الخاطئة المحيطة بهذا التطور (التي نشرها بعض "المطورين" الآخرين وبعض المدونات)، بالإضافة إلى بعض ردود الفعل من قبل المجتمع. نأمل أن تجعل هذه المقالة الصورة بأكملها أكثر وضوحًا.


أولًا، من أجل فهم العمل الذي تم - وما زال - في إطار عمل Xpose الرسمي بالإضافة إلى إصدار abforce، نحتاج إلى النظر في كيفية عمل إطار العمل. بينما الإطار نفسه جزء فقط من المشروع, نعني عادةً كلاً من الإطار والمثبت حيث أن الإطار يفقد العديد من مزاياه بدون المثبت العالمي، والذي يتم فيه الكثير من العمل أيضًا.

تأتي قوة Xpose من مفهوم بسيط: يمكن "ربط" أي طريقة (الطرق صغيرة الأجزاء التي تشكل أي برنامج) لتنفيذ تعليمات برمجية لوحدة Xpose قبل أو بعد أو بدلاً من ذلك هو - هي. لنأخذ مثالاً بسيطًا: لنفترض أن Instagram يستخدم طريقة تسمى "showMenuOptions" عند النقر فوق زر القائمة، وأن هذه الطريقة تتعامل مع إظهار زري "الإبلاغ" و"المشاركة". من خلال إنشاء وحدة Xpose، يمكنك تعديل تلك الطريقة لإضافة زر إضافي لتنزيل الصورة بدلاً من مشاركتها، على سبيل المثال. يمكن أن تتراوح التعديلات من تعديلات بسيطة (على سبيل المثال. سجل التغيير في متجر Play) إلى الإصلاحات الرئيسية (مثل GravityBox، والذي يهدف إلى توفير جميع الميزات التي قد يتمتع بها ROM المخصص)!

وهذا يجعل Xpose قويًا، لكنه مجرد جزء من المعادلة. الأجزاء الأخرى هي تعدد الاستخدامات - أو القدرة فعليًا على استخدام Xpose على أي جهاز تقريبًا (مع إصدار Android مدعوم)، وسهولة الاستخدام. كل ما يتعين على المستخدمين فعله هو الحصول على برنامج التثبيت، الذي يقوم بعمله السحري ويقوم بتصحيح نظامهم ديناميكيًا لدمج Xpose. لتطبيق وحدة نمطية، ما عليك سوى تثبيتها وتمكينها وإعادة التشغيل. لا حاجة إلى أي ضجة، ولا حاجة إلى تحديث ذاكرة ROM مخصصة (خاصة عندما لا تكون ذاكرة القراءة فقط المخصصة دائمًا خيارًا قابلاً للتطبيق)، ولا حاجة إلى إلغاء تثبيت ملف APK لتثبيت ملف آخر موقّع بتوقيع مختلف. كل ما تحتاجه هو الجذر (يمكنك بالتأكيد الحصول على ROM مخصص وهذا أمر منطقي في كثير من الأحيان؛ ولكن على الرغم من أن Xpose يمكنه توفير معظم الوظائف التي يمكن أن يوفرها ROM مخصص، إلا أنه يتجاوز ذلك أيضًا).

ولكن وراء هذه البساطة هناك الكثير من العمل:

  1. بالنسبة لمطوري الوحدات، يجب أن تكون واجهة برمجة التطبيقات المقدمة مستقرة ومضمونة للعمل. لا يمكن أن يفشل إطار عمل Xpose بشكل عشوائي مع مجموعات معينة من ROM و/أو الخطاف (إلا في حالات استثنائية). بمعنى آخر، إذا كان المستخدم يواجه مشكلة، فيجب أن تكون هذه المشكلة إما خطأ المستخدم (ليس كذلك تثبيت/تمكين شيء ما بشكل صحيح) أو خطأ مطور الوحدة (لوجود أخطاء في وحدة). ولكن يجب أن يكون من المؤكد تقريبًا أن إطار العمل نفسه يعمل على النحو المنشود، وليس مصدر الأخطاء التي من شأنها أن تترك المستخدمين محبطين ومطورين في حيرة.
  2. بالنسبة للمستخدمين، يجب أن يكون إطار العمل سهل التثبيت على أجهزتهم وذاكرة القراءة فقط (ROM).، بغض النظر عما إذا كان لديهم جهاز Samsung يعمل بأحدث إصدار من TouchWiz أو جهاز Nexus مثبت عليه LineageOS. يعالج برنامج تثبيت Xpose كل ذلك خلف الكواليس. يجب إجراء الكثير من العمل لاختبار برنامج التثبيت وإطار العمل على مجموعة متنوعة من الأجهزة ومجموعات ROM. يتم العثور على أخطاء، غالبًا ما يكون ذلك نتيجة لاختلاف عمليات التنفيذ من قبل مصنعي المعدات الأصلية، ويجب إصلاحها لضمان الموثوقية لجميع المستخدمين.
  3. قد تؤدي مراجعات Android الرئيسية في بعض الأحيان إلى إحداث تغييرات كبيرة، الأمر الذي يتطلب إعادة التفكير في أجزاء من بنية إطار العمل للتكيف مع تلك التغييرات. في بعض الأحيان، تظهر أيضًا فرص إضافية مع الإصدارات الأحدث، مما يتطلب بعض الوقت الإضافي للحصول على منتج أفضل. عندما تم تقديم ART لأول مرة، على سبيل المثال، أدى استخدام Xpose إلى تعطيل بعض التحسينات بحيث يمكن للربط أن يعمل بشكل صحيح. في حالة نوجا،المترجم في الوقت المناسب (JIT). يجلب فرصة لالحفاظ على تلك التحسينات.

الكثير من العمل المذكور أعلاه يتناول تفاصيل بسيطة، حيث يعمل معظم إطار العمل على النحو المنشود ولكن التناقضات والمشكلات البسيطة من شأنها أن تجعل استخدامها مقامرة للمستخدمين، وكابوس الدعم والتطوير للوحدة النمطية المطورين. ومع ذلك، يهدف المنتج الذي تم إصداره إلى أن يكون قابلاً للاستخدام من قبل الجميع وبدون مفاجآت. هناك بعض الاستثناءات بالطبع، حيث تتطلب تغييرات بعض مصنعي المعدات الأصلية مزيدًا من الجهد للتكيف معها، ولكن تلك هي صغيرة والغالبية العظمى من المستخدمين (والمطورين) يستمتعون بـ Xpose المستقر والموثوق خبرة. يتم توثيق أي استثناءات تمت مواجهتهاإخلاء المسؤولية الواضح حتى لا يتفاجأ أحد.

مع أخذ ما سبق في الاعتبار، فإن رؤية rovo89 لـ Xpose هي أن تكون حلاً مستقرًا يوفر عقدًا موثوقًا وسهل الاستخدام للمستخدمين والمطورين. فلسفته، على الرغم من أنك قد لا توافق عليها، بسيطة ومفهومة: يجب أن يكون المنتج كذلك يتم إطلاقه عندما يكون جاهزًا للاستخدام على النحو المنشود، حيث أن إطلاقه قبل ذلك يؤدي إلى مشاكل أكثر من ذلك فوائد.


وحدة Xpose ART الفرعية من abforce لنظام Nougat

نحن مترددون في وصف عمل abforce بأنه "منفذ" أو "Xpose غير رسمي" لأن هذا غير دقيق ومضلل. كما رأينا، يحتوي Xpose على مكونين رئيسيين:

  1. جوهر إطار عمل Xpose نفسه، والذي يتعامل مع سحر أساليب التثبيت.
  2. مثبت Xpose، الذي يضمن سهولة تثبيت إطار العمل على جميع الأجهزة بشكل صحيح.

ما فعله abforce هو كود Marshmallow الخاص بمنفذ rovo89 في الجزء الأول (إطار عمل Xpose فقط) إلى Nougat، بطريقة تتطلب إجراء التغييرات أثناء تجميع ذاكرة القراءة فقط المخصصة. بالإضافة إلى ذلك، فإن العديد من الأجزاء الصغيرة (ولكنها مهمة) من إطار العمل ليست مكيفة بالكامل مع Nougat. على هذا النحو، يمكن أن يكون السلوك غير متسق، وبينما يعمل في الغالب (على الرغم من ذلك). لالالجميع)، فهو غير موثوق. بالنسبة لمطوري الوحدات والمستخدمين، فإن الاعتماد على التنفيذ غير الكامل وغير المتسق سيكون أمرًا عادلاً توفير تجربة سيئة لجميع الأطراف المعنية، مع بعض الوحدات لا تعمل على الإطلاق أو تتسبب في عدم تشغيل الجهاز. في حين أن العديد من المستخدمين قد يكونون على ما يرام مع وجود شيء بدلا من لا شيء، لا تزال وجهة نظر المطورين مفهومة تمامًا (خاصة إذا كنت تضع في اعتبارك أن إخلاء المسؤولية لا يمنع أسئلة الدعم الزائفة والتذمر).

(بالإضافة إلى النقطتين الرئيسيتين المذكورتين أعلاه، نتوقع أيضًا المزيد من التغييرات في إطار عمل Xpose الرسمي النهائي للاستفادة من التغييرات التي تم إدخالها في Nougat.)

تجدر الإشارة إلى أن abforce قام بعمل ممتاز عندما كان معظمهم راضين بمجرد التحدث، لكن عمله بعيد كل البعد عن تجربة Xpose الكاملة ولا يدعي أي مطور أو مدونة خلاف ذلك (وبالتأكيد ليس إجباريًا؛ مرة أخرى، ليس لدينا سوى الاحترام لجميع المطورين الفعليين الذين يبذلون جهدًا وعملًا حقيقيين في هذا الأمر). في الواقع، كما سنتطرق إليه بعد قليل، فإن بعض ردود فعل المجتمع (سواء كان ذلك من المستخدمين أو "المطورين") هي الجزء الوحيد المزعج في سلسلة التطورات هذه.


دعونا نقطع المطاردة وندخل مباشرة في صلب الموضوع: أي مجتمع لديه عناصر وجوانب سيئة. مع مجتمع كبير مثل عشاق Android، قد تبدو العناصر السيئة وكأنها جزء كبير عندما تكون جزءًا صغيرًا (كبير، ولكنه لا يزال صغيرًا من الناحية النسبية). ومع ذلك، بدون تجميل الأمر، فإن الكثير من استجابة المجتمع تجاه تطوير Xpose for Nougat كانت طفولية للغاية أو غير مدروسة أو غير مسؤولة.

كانت القضية الرئيسية الأولى هي الموقف المتعالي الذي أظهره الكثيرون بشأن "وفاة Xpose" لأنه يستغرق وقتًا طويلاً حتى يتم إصداره لـ Nougat. هذا على الرغم من وجود rovo89 التحديثاتوضماناتوعلى الرغم من السيناريو الدقيق الذي يحدث مع Lollipop عندما تم تقديم الإصدار الأولي من ART. من الجيد أن تتوقف عن استخدام Xpose، لكن ليس من المقصود إهانة قدرة أي شخص أو مهاجمة الآخرين بسبب وجود فلسفة مختلفة أو عدم ضمان تلبية احتياجاتك السريعة على الفور. وينطبق هذا بشكل أكبر على المشروع المجاني تمامًا، حيث أعرب المطور عن منهجية التطوير الخاصة به والأسباب الكامنة وراء ذلك.

هناك مشكلة أخرى تتعلق باستجابة المجتمع وهي سوء فهم طبيعة عمل abforce، حيث أشاد بها الكثيرون باعتبارها Xpose الجديدة أو أعلنوا عنها كمنفذ لـ Nougat. كانت المشكلة الرئيسية في ذلك هي اندفاع "المطورين" لتقديم إصدارات قابلة للاشتعال دون فهم (أو الاهتمام) بالعيوب، حيث لم يتم تقديم إخلاء المسؤولية تم عرضه على الإطلاق في بعض المواضيع، حتى أن البعض ذهب إلى حد الاعتماد على القوة وليس rovo89 (الذي يقف وراء الغالبية العظمى من العمل على Xpose) وغيرها المساهمين.

كنقطة أخيرة، نشعر أنه يجب علينا طرح فلسفة تطوير rovo89 مرة أخرى. مع ادعاء العديد من مستخدمي الصوت أن جعل أحدث التغييرات مفتوحة المصدر سيكون مفيدًا. في حين أن هذا يبدو جيدًا من الناحية النظرية، فهو كذلكليس بهذه السهولة في الممارسة العملية خاصة إذا أخذنا في الاعتبار شرح rovo89:

[...] أعتقد أن مجرد دفع الوضع الحالي لن يساعد المشروع. ربما نرى إصدارًا "بعضًا" سريعًا جدًا من قبل الأشخاص الذين يقومون بتجميع الكود، كما يبدو العمل بشكل جيد ونشره باعتباره "ميناءهم"، على الرغم من المشكلات والأشياء التي يجب القيام بها والتي لن يكونوا على علم بها ل. لذا، اعتبرني أنانيًا، لكنني لا أرغب في رؤية إصدار نصف مكتمل كهذا.[مصدر]

والذي أثبت في الواقع أنه تنبؤ جيد إلى حد ما للوضع الحالي، مع تطبيق العديد من "المطورين". تغييرات abforce وتقديم ملف ZIP قابل للاشتعال مع الحد الأدنى من التحذيرات أو عدم وجود تحذيرات على الإطلاق، وأرصدة غير مكتملة، كل ذلك أثناء طلب التبرعات.


نأمل أن تكون هذه التوضيحات قد أوضحت بعض شكوكك وتناولت المفاهيم الخاطئة المحتملة التي قد تكون لديك. لقد كان Xpose مشروعًا رائعًا وصل إلى جزء كبير من مجتمعنا المتحمسين والمدمنين على الألعاب، ويجب أن يكون Xpose for Nougat معلمًا ضخمًا آخر مليئًا بالفرص. مع وحدات مثل GravityBox يقدم بالفعل دعم Nougat، وسيعود مشروع rovo89 النهائي إلى مجموعة من الخيارات.


هل أنت متحمس لـ Xpose على Nougat ROM الخاص بك؟ اسمحوا لنا أن نعرف في التعليقات!