
با سلام و درود خدمت همراهان عزیز مجله خبری مستر مگ امروز میخوایم ببینیم سیستم عامل IOS با چه زبان های برنامه نویسی ساخته شده
پس با مقاله ی ” ios با چه زبانی ساخته شده ” با ما همراه باشید.
زبان برنامه نویسی IOS چیست
پاسخ کوتاه برای عموم :
سیستم عامل iOS عمدتا با زبانهای Swift ، Objective-C ، C و C++ ساخته شده
توضیحات تخصصی برای متخصصان نرم افزار
سیستمعامل iOS مبتنی بر Darwin است که خود شامل هسته (XNU) و لایههای BSDگونه میشود. هستهی XNU عمدتاً با زبانهای C و C++ و مقداری اسمبلی ARM نوشته شده است. در حقیقت امتیازات Mach و FreeBSD داخل XNU به زبان C پیادهسازی شدهاند
و برای نوشتن درایورها نیز از یک زیرمجموعه C++ خاص (IOKit) استفاده میشود. بهطور مثال چارچوب درایور IOKit در XNU به زبان C++ (یک زیرمجموعه Embedded C++) توسعه یافته است. در سطح بالاتر Darwin (هستهی آزاد macOS/iOS) به زبانهای C، C++، Objective-C و همچنین اسمبلی نوشته شده است.
این به این معناست که کد پایهی یونیکس-مانند سیستمعامل (مانند کتابخانههای BSD و سرویسهای زیرساخت) عمدتاً با C و C++ پیادهسازی شده و در موارد خاصی (مانند کلاسهای Objective-C برای برخی APIها) از Objective-C و اسمبلی بهره میبرد.
پیشنهاد : دیپ سیک با چه زبان برنامه نویسی ساخته شده
لایه میانی و فریمورکهای اصلی
در بالای هسته، فریمورکهای اصلی iOS (مثل UIKit، Foundation، CoreGraphics و…) پیادهسازی شدهاند. فریمورک Foundation شامل بخشهای C سطح پایین (Core Foundation) و APIهای Objective-C/Swift سطح بالا است. نسخهای از Foundation که روی دستگاههای iOS عرضه میشود، ترکیبی از کد C، Objective-C و Swift است. به بیان دیگر، هستهی کتابخانههای اساسی مثل NSString، NSArray و… در Core Foundation با C نوشته شده و لایهی ObjC آن نیز با Objective-C توسعه یافته است، ضمن آنکه بخشهایی از API جدید Swift نیز با زبان Swift نوشته میشود.

فریمورک UIKit که برای ساخت رابط کاربری در iOS استفاده میشود، عمدتاً با Objective-C پیادهسازی شده و اخیراً بخشهایی نیز به Swift منتقل شده است. UIKit بهطور اصلی با Objective-C و Swift توسعه یافته است. واضح است که در iOS جدید، بسیاری از APIها به Swift در دسترساند ولی پایهی اصلی UIKit همچنان Obj-C است.
Core Graphics (Quartz) یک API سطح پایین گرافیکی مبتنی بر C است. واسط کاربری Quartz (توابع CG*) یک API خالص C است، بدین معنی که توسعهدهنده صرفاً با توابع C سروکار دارد و کد آن نیز با زبان C نوشته شده است. به عبارت دیگر، بخش رندرینگ دوبعدی در iOS با C پیادهسازی شده و جزئیات آن در سطح پائین است.
علاوه بر این، فریمورکهای دیگری چون Core Animation، Core Data، AVFoundation و… عمدتاً با Objective-C نوشته شدهاند، هرچند در سالهای اخیر بهتدریج APIهای Swift و کدهای جدید Swift نیز به آنها افزوده شده است. بهطور خلاصه، لایههای میانی iOS ترکیبی از C/C++ برای زیرساختهای سطح پایین و Objective-C و Swift برای لایههای سطح بالا هستند.
ابزارهای توسعه و واسطهای برنامهنویسی
ابزار اصلی توسعه برای iOS یعنی Xcode، خود با استفاده از فریمورکهای داخلی macOS و زبانهای خود اپل ساخته شده است. Xcode عمدتاً با Objective-C نوشته شده و از فریمورکهای AppKit و … بهره میبرد. به همین دلیل قابلیت اجرا روی سیستمهای غیر macOS را ندارد. در نسخههای جدید Xcode، بخشهایی از رابط کاربری و ابزارها ممکن است با Swift توسعه یافته باشند، اما زبان پایهای Xcode Objective-C است.

SwiftUI که فریمورکی جدید برای طراحی رابط کاربری با زبان Swift است، طبیعتاً با زبان Swift نوشته شده است و به صورت یک چارچوب خصوصی در iOS و macOS ارائه میشود. ابزارهای رابط گرافیکی دیگر مانند Interface Builder و Simulator نیز بر پایهی Cocoa/AppKit (Objective-C/Swift) توسعه یافتهاند. بهطور کلی، ابزارها و واسطهای توسعهی Apple مثل Xcode، Simulator، Interface Builder و غیره با زبانهای رسمی اپل (Obj-C و Swift) و فریمورکهای خود پلتفرم ساخته شدهاند.
اجزای امنیتی، گرافیکی، درایورها و سرویسهای داخلی
با ادامه ی مقاله زبان برنامه نویسی IOS چیست همراه ما باشید
در بخش امنیت، برخی کتابخانهها و سرویسهای رمزنگاری از C استفاده میکنند. برای مثال کتابخانه CommonCrypto که در iOS بهصورت سیستم ارائه میشود، یک کتابخانهی متنباز C است. از سوی دیگر، فریمورک جدید CryptoKit با زبان Swift توسعه یافته و API ایمنی در اختیار توسعهدهنده قرار میدهد. بنابراین اپل در بخش امنیت هم از زبان C (برای کتابخانههای کهنه) و هم از Swift (برای چارچوبهای جدید) بهره میبرد.
در بخش گرافیکی پایینسطحتر، علاوه بر Core Graphics (C)، Metal API اختصاصی اپل برای دسترسی به GPU ارائه شده که شِیدرهای آن مبتنی بر زبان شبیه به C++ (Metal Shading Language) هستند. خود فریمورک Metal معمولاً با Objective-C/Swift برای کتابخانهی رابط و با C++ برای عملکرد پاییندستی درایورها کار میکند.
در نهایت، اجزای درایوری و سرویسهای سیستمی دیگر همانند IOKit (برای درایورهای سختافزار)، IOKit Audio/Graphics، و پروتکلهای شبکه معمولاً با C++ (بخش IOKit) و C (سرویسهای BSD و کدهای سیستمی) پیادهسازی شدهاند. برای مثال، چارچوب درایور IOKit بر پایهی C++ نوشته شده است.
جمعبندی
اپل در توسعهی iOS از ترکیبی از زبانهای C، C++، Objective-C و Swift استفاده کرده است. به طور خلاصه، بخشهای پایه (هسته و سرویسهای سیستم) عمدتاً به C/C++ نوشته شدهاند، فریمورکهای اصلی و لایههای میانی با Objective-C و گاه Swift توسعه یافتهاند، و ابزارهای توسعهی اپل نیز ترکیبی از این زبانها هستند.
منابع : اسناد Darwin و XNU اپلen.wikipedia.orgen.wikipedia.orgen.wikipedia.org، گیتهاب پروژههای اپل (Swift Foundation)github.com، ویکیپدیا (Darwin، XNU، UIKit)en.wikipedia.orgen.wikipedia.org و مقالات فنی مرتبط.
از این که با مقاله ی ios با چه زبان برنامه نویسی ساخته شده همراه ما بودید متشکرم


