شارك المقال 👈

Share on facebook
Share on twitter
Share on linkedin
Share on pocket

شهد القرن الماضي بعد ابتكار البرمجة، واختراع لغاتها، توجّهًا لاعتماد البرمجة “كائنيّة التوجّه”، والعمل على إضافة ميزاتها للغات البرمجة عبر منصّاتٍ مختلفةٍ.

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

في المقال أدناه، سنتعرّف على تلك اللغة، وتاريخها، وخصائصها، في ظلّ توجّه Apple في آخر بضع سنينٍ نحو اعتماد ما يشبه “خليفةً” لها، مع الاطّلاع على تأثير ذلك على كلّ منتجات ومنصّات اللغة.

ماذا تعني Objective-C!؟

Objective-C، أو (ObjC) اختصارًا؛ هي لغة برمجةٍ يتم استخدامها في أنظمة التشغيل OS X و iOS وواجهة برمجة التطبيقات الخاصة بها (APIs).

وهي لغةٌ موجهةٌ للكائنات، والأغراض العامّة، وتضيف ميزاتٍ جديدةً في لغات برمجة C.1

تاريخ لغة Objective-C

تطوّرت Objective-C في في ثمانينيات القرن العشرين، واستُخْدِمت في بعض أنظمة التشغيل المبكرة.

تمّ إنشاؤها في الأصل من قبل Brad Cox و Tom Love في شركتهما Stepstone، حيث اكتسبت شهرةً كبيرةً في استخدامها في أجهزة كمبيوتر NeXT.

وسرعان ما ارتبط اسمها بلغة Smalltalk، من أجل توسيع قابلية استخدام كلتا اللغتين.

كيف تختلف Objective-C عن C؟

تتضمّن Objective-C كل C، ثم تضيف مبادئ كائنيّة التوجّه “Object Oriented” إليها، باستخدام بنية Smalltalk.

كيف تختلف Objective-C عن C ++؟

C ++ و Objective-C كلاهما يتمحور حول إضافة البرمجة كائنيّة التوجّه Object Orientation إلى لغة برمجة C.

إنّ Objective-C تستخدم Smalltalk كنموذجٍ لكيفية تطبيق Object Orientation، بينما C ++ تستخدم Simula.

ما هي لغة Objective-C

هل بناء تطبيقات Apple يتمّ فقط عن طريق Objective-C؟

لا، ففي الواقع، هناك خياران آخران إلى جانب Objective-C:

  1. Swift، لغة البرمجة السريعة، والتي تعدّ خليفة Objective-C ، والمدعومة من قبل شركة Apple من أجل التطوير الجديد للتطبيقات.
  2. تجميع Objective-C وSwift، إذ هناك مجموعةٌ من الطرق لإنشاء تطبيقات “غير أصلية”، تعمل في بيئة Apple، ومنها مثلًا:
  • Phonegap
  • Codename One
  • Appcelerator

هل يمكن استخدام Objective-C في أنظمة غير Apple؟

نعم بالفعل، يمكن استخدام Objective-C في أي مكانٍ، طالما تم تثبيت الـ runtime المطلوب على النظام.

ومع ذلك، ليس من الشائع جدًا القيام بذلك، وعادةً ما تكون هناك طرقٌ أفضل (أكثر دعمًا) لكتابة التطبيقات لمنصاتٍ أخرى.

ربما يكون السبب الأكثر إقناعًا لاستخدام Objective-C في بيئةٍ غير Apple هو عند نقل تطبيق Apple إلى Windows أو Linux.

في تلك الحالة ، ستحتاج أيضًا إلى تكرار إطار عمل Cocoa، الأمر الذي يمكنك القيام به مع GNUstep .

ما هي لغة Objective-C

هل لغة Objective-C “تحتضر”!؟

قد يبدو توجّه Apple شبه الكامل نحو لغة Swift كبديلٍ عن Objective-C، وتساريع تبنّي الأولى من قبل العديد من الشّركات ومشغّلي التّطبيقات، كالمسمار الأخير في نعش لغة Objective-C!.

ولكن في الواقع، لا تزال Objective-C جديرةً بالاهتمام، والتّعلّم، على الأقلّ لعدّة أسباب:

  • في الوقت الحاضر، فإنّ واجهات برمجة الّتطبيقات في Swift’s Cocoa ليست ناضجةً تمامًا، وعليه، فإنّه ولفترةٍ زمنيّةٍ محدّدةٍ، ستظلّ Objective-C السّبيل الوحيد للاستفادة الكاملة من منصّة Cocoa.
  • بالإضافة إلى ذلك، فإن أسس Cocoa مكتوبةٌ في Objective-C، لذا فمن غير المحتمل أن يتغيّر هذا في الوقت القريب، حتى بعد أن تنضج Swift بالكامل، فإذا كنت ترغب في كتابة تطبيقاتٍ معقّدةٍ تتطلّب فهمًا عميقًا للنّظام الأساسيّ، فستحتاج إلى Objective-C.
  • حتّى وقتٍ قريب، تمّت كتابة جميع تطبيقات Apple في Objective-C، ولا يزال الكثير منها يُكتَب بواستطها، هذا يعني أنه إذا توجّب عليك العمل في مجال صيانة، هذه التّطبيقات، أو توسيعها أو تحسينها، فستحتاج إلى معرفة Objective-C.2

المراجع