iphone یا OS X سیستم عاملی است که توسط کمپانی apple برای دستگاه های iphone و ipod touch ساخته شده است. این سیستم عامل بر پایه ی Darwin OS بنا شده است و شامل 4 لایه ی انتزاعی در پیاده سازی است. لایه ی CORE و Services و Media layer و Cocoa Touch layer که لایه ی رابط کاربری آیفون است. (یعنی همان صفحه ی لمسی مولتی تاچ) حجم این سیستم عامل 240 مگابایت است. بد نیست اگر بدانید تا سپتامبر 2009 حدود یکصد هزار برنامه برای آیفون نوشته و بیش از 2 میلیارد بار از وب سایت اپل دانلود شده است.
آیفون بجای پردازنده های X86 از پردازنده های ARM استفاده میکند. این پردازنده 32 بیتی است و به دلیل سادگی و سبک بودن در دستگاه های موبایل ، کنسول های بازی همراه، دستگاه های پخش موسیقی ،ماشین حساب ها و … کاربرد دارد.
اپل در سال 2007 امکان نوشتن برنامه های تحت وب و اجرای آنها بر روی آیفون را با استفاده از مرورگر SAFARI فراهم کرد. با توجه به دشوار بودن برنامه نویسی برای آیفون، این امکان برای طراحان بسیار جذاب بود . زیرا براحتی میتوانستند تکنولوژی هایی مانند آجاکس را به آیفون بیاورند. اما قوی نبودن موتور جاوااسکریپت مرورگر سافاری باعث شد تا برنامه های تحت وب آیفون چندان دلچسب نباشند و طرفداران زیادی نداشته باشند.
اپل در سال 2008 یک IDE برای آیفون ارائه کرد . این SDK -محیط برنامه نویسی- در Xcode اجرا می شود. Xcode همان محیط برنامه نویسی Mac OSX است. این محیط یک شبیه ساز آیفون نیز برای تست برنامه های نوشته شده دارد. اما برای ایجاد فایلی که روی دستگاه آیفون اجرا شود حتما باید یک نسخه کامل از این IDE را خریداری کرده باشید. برنامه نویسان میتوانند برنامه های خود را روی APP Store قرار دهند و بفروشند که در ازای هر خرید، 70% قیمت نرم افزار به برنامه نویس تعلق میگیرد. برنامه نویسان همچنین میتوانند نسخه های رایگانی از نرم افزار خود را روی APP Store قرار دهند.
زبان برنامه نویسی آیفون Objective-C است، که سینتکس آن شبیه C بوده و فقط قابلیت های زبان smalltalk به آن اضافه شده است. (آشنایی با objective-C ) کامپیوتری که امکان اجرای این SDK را داشته باشد باید حداقل سیستم عامل mac osx leopard داشته باشد. (در مورد ویندوز حتی فکرش را هم نکنید!)
شرکت SUN اعلام کرده است که بزودی نسخه ماشین مجازی خود را برای اجرا بر روی آیفون ارائه خواهد کرد تا برنامه های JAVA ME بر روی آیفون و ای پاد تاچ نیز قابل اجرا باشند.
امکان اجرای دات نت فریم ورک موبایل بر روی آیفون ممکن نیست. زیرا آیفون از پردازنده ی ARM استفاده میکند. اما با استفاده از Monotouch میتوان نتایج مشابهی را به دست آورد. مونوتاچ یکی از زیرشاخه های پروژه ی MONO است که امکان کامپایل کدهای DotNet را برای اجرا بر روی پردازنده های ARM فراهم میکند.
هم اکنون آیفون و مرورگر سافاری اش امکان نمایش فایل های فلش را ندارند. اما کاربران میتوانند نسخه ی Flash Lite را برای دیدن فایل های فلش روی آیفون نصب کنند. اما مشکل همچنان باقی است. FLASH در اصل یک virtual machine با یک کامپایلر just in time است که هنگام اجرای فایل های فلش باید کد های خارجی ای را روی آیفون اجرا کند که آیفون امکان چنین چیزی را به هیچ برنامه ای نمی دهد. شرکت ادوبی در نسخه فلش CS5 در حال اضافه کردن بخشی به این نرم افزار است که امکان کامپایل کردن فایل های فلش را به اپلیکیشن های آیفون میدهد. بنابراین تعداد بازی های آیفون به ناگهان چندین برابر خواهد شد. با این وجود همچنان امکان مشاهده ی فایل های اصلی فلش بر روی آیفون ممکن نیست.