What-is-Objective-C

Objective-C: میراثی از اکوسیستم اپل

فهرست مطالب

در اقیانوس گسترده و همواره در حال پیشرفت برنامه نویسی، زبان‌های اندکی توانسته‌اند تاثیری عمیق و ماندگار همچون Objective-C بر جای بگذارند. این زبان شی گرا (Object oriented) که با هوشمندی ویژگی‌های زبان قدرتمند C را با انعطاف پذیری و پویایی مفاهیم الهام گرفته شده از Smalltalk در هم آمیخت، برای دهه‌ها به عنوان نیروی محرکه اصلی اپل عمل کرد. از برنامه‌های دسکتاپ پیچیده تا اپلیکیشن‌های موبایلی که شیوه تعامل ما با تکنولوژی را دگرگون ساختند، Objective-C نقشی کلیدی ایفا کرده است. در ادامه با ما در سفری برای آشنایی با این زبان مهم و تاثیرگذار همراه باشید.

زبان Objective-C چیست؟

Objective-C یک زبان برنامه نویسی شی گرا (Objective-Oriented) است که به عنوان یک مجموعه بالا دستی (Superset) از زبان برنامه نویسی C طراحی شده است. این بدان معناست که نه تنها این زبان تمام ویژگی‌ها، دستورات و قابلیت‌های زبان C به ارث می‌برد بلکه مفاهیم دیگری نیز را به آن اضافه می‌کند.

ایده اصلی پشت خلق این زبان، ترکیب کارایی و کنترل سطح پایین زبان C با انعطاف پذیری و پویایی مدل شی گرایی زبان Smalltalk بود. از Smalltalk، مفاهیمی چون Message Passing به اشیا، وراثت و کلاس‌ها به اختیار گرفته شد. این ترکیب به توسعه دهندگان اجازه می‌داد تا برنامه‌هایی پیچیده با ساختاری منظم و قابل مدیریت ایجاد کند، در حالی که همچنان به قابلیت‌های نزدیک به سخت افزار زبان C دسترسی داشتند.

به طور خلاصه، زبان برنامه نویسی Objective-C زبانی بود که تلاش کرد بهترین‌های دو جهان را گرد هم آورد. ثبات و عملکرد C با الگوی شی گرایی پویا و قدرتمند Smalltalk، که این ترکیب آن را به ابزاری ایده آل برای توسعه سیستم‌ عامل‌ها و اپلیکیشن‌های پیچیده در زمان خود تبدیل کرد.

Objective-C-Code
نمونه کد Objective-C

کاربردهای زبان Objective-C

این زبان برنامه نویسی قدیمی در زمینه‌های مختلفی مورد استفاده قرار گرفته است که در ادامه به برخی از مهم‌ترین آن‌ها اشاره می‌کنیم:

  • توسعه اپلیکیشن برای iOS و macOS

محصولات اپل از محبوبیت و گستردگی بسیاری در سراسر جهان برخوردارند. این زبان قدیمی برای سال‌‌ها زبان اصلی برنامه نویسی برای توسعه اپلیکیشن‌ها روی پلتفرم‌های iOS و macOS اپل بوده است. طیف وسیعی از نرم افزارها، شامل اپلیکیشن‌های موبایل، برنامه‌های دسکتاپ، بازی‌ها و موارد دیگر با استفاده از این زبان توسعه یافته‌اند.

  • کدبیس‌های قدیمی (Legacy Codebases)

بسیاری از اپلیکیشن‌های موجود برای پلتفرم‌‎های اپل به وسیله این زبان نوشته شده‌اند. به همین دلیل، توسعه دهندگانی که با این زبان برنامه نویسی آشنا هستند، می‌توانند در نگهداری، به روز رسانی و گسترش این کدبیس‌ها نقشی موثر ایفا کنند.

  • فریمورک‌های Cocoa و Cocoa Touch

این فریمورک‌ها یکپارچگی بسیار عمیقی با زبان برنامه نویسی Objective-C دارند. فریمورک‌های Cocoa و Cocoa Touch مجموعه‌ وسیعی از APIها را برای کمک به توسعه رابط‌های کاربری، مدیریت رویدادها، دسترسی به سرویس‌ها و موارد دیگر فراهم می‌کنند. توسعه دهندگان از این زبان قدیمی برای تعامل با این فریمورک‌ها و بهره گیری از قابلیت‌های آن‌ها استفاده می‌کنند.

  • پروژه‌های متن باز (Open Source)

این زبان در پروژه‌ها، کتابخانه‌ها و ابزارهای متن باز مختلفی به کار رفته است. به عنوان مثال، بسیاری از فریمورک‌ها و کتابخانه‌های محبوب iOS و macOS با این زبان نوشته شده‌‎اند. 

  • انتزاع سطح بالا (High-Level Abstractions)

پشتیبانی Objective-C از پارادایم‌های برنامه نویسی شی گرا به توسعه دهندگان اجازه می‌دهد تا با استفاده از کلاس‌ها، اشیا، وراثت، ساختارهای انتزاعی سطح بالایی را ایجاد کنند. پشتیبانی قوی، این زبان را برای ساخت سیستم‌های نرم افزاری پیچیده با اجزای ماژولار و قابل استفاده مجدد، مناسب می‌سازد.

هاست پرسرعت با قیمت اقتصادی!

پویان آی تی با ارائه هاست قدرتمند و به روز، همراه با پشتیبانی حرفه‌ای، به شما اطمینان می‌دهد که به راحتی می‌توانید کسب و کار آنلاین خود را به راحتی راه اندازی کرده و با خیالی آسوده به سوی موفقیت گام بردارید.

مقایسه Swift و Objective-C

با ظهور زبان Swift در سال 2014، اپل گامی بلند به سوی مدرن سازی تجربه برنامه نویسی در پلتفرم‌های خود برداشت. Swift با وعده ایمنی بیشتر، سرعت بالاتر و سینتکس مدرن، به سرعت به عنوان جانشین Objective-C مطرح شد. هرچند زبان Objective-C با تاریخچه‌ای غنی، پایه گذار بسیاری از اپلیکیشن‌های موفق بوده است، اما تفاوت‌های بنیادینی با Swift در فلسفه، طراحی و قابلیت‌ها دارد. با این حال نکته قابل توجه، توانایی همکاری این دو زبان در پروژه‌های مشترک است. در ادامه به مقایسه ویژگی‌های این دو می‌پردازیم:

ویژگیObjective-CSwift
سینتکس و خواناییقدیمی‌تر، ترکیبی از C و Smalltalk، پرجزئیات‌تر (verbose)مدرن، خواناتر، خلاصه‌تر، نزدیک به زبان‌های برنامه‌ نویسی امروزی
ایمنیپویاتر، امکان بروز برخی خطاها در زمان اجراایستا و قوی، تاکید بر ایمنی با Optionalها، تشخیص خطا در زمان کامپایل
عملکردخوب، اما پیام‌ رسانی پویا می‌تواند سربار ایجاد کند.بسیار خوب، طراحی شده برای سرعت، با بهینه‌ سازی‌های کامپایلر
مدیریت حافظهابتدا دستی (Manual Retain-Release)، سپس شمارش خودکار ارجاع (ARC)از ابتدا و به طور انحصاری شمارش خودکار ارجاع (ARC)
یادگیریمنحنی یادگیری ممکن است برای مبتدیان تندتر باشد، نیازمند درک مفاهیم Cیادگیری عموما آسان‌تر، به‌ ویژه برای کسانی که با برنامه‌ نویسی مدرن آشنا هستند.
قابلیت همکاریکامل با Swift (از طریق Bridging Header)کامل با Objective-C (می‌تواند کدهای Objective-C را فراخوانی کند)
روند توسعهکاهش استفاده در پروژه‌های جدید، اما همچنان برای نگهداری کدبیس‌های قدیمی مهم است.زبان اصلی و آینده‌ دار اپل، جامعه کاربری فعال و در حال رشد
فایل‌هامعمولا فایل‌های هدر (.h) و پیاده‌سازی (.m) مجزامعمولا یک فایل واحد (.swift) برای هر کلاس یا ساختار

در نهایت

Objective-C زبانی با قدمت و اصالت در دنیای برنامه نویسی است که حتی پس از گذشت سال‌ها، هنوز هم در برخی حوزه‌های خاص به کار می‌رود. با این وجود، با معرفی Swift به عنوان جایگزینی کارآمدتر، توسعه برنامه‌های جدید iOS و macOS عمدتا با این زبان صورت می‌گیرد و Objective-C به دلیل برخی محدودیت‌ها و پیچیدگی‌های ساختاری دیگر انتخاب اول برای پروژه‌های نوین محسوب نمی‌شود.

سوالات متداول

  • آیا یادگیری Objective-C سخت است؟

بله این زبان جز زبان‌های سخت دنیای برنامه نویسی است و یادگیری آن از Swift پیچیده‌تر است.

  • آیا زبان Objective-C همچنان استفاده می‌شود؟

با اینکه این زبان کمی قدیمی است و جایگزین‌های بهتری برای آن معرفی شده همچنان در برخی موارد استفاده می‌شود.

  • چه زبانی به عنوان جایگزین Objective-C شناخته می‌شود؟

شرکت اپل زبان Swift را به عنوان جایگزین مدرن این زبان معرفی کرده است.

منابع

  • https://www.geeksforgeeks.org/what-is-objective-c/

به این مقاله امتیاز دهید!

میانگین امتیاز 0 / 5. تعداد رأی ها : 0

هنوز هیچ رأیی داده نشده. اولین نفر باشید!

اشتراک گذاری در تلگرام اشتراک گذاری در لینکدین اشتراک گذاری در ایکس کپی کردن لینک پست

و در ادامه بخوانید

دیدگاه (1)

  • آواتار کاربر
    خانم آقا محمدی

    آیا یادگیری Objective-C هنوز برای شروع برنامه نویسی iOS توصیه می‌شه یا بهتره مستقیم به سراغ Swift رفت؟

    ۲۲ تیر ۱۴۰۴

برچسب ها

برنامه نویسی