مرجع
آخر الزيارات

كوكوا

1٬968 كلمة•0 مشاهدة•🗒️ منذ 11 ساعة
باختصار: كوكوا من إنتاج شركة أبل آى إن سى هي واحدة من الواجهات الأساسية لبرمجة التطبيقات التي تعتمد على الكائنات أي بى آى وهى خاصة بنظام التشغيل ماك أو إس إكس وجنبا إلى جنب مع امتداد كوكوا تاتش. تجد هنا «التطبيقات»، «الأطر الرئيسية» و«إدارة الذاكرة» ضمن 7 أقسام.
المحتويات
  1. التطبيقات
  2. الأطر الرئيسية
  3. إدارة الذاكرة
  4. الربط المتأخر
  5. التحكم في عرض النموذج
  6. تاريخ كوكوا
  7. الكائنات الغنية

بدايةً، كوكوا من إنتاج شركة أبل آى إن سى هي واحدة من الواجهات الأساسية لبرمجة التطبيقات التي تعتمد على الكائنات أي بى آى وهى خاصة بنظام التشغيل ماك أو إس إكس وجنبا إلى جنب مع امتداد كوكوا تاتش

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

إضافةً إلى ذلك، لبادرة الاعتراف والرسوم المتحركة لتطبيقات آي أو إس على خطوط إنتاج الآيى فون والآيى باد.

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

التطبيقات

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

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

من جانب آخر، ارتباطات الطرف الثالث متوفرة للغات أخرى تتضمن كلوجر سي إل، ليسب وركس، باى أو بى جى سى، روبى كوكوا، كام بونز، كوكوا# ومونو أو بى جى سى وسى #. إن يو يستعمل نموذج كائنات أوبجكتف سي مباشرة، ولذلك يمكن أن يستعمل إطارات كوكوا بدون الحاجة للربط.

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

الأطر الرئيسية

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

وفي هذا السياق، أداة التطبيق أو آب كيت تنحدر مباشرة من أداة التطبيق الأصلية الخاصة بنكست ستيب. تحتوى على كود بالبرامج التي يمكن أن تبنى وتتفاعل مع الواجهة الرسومية للمستعمل. آب كيت صممت على رأس المؤسسة، وتستعمل كذلك إن إس.

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

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

إدارة الذاكرة

في هذا الإطار، دى ألوك لا يضمن استدعاءه. هذا النهج لإحصاء المعلومات مشابه جدا لذلك الذي في مايكرسوفتكوم، الذي يعرض واجهة يونون. يونون يوفر المعادل لـ ريتاين وريليز في نموذج آد ريف وريلييز.

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

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

الربط المتأخر

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

من جانب آخر، الرابط الثابت المتأخر مختلف بشكل أو بآخر عن الربط في الربط الثابت والمتحرك. ربط الأسماء قبل أن يعمل البرنامج يسمى ثابت مبكر: الارتباطات التي تجرى عند تشغيل البرنامج تسمى متحركة متأخر أو واقعى.

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

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

التحكم في عرض النموذج

كذلك، فئات نموذج تمثل بيانات صف، مثل الوثائق، الإعدادات، الملفات، أو كائنات داخل الذاكرة.

المناظر، كما يوحى الاسم، تمثيل مرئى للبيانات في النموذج.

ومن ناحية أخرى، فئات تحكم تحتوى على منطق يربط النماذج بمناظرها، ويقوم بصيانة الحالة حتى يبقيهم متزامنين.

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

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

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

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

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

تاريخ كوكوا

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

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

ومن ناحية أخرى، أعيد استخدام الاسم مرة أخرى لتجنب التأخير أثناء تسجيل علامة تجارية جديدة، مع موافقة ستادج كاست لتسويق الكوكوا القديم باسم آخر جديد.

إن إس سترينغ، إن إس أر ايى، إلخ.

و مقابس بيركيلى.

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

الكائنات الغنية

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

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

من جانب آخر، واحدة من أهم المميزات المفيدة لـ كوكوا هي قوة «كائنات القاعددة» التي يوفرها النظام. مثلًا، تأمل فئات الإنشاء إن إس سترينج وإن إس أتربيوتيد سترينج، والتي توفر سلسلة نظام الحروف الدولي الموحد، ونظام إن إس تكست في آب كيت، والذي يسمح للمبرمج بأن يضع كائنات النصوص في واجهة المستعمل الرسومية.

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

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