Objective-C
لغة البرمجة التي سبقت Swift في iOS
مقدمة حول Objective-C
Objective-C هي لغة برمجة تم تطويرها في أوائل الثمانينات، وكانت تعتبر واحدة من أقدم اللغات المستخدمة في نظام تشغيل macOS وiOS. تم تصميم Objective-C لتكون لغة برمجة كائنية التوجه، مستندة إلى لغة C، مع إضافة ميزات جديدة مثل الرسائل الديناميكية،
مما يتيح للمطورين كتابة التعليمات البرمجية بطريقة أكثر مرونة وانسيابية. في سياق تطوير التطبيقات، أثبتت Objective-C كفاءتها وقدرتها على تقديم أداء جيد في تصميم واجهات مستخدم معقدة، وهو ما جعلها الخيار الأساسي لتطوير التطبيقات على أنظمة Apple لفترة طويلة.
بدأت Apple بالترويج لـ Objective-C بعد أن استحوذت على شركة NeXT في عام 1997. ومنذ ذلك الحين، أصبحت مستخدمة على نطاق واسع بين المطورين، وأصبحت هي اللغة المهيمنة لتطوير التطبيقات على منصات iOS وmacOS. اعتمدت لغة Objective-C على إطار عمل Cocoa الذي ساهم في تبسيط عمليات تطوير البرمجيات، حيث قدم مجموعة من المكتبات التي تسهل التعامل مع العناصر الرسومية والبيانات.
بالإضافة إلى استخدامها في تطوير التطبيقات، ساهمت Objective-C أيضًا في التأثير على نماذج البرمجة الحديثة، حيث أدخلت مفاهيم مثل التصريح عن الخصائص والأساليب، مما ساعد في توجيه اللغات الأحدث مثل Swift. ومع ذلك، ومع ظهور Swift في عام 2014، بدأت Objective-C تواجه تنافسًا متزايدًا.
ورغم ذلك، لا تزال هناك قاعدة كبيرة من التطبيقات القديمة التي تعتمد على Objective-C، مما يجعلها لغة مهمة في عالم البرمجة على منصات Apple ويتطلب من المطورين فهمها بشكل جيد.
ما هي Objective-C؟

Objective-C هي لغة برمجة كائنية (OOP) مبنية فوق C وتتبنّى أسلوب إرسال الرسائل على طريقة Smalltalk. طوّرتها NeXT في الثمانينيات وأصبحت الأساس لتطوير تطبيقات macOS/iOS لسنوات طويلة قبل ظهور Swift. لا تزال مهمّة لصيانة المشاريع القديمة، والتعامل مع مكتبات Apple العريقة، والتكامل العميق مع C/C++.
أبرز الخصائص
-
امتداد لـ C: يمكنك مزج كود C (وأحيانًا C++) بسلاسة داخل ملفات Objective-C.
-
رسائل بين أقواس مربعة:
[object doSomething]
بدلًا من استدعاءات الدوال التقليدية. -
فئات وفئات امتداد (Categories) لزيادة وظائف أي كلاس دون وراثة.
-
بروتوكولات (Protocols) لتعريف واجهات تشبه الـ interfaces.
-
خصائص (@property) ومُعدِّلات مثل
nonatomic
,copy
,strong
. -
إدارة ذاكرة ARC مع إمكانية التحكم اليدوي عند الحاجة.
-
Runtime ديناميكي (مثل method swizzling, KVC/KVO) لمرونة عالية وقت التشغيل.
-
أطر العمل: Foundation, Cocoa/Cocoa Touch (UIKit, AppKit).
-
أدوات: Xcode، Clang/LLVM، وملفات
.h
للرؤوس و.m
للتنفيذ.
متى تختارها؟
-
صيانة/تطوير تطبيقات قديمة مكتوبة بها.
-
استخدام مكتبات/SDKs قديمة متوفرة فقط بـ Objective-C.
-
الحاجة للتكامل منخفض المستوى مع C أو لاستخدام مزايا الـ runtime الديناميكي.
مقارنة سريعة مع Swift
-
Swift: حديثة، آمنة نوعيًا (Optionals، Generics)، أقل «بويلر بلايت»، منحنى تعلم أسهل عمومًا.
-
Objective-C: أكثر ديناميكية ومرونة وقت التشغيل، لكنها أقل صرامة نوعيًا وتحتاج كودًا أكثر.
تاريخ لغة Objective-C
نشأت لغة البرمجة Objective-C في أوائل الثمانينات، حيث تم تطويرها من قبل براد كوب (Brad Cox) في عام 1983. كانت الدوافع وراء تطوير هذه اللغة تدور حول توفير وسيلة أكثر فعالية لتطوير التطبيقات، مقترنةً بالكفاءة والقوة التي توفرها لغات البرمجة المنخفضة. اعتمد كوب على لغة C، مضيفاً إليها مفاهيم البرمجة الكائنية التي كانت شائعة آنذاك، مما أتاح للمطورين الاستفادة من مزايا البرمجة الموجهة للكائنات.
في عام 1988، أصبحت Objective-C اللغة الرسمية لتطوير البرمجيات لنظام التشغيل NextStep، الذي تم إصداره بواسطة شركة NeXT التي أسسها ستيف جوبز بعد مغادرته لشركة آبل. كانت هذه النقطة محورية في تاريخ Objective-C، حيث أدت إلى إدماجها في أنظمة التشغيل من آبل بعد استحواذ شركة آبل على شركة NeXT في عام 1997. وقد مهد هذا الاستحواذ الطريق أمام استخدام Objective-C بشكل واسع النطاق في تطوير تطبيقات iOS وmacOS.
خلال السنوات التالية، شهدت لغة Objective-C العديد من التحسينات، بما في ذلك إضافة مكتبات جديدة مثل Cocoa وCocoa Touch، مما ساعد على تعزيز قدرة المطورين على خلق تجارب مستخدم غنية ومتنوعة. استمرت هيمنة Objective-C في مجتمع تطوير برمجيات آبل حتى بداية الألفية الجديدة،
حيث بدأ التركيز يتحول بشكل تدريجي نحو لغة Swift التي أطلقتها آبل في عام 2014. على الرغم من ذلك، لا يزال للكثير من المطورين ارتباط قوي بـ Objective-C، حيث تعتبر جزءًا أساسيًا من التاريخ البرمجي لآبل.
كيف تعمل لغة Objective-C

لغة Objective-C هي لغة برمجة تتبع نمط البرمجة الكائنية (object-oriented programming) وتستخدم بشكل رئيسي لتطوير تطبيقات نظام iOS ونظام macOS. تم تصميم هذه اللغة لتكون تطويرها أكثر سهولة وفاعلية من خلال دمج الخصائص الأساسية للغة C مع الميزات الكائنية المستمدة من لغة Smalltalk. واحدة من الخصائص المهمة التي تساهم في فعالية Objective-C هي طريقة بناء الجمل أو تركيب الكود، وهو ما يمثل أساس عمل هذه اللغة.
تتمثل الجملة الأساسية في Objective-C في استخدامها للأقواس المربعة، على سبيل المثال: [object message]
، حيث يشير object
إلى الكائن المستهدف وmessage
إلى الرسالة التي يتم إرسالها لذلك الكائن. حيث أن هذا التركيب يتيح سهولة القراءة والمعرفة الفورية عن الوظيفة التي يتم استدعاؤها. كما يمكن تعريف المتغيرات والخصائص باستخدام البساطة التي توفرها هذه اللغة، مثل تعريف صف باستخدام @interface
و@implementation
.
مدى إدارة الذاكرة في Objective-C هو أيضًا محل اهتمام كبير، فهي تعتمد على نظام يُعرف بـ “التخصيص الذاتى للذاكرة” (automatic reference counting) والذي يسهل عملية إدارة الذاكرة تلقائيًا عن طريق حساب عدد المراجع الموجهة إلى كائن معين. هذا يقلل من الأخطاء الشائعة مثل تسريبات الذاكرة (memory leaks) ويساعد المطورين على التركيز بشكل أكبر على ميزة التطبيق بدلاً من إدارة الذاكرة. لا يزال من الممكن استخدام المرحلة اليدوية لإدارة الذاكرة، لكن هذا يتطلب عناية أكبر من المطورين.
باستخدام هذه المبادئ، تظل لغة Objective-C تحتفظ بمكانتها كأداة فعالة لتطوير التطبيقات على نظام iOS، مما يسمح للمطورين بالاستفادة من توازن سهل بين الأداء العالي والراحة في استخدامها.
مميزات وعيوب لغة Objective-C
تتمتع لغة Objective-C بعدد من المميزات التي تجعلها تظل خيارًا شائعًا في تطوير تطبيقات iOS. أولاً، تُعرف هذه اللغة بقوتها ومرونتها، حيث تسمح للمطورين بكتابة كود برمجي متكامل ومتعدد الاستخدامات. يوفر نموذج البرمجة الكائنية في Objective-C مساعدة كبيرة في بناء تطبيقات ذات هيكل معقد، مما يسهل المحافظة على الكود وتحديثه.
أيضًا، تتيح المكتبات الموجودة بالفعل دعماً ممتازاً لبناء واجهات المستخدم والتفاعل مع مكتبات نظام iOS المختلفة، مما يوفر الوقت والجهد للمطورين.
ثانيًا، يتسم Objective-C بأنه لغة عالية الأداء، وهو ما يجعلها مُناسبة للتطبيقات التي تتطلب كفاءة في المعالجة. علاوة على ذلك، تتيح القدرة على استخدام أسلوب البرمجة الديناميكية الفرصة للمطورين لإنشاء ميزات متعددة وتخصيص التطبيقات بشكل مفصل. كلما تطورت التطبيقات، يساهم هذا النوع من التخصيص في تقديم تجربة مستخدم غنية.
رغم هذه المميزات، هناك عيوب يجب أخذها بعين الاعتبار عند استخدام Objective-C. يعد التعقيد من أبرز العوائق، حيث يمكن أن يكون التركيب والنحو صعب الفهم، خصوصًا للمطورين الجدد.
وقد يؤدي ذلك إلى زيادة احتمالية الأخطاء، مما يتطلب المزيد من الوقت للبحث عن الأخطاء وإصلاحها. كما أن التداخل بين المفاهيم يتطلب مستوى عالٍ من التركيز، مما قد يؤدي إلى إبطاء عملية التطوير. في النهاية، يظل اتخاذ القرار بشأن استخدام Objective-C أو الانتقال إلى لغات أخرى مثل Swift مسألة تعتمد على متطلبات المشروع وتجربة المطورين.
الانتقال إلى Swift
في السنوات الأخيرة، شهدت صناعة تطوير البرمجيات تحولًا كبيرًا من لغة البرمجة Objective-C إلى Swift، حيث كانت Apple هي المحرك الرئيسي لهذا الانتقال. تم إطلاق Swift في عام 2014 كبديل حديث ومتقدم لـ Objective-C، وذلك استجابةً لمتطلبات المطورين الباحثين عن لغة أكثر سهولة وفعالية في كتابة الأكواد. تضم Swift العديد من الميزات التي تجعلها مفضلة لدى المطورين، مثل بساطة الصياغة، والأداء العالي، والقدرة على تقديم ميزات البرمجة الحديثة.
أحد الأسباب الرئيسية التي دفعت Apple لطرح Swift هو رغبتها في تحسين تجربة برمجة التطبيقات على نظام iOS. تم تصميم Swift لتكون أكثر أمانًا، مع تقليل خطر الأخطاء الشائعة التي كان يواجهها المطورون عند استخدام Objective-C. على سبيل المثال، توفر Swift أنواعًا أمانًا تفاعلية تساعد في التقليل من الأخطاء الناتجة عن استخدام المؤشرات أو العناوين غير الصحيحة، مما يحسن من جودة البرمجيات النهائية.
بالإضافة إلى ذلك، تمتاز Swift بأداء أعلى مقارنةً بـ Objective-C، مما يعزز من كفاءة تطبيقات iOS. كما أن واجهتها البرمجية هي أكثر وضوحًا وسهولة في الاستخدام، ما يجعلها مفيدة لكل من المبتدئين والمحترفين. بفضل هذه الميزات، أصبح من السهل على المطورين كتابة صيانة الكود والبرامج بسرعة أكبر، مما يزيد من الإنتاجية في بيئة العمل التطويرية. لذلك، تستمر Swift في اكتساب شعبية واسعة بين مطوري iOS، مما يشير إلى وجود تحول دائم في مشهد تطوير التطبيقات.
الفرق بين Objective-C و Swift
تعتبر لغتا البرمجة Objective-C و Swift من الأدوات الأساسية لتطوير تطبيقات نظام iOS. ومع ذلك، هناك اختلافات ملحوظة بينهما من حيث البنية، التركيب، وسهولة الاستخدام. بينما تمتاز Objective-C بتاريخ طويل وبيئة موثوقة، فإن Swift تقدم فوائد جديدة تعزز تجربة المطورين.
بانتساب البنية، تعتمد Objective-C على بنية الكائنات وتستخدم نظام الرسائل لتفاعل الكائنات. هذا النهج يمكن أن يكون معقدًا ومرتبطًا بتعلم المفاهيم الأساسية قبل البدء بالبرمجة. في المقابل، تتميز Swift ببنية أكثر وضوحًا وبساطة، مما يسهل فهمها للمطورين الجدد. تستخدم Swift بناء جملة أكثر حداثة وتبتعد عن التعقيدات الموجودة في Objective-C، مما يجعل قراءة الشيفرة وتعديلها أكثر سهولة.
من ناحية التركيب، توفر Swift ميزات حديثة مثل خيارات عدم التوافق “Optionals” التي تساعد على تجنب الأخطاء الشائعة الناتجة عن وجود قيم فارغة. هذا النوع من التركيب لا يتوفر بنفس الكفاءة في Objective-C، حيث يمكن أن تؤدي القيم الفارغة إلى مشاكل محتملة في التنفيذ. كما أن Swift تقدم دعمًا أفضل للبرمجة الوظيفية، مما يمنح المطورين القدرة على كتابة أكواد أكثر كفاءة.
أما بالنسبة لسهولة الاستخدام، فقد أظهرت الدراسات أن مطوري التطبيقات يفضلون غالباً Swift بسبب واجهتها الأكثر ودية ومرونتها. يمكن للمطورين الجدد استيعاب لغة Swift بسرعة أكبر، مما يساعدهم في تطوير تطبيقاتهم بشكل أسرع. كما توفر Swift أدوات متقدمة لتحسين الأداء وسهولة التركيب، وهو ما يفتقر له بشكل كبير في Objective-C.
على الرغم من نقاط القوة والضعف تنتمي كل من Objective-C و Swift إلى عالم برمجة التطبيقات لنظام iOS، تبقى الاختيارات متروكة للمطورين على أساس متطلبات مشاريعهم والتقنيات المحددة التي يفضلونها.
تطبيقات تم تطويرها باستخدام Objective-C
مرحلة تطوير التطبيقات في بيئة iOS باستخدام لغة البرمجة Objective-C كانت حاسمة في تشكيل النظام البيئي الحالي للتطبيقات. لقد تم استخدام هذه اللغة في العديد من التطبيقات الشهيرة التي حققت نجاحاً باهراً. ومن بين هذه التطبيقات، نجد تطبيقات التواصل الاجتماعي مثل Facebook وTwitter، حيث تم بناء جزء كبير من بنيتها الأساسية على Objective-C، مما ساهم في تيسير تجربة المستخدم وزيادة التفاعل.
بجانب تطبيقات التواصل، نجد تطبيقات الإنتاجية مثل Microsoft Office وDropbox، التي أعادت تعريف كيفية التعامل مع المستندات والملفات في الهواتف الذكية. إن استخدام Objective-C في هذه التطبيقات منحها القدرة على الاستفادة من الميزات المتقدمة لنظام iOS، مثل إدارة الذاكرة بصورة فعالة وتكامل سلس مع واجهات المستخدم، مما جعل التجربة أكثر سلاسة.
علاوة على ذلك، لعبت الألعاب دورًا كبيرًا في شهرة هذه اللغة. فمثلاً، تم تطوير لعبة “Angry Birds” الشهيرة باستخدام Objective-C، حيث تقدم تجربة لعب فريدة بفضل الرسوميات العالية والتفاعل الديناميكي. هذا النوع من الألعاب يظهر قوة Objective-C في معالجة الرسوميات والأداء العالي، مما جعل التقنيات المستخدمة في هذه اللغة محورية في تصميم الألعاب.
إن التطبيقات التي تم تطويرها بلغة Objective-C لا تقتصر على الألعاب أو وسائل التواصل الاجتماعي فقط، بل تشمل أيضاً تطبيقات التجارة الإلكترونية مثل Amazon وeBay، التي تعتمد على أدوات قائمة على Objective-C لتقديم تجربة تسوق سلسة. تفخر هذه التطبيقات بكونها جزءاً من إرث لغة Objective-C، التي ساهمت بفاعلية في نجاح وازدهار النظام البيئي لـ iOS.

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