Logo ar.androidermagazine.com
Logo ar.androidermagazine.com

ما شوكة هو "شوكة"؟

جدول المحتويات:

Anonim

في اليومين الماضيين ، ربما سمعت كلمة "شوكة" مرات أكثر مما يمكنك الاعتماد عليه. لقد قام Facebook بتشكيل هذا (على الرغم من أنه لم يحدث) ، إلا أن Amazon يتخلى عن ذلك ، فقد قام فريق Chrome بتشكيل شبكة الويب بالكامل ، وما إلى ذلك. بينما يتحدث الجميع عن من الذي يتخيل من ، لا أحد يكلف نفسه عن شرح ماهية التفرع بالضبط ، ولماذا يعاني الكثير من الناس من مشكلة معه.

حصلت Forking ، أو تحطمت ، قليلا من مندوب سيئة منذ 20 عاما أو نحو ذلك ، لأنه يميل إلى تقسيم المطورين إلى فصائل منفصلة الذين لم يشاركوا رمز مع بعضها البعض. في أيام أشياء مثل تقسيم Gnu-Emacs / XEmacs ، كان هذا أمرًا مهمًا لأنه لم يكن هناك ما يقرب من عدد الأشخاص القادرين على العمل في هذه المشاريع الكبيرة مفتوحة المصدر ، وكان وجود فرعين أو شوكات يعني إضافة وقت أطول الميزات ومعالجة القضايا لكلا الجانبين. في بعض الحالات ، لا يزال هذا يحدث ، أنا متأكد من ذلك ، ولكن في الغالب يوجد عدد كبير من المطورين الذين يمكنهم ملء الفراغ الذي تركه أولئك الذين لديهم رؤية منفصلة وسيقطعون التعليمات البرمجية لمتابعة ذلك. لكن بعض الناس لا ينسون أبدًا ، وتنتهي وصمة العار المرتبطة بعمال الشوك. بعد قول كل هذا ، لا يمكننا التظاهر بعدم حدوث شوكات سيئة. نحتاج فقط إلى النظر إلى الماضي بنفسه قبل اتخاذ قراراتنا.

أعرف أن القليل منكم يعرف ما يعنيه كل هذا ، وأحاول فقط تجاهل كل الضوضاء ، لكن بالنسبة للكثيرين ، فإن الأمر مربك. دعنا نحاول إصلاح ذلك.

ما هو مفترق البرامج ، وكيف يؤثر على Android؟

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

أثارت أمازون عددًا قليلاً من الحواجب عندما طلبت من نظام Android إنشاء نظام التشغيل لخط Kindle Fire. ولكن على الجانب المفتوح المصدر للأشياء ، لم يكن الأمر مختلفًا عن ما فعلته موتورولا مع Cliq ، أو HTC مع Hero - أو ما تفعله Samsung الآن لأجهزة سلسلة Galaxy. هذا هو عدد المشاريع المفتوحة المصدر الكبيرة. يعمل كل بائع (باستثناء ربما Amazon) مع نفس الأساسيات ، ومن المحتمل أن يبلغ عن الأخطاء ويقدم إصلاحات مرة أخرى عند السير في الاتجاه الصحيح ، لإنشاء مقالته الخاصة بشأن المنتج النهائي.

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

في أي حال ، لا يعتبر رمز التفرع أمرًا سيئًا دائمًا ولا يستحق كل السلبية التي تسمعها عندما يذكرها أحد. محلل الصناعة ستيفن O'Grady يلخص ذلك بشكل جيد وأعتقد:

ومع ذلك ، تجدر الإشارة إلى أن الشوك أو المتغيرات من منظور العميل ليست سيئة على مستوى العالم. على الرغم من أن إصدارات Android المختلفة قد تمثل قرارات تصميم مؤسفة من جانب البائعين المسؤولين عنها ، إلا أن التطبيقات تكون في الغالبية العظمى من الحالات متوافقة من جهاز إلى جهاز ، مع افتراض تكافؤ الإصدار.

وجود تطبيقات متوافقة من جهاز لآخر هو سبب تصميم Android. رمز Forking لا يجعل هذا لا يحدث. لكن أشياء أخرى تفعل.

الجانب الآخر من forking Android

في الصين ، يمكنك شراء هاتف من شركة تشغيل تعمل بنظام Android ، ولكن ليس لديها خدمات Google؟ تمامًا مثل Kindle Fire ، تم إنشاؤه من كود Google لنظام Android (غير معدّل في بعض الأحيان) ولكن لم يتم إرساله واختباره ليكون متوافقًا مع Google ولديه أشياء مثل Gmail أو Google Play. هذه التطبيقات وملفات النظام المتنوعة التي يحتاجون إلى تشغيلها ، ليست مفتوحة المصدر ، ولا يمكنك تضمينها فقط دون إذن من Google.

بخلاف تجربة مستخدم "مختلفة" (لن أقول إنها تجربة "أسوأ" ، مختلفة فقط) بدون هذه التطبيقات ، يمكن أن تبدو وتشعر مثل هاتف Android الذي تشتريه من Verizon أو AT&T. يمكنهم أيضًا أن يشعروا ويشعروا بأنهم مختلفون تمامًا ، كما فعلت أمازون. لكن لا شيء من هذا يرجع إلى أنهم ابتعدوا عن كود Google للأندرويد - لقد كان قرارًا واعًا بعدم صنع جهاز "معتمد" من Google. تقدم Google نظام التشغيل Android كمنصة تطبيق ومجموعة من أطر التطبيقات. عدم تضمين تطبيقات خدمة Google لا يجعلها أقل من نظام أساسي للتطبيق. بالطبع ، نحن نتخيل أن Google تفضل أن تستخدم جميع الأجهزة التي تعمل بنظام أندرويد والأجهزة التي تعمل بنظام أندرويد خدمات Google ، ولكن لا توجد قاعدة صارمة تقول إن على البائع القيام بذلك.

صنع الأجهزة بدون تطبيقات Google ليس له علاقة بتشكيل Android. قد يجعل الأجهزة أقل رغبة ، أو في يوم من الأيام يمكن إنشاء هاتف Android النهائي دون تطبيقات Google ، ولكن يمكن أن يحدث ذلك دون تزوير أي رمز. نحن جميعًا مذنبون بربط الأمرين ببعضهما البعض ، لكن يجب ألا نفعل ذلك.

Forking هو مجرد شيء

ليس من الجيد أن يتخلص مصنعي المعدات الأصلية من نظام Android ويعملون في مشروعهم الخاص باستخدام الكود. ليس بالأمر السيئ أن يتخلص مصنعو المعدات الأصلية من نظام أندرويد ويعملون في مشروعهم الخاص باستخدام الكود. إنه مجرد شيء يفعلونه جميعًا.

بصرف النظر عن Nexus fanclub ، لا يمكنك أن تخبرني بأن Samsung أو HTC قد دمر Android عن طريق تخطي الكود والبناء عليه. لقد أضافوا ميزات مع الحفاظ على كل شيء متوافقًا بحيث تعمل التطبيقات المصممة لـ "Android" وفقًا لإرشادات المطور على ما يرام. وهي تقدم باستمرار الأجهزة التي يرغب الناس في شرائها. أعتقد أن هذا هو بالضبط ما وضعته Google في الاعتبار لنظام Android. لقد أدركوا أن شخصًا ما سيذهب في النهاية إلى أبعد من ذلك ويخلق شيئًا لا يتوافق تمامًا مع "Android" ، لكن هذا جيد. لا يزال مستخدمو هذه الأجهزة على الإنترنت ، وتطبيقات الويب للجوال من Google جيدة جدًا.

نأمل أن تعرف الآن المزيد عما يعنيه الأشخاص عندما يتحدثون عن تطبيق Android.