آموزش برنامه نویسی آی او اس (iOS)

دسته بندی: برنامه نویسی موبایل

آموزش برنامه نویسی آی او اس

آنچه در این صفحه می خوانید:

معرفی آی او اس (iOS)

iOS سیستم عامل موبایل است که توسط .Apple Inc منحصراً برای سخت افزار آن ایجاد و ساخته شده است. این سیستم عامل است که در حال حاضر بسیاری از دستگاه های تلفن همراه شرکت از جمله آیفون و iPod Touch را قدرت می دهد. همچنین از iPad قبل از معرفی iPadOS در سال 2019 استفاده می کند. این دومین سیستم عامل محبوب تلفن همراه در سطح جهان بعد از Android است. در ابتدا در سال 2007 برای آیفون رونمایی شد، iOS برای پشتیبانی از سایر دستگاه های اپل مانند iPod Touch (سپتامبر 2007) و iPad (ژانویه 2010) گسترش یافته است. از مارس 2018، App Store اپل حاوی بیش از 2.1 میلیون برنامه iOS است که 1 میلیون آن نیتیو iPad است. این برنامه های تلفن همراه بیش از 130 میلیارد بار دانلود شده اند.

اپل به دلیل ترکیب عملکردهای قابل دستیابی کامل در iOS، مورد توجه کاربران قرار گرفته است که به کاربران دارای معلولیت بینایی و شنوایی امکان استفاده صحیح از محصولات خود را می دهد. نسخه های عمده iOS هر ساله منتشر می شوند. در تمام دستگاه های iOS اخیر، iOS مرتباً بروزرسانی را بررسی می کند و در صورت موجود بودن، کاربر را ترغیب می کند که نصب خودکار خود را مجاز کند. نسخه فعلی، iOS 13 در تاریخ 19 سپتامبر 2019 به بازار عرضه شد و ترفندهای رابط کاربری و حالت تاریک را به همراه ویژگی هایی از جمله برنامه طراحی مجدد Reminders، صفحه کلید و برنامه عکس پیشرفته معرفی کرد. iOS 13 از دستگاه هایی با رم کمتر از 2 گیگابایت، از جمله آیفون s5، iPod Touch و آیفون 6 و آیفون 6 پلاس پشتیبانی نمی کند، که هنوز هم بیش از 10 درصد از کل دستگاه های iOS را تشکیل می دهند. iOS 13 منحصراً برای آیفون و آی پاد لمسی است زیرا نوع iPad اکنون iPadOS نامیده می شود.

App Store چیست؟

App Store پلتفرم توزیع دیجیتال است، که توسط اپل .Inc تهیه و نگهداری شده است، برای برنامه های تلفن همراه در سیستم عامل iOS است. این فروشگاه به کاربران امکان می دهد برنامه های توسعه یافته با کیت توسعه نرم افزار iOS اپل را مرور و دانلود کنند. برنامه ها را می توان در تلفن هوشمند آیفون، iPod Touch یا تبلت iPad دانلود کرد و برخی از آنها را می توان به ساعت هوشمند اپل واچ یا نسل چهارم یا تلویزیون های جدید اپل به عنوان پسوند برنامه های آیفون انتقال داد. فروشگاه App در 10 ژوئیه 2008 افتتاح شد و 500 برنامه اولیه در دسترس بود. از سال 2017، این فروشگاه بیش از 2.1 میلیون برنامه دارد.

توسعه دهندگان گزینه های مختلفی برای کسب درآمد از برنامه های خود دارند، اعم از رایگان کامل و یا رایگان با خریدهای درون برنامه ای و پرداختی را شامل می شود. با این حال، App Store به دلیل عدم توسعه در راستای حفاظت محیط زیست مورد انتقاد قرار گرفته است و باعث شده این شرکت در ژوئن سال 2016 "تمرکز و انرژی تجدید شده" را در فروشگاه اعلام کند. عمده تغییرات معرفی شده در ماه های بعدی شامل تبلیغات در نتایج جستجو، مدل اشتراک برنامه جدید و امکان توسعه دهندگان برای پاسخگویی به نظرات مشتری است. علاوه بر این، اپل فرایندی را برای حذف برنامه های قدیمی که مطابق آن در نظر گرفته نشده اند یا دستورالعمل های برنامه فعلی را دنبال نمی کنند، آغاز کرد، با این که شرکت های تحقیقاتی برنامه متوجه تعداد قابل توجهی حذف برنامه از فروشگاه شدند. علاوه بر این، با انتشار iOS 11 در سپتامبر 2017، App Store تعمیرات کامل را دریافت کرد و تمرکز بیشتری را به مطالب سرمقاله و نکات برجسته روزانه و همچنین طراحی مشابه در سبک با چندین برنامه iOS داخلی اپل ارائه داد.

ویژگی های آی او اس (iOS)

هوم اسکرین (Home screen)

هوم اسکرین، ارائه شده توسط SpringBoard، نمادهای برنامه را در پایین تصویر نمایش می دهد که در آن کاربران می توانند برنامه هایی را که بیشترین استفاده را دارند، پین کنند. قبل از iOS 4 در iPhone 3GS، پس زمینه صفحه نمایش فقط با جیلبریک قابل تنظیم است اما اکنون می تواند خارج از باکس تغییر یابد. صفحه نمایش برای نمایش داده ها مانند زمان، سطح باتری و وضعیت قدرت سیگنال آنتن را در بالا دارد. بقیه صفحه به برنامه فعلی اختصاص داده شده است. هنگامی که رمز عبور تنظیم شده و کاربر دستگاه را روشن می کند، کد عبور باید قبل از اعطای دسترسی به هوم اسکرین، در صفحه قفل وارد شود. محققان دریافتند که کاربران بر اساس فرکانس استفاده و ارتباط برنامه ها و همچنین به دلایل قابلیت استفاده و زیبایی شناسی، نمادهایی را در هوم اسکرین خود ترتیب می دهند.

فونت سیستم

در ابتدا iOS از Helvetica به عنوان فونت سیستم استفاده می کرد. اپل اعلام کرد که آنها فونت سیستم را به Helvetica Neue Light تغییر می دهند، تصمیمی که انتقاد از استفاده نامناسب از تایپ سبک و باریک برای صفحه نمایش های همراه با وضوح پایین انتقاد کرد. سرانجام اپل به جای آن Helvetica Neue را برگزید. نسخه iOS 7 همچنین امکان مقیاس بندی متن یا اعمال اشکال دیگر تغییرات دسترسی به متن را از طریق تنظیمات فراهم کرده است. در iOS 9، اپل فونت را به سان فرانسیسکو، با هدف حداکثر خوانایی و قوام فونت در بین محصولات خود تغییر داد.

پوشه ها

iOS 4 پوشه هایی را معرفی کرد که با کشیدن برنامه در بالای برنامه دیگر می توان ایجاد کرد و از این به بعد با استفاده از همین روش می توانید موارد بیشتری را به پوشه اضافه کنید. عنوانی برای پوشه بطور خودکار توسط برنامه های سیستم انتخاب می شود، اما می تواند توسط کاربر نیز ویرایش شود. هنگامی که برنامه های داخل پوشه ها نشان های نوتیفیکیشن را دریافت می کنند، تعداد فردی از نوتیفیکیشن ها اضافه می شوند و تعداد کل به عنوان نشان اطلاع رسانی در خود پوشه نمایش داده می شود.

نوتیفیکیشن سنتر

کاربر می تواند برای باز کردن برنامه مربوطه، روی نوتیفیکیشن ضربه بزنید یا آن را پاک کند. اکنون نوتیفیکیشن هادر آگهی هایی ارائه می شوند که به طور خلاصه در بالای صفحه نمایش داده می شوند. اگر کاربر روی نوتیفیکیشن دریافت شده ضربه بزنید، برنامه ارسال کننده نوتیفیکیشن باز خواهد شد. کاربران همچنین می توانند با تنظیم نوتیفیکیشن برنامه، مشاهده نوتیفیکیشن هارا در پنجره هشدار معین انتخاب کنند. هنگامی که یک برنامه در حالی که بسته است نوتیفیکیشن ارسال می کند، نشان قرمز در نماد آن ظاهر می شود. این نشان می گوید، چند نوتیفیکیشن برای آن برنامه ارسال شده است. باز کردن برنامه نشان را پاک می کند.

دسترسی

iOS ویژگی های دسترسی مختلفی را برای کمک به کاربران دارای ناتوانی بینایی و شنوایی ارائه می دهد. یکی از ویژگی های اصلی، VoiceOver، اطلاعات خواندن صوتی را بر روی صفحه نمایش، از جمله دکمه های متنی، نمادها، پیوندها و سایر عناصر رابط کاربر فراهم می کند و به کاربر امکان می دهد تا از طریق حرکات، سیستم عامل را هدایت کند. هر برنامه با کنترل پیش فرض و ایجاد شده با فریمورک UIKit، قابلیت عملکرد VoiceOver را دارد. مثال شامل نگه داشتن آیفون برای گرفتن عکس است، با VoiceOver مناظر عکس را توصیف می کند.

چند وظیفه ای

Multitasking برای IOS برای اولین بار در ژوئن سال 2010 همراه با انتشار iOS 4. منتشر شد. فقط برخی از دستگاه ها مانند iPhone 4،iPhone 3GS و iPod Touch نسل 3، قادر به انجام چند وظیفه ای بودند. قبل از iOS 4، وظیفه Multitasking محدود به مجموعه برنامه های اپل موجود در دستگاه بود.

سیری (Siri)

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

زبان و ابزارهای برنامه نویسی آی او اس (iOS)

آموزش زبان برنامه نویسی آی او اس

در اینجا لیستی از محبوب ترین زبان های برنامه نویسی که برای توسعه برنامه های iOS استفاده شده است.

سوئیفت (Swift)

Swift یک زبان برنامه نویسی چند منظوره است که توسط شرکت اپل برای iOS،iPadOS،macOS،watchOS،tvOS،Linux و ساخته شده است. برای کار با فریمورک های Apple Cocoa و Cocoa Touch و بدنه کد Objective-C، برای محصولات اپل طراحی شده است. این سیستم با فریمورک کامپایلر LLVM بصورت اوپن سورس از نسخه 6، در Xcode گنجانده شده است. اپل قصد داشت Swift را برای پشتیبانی بسیاری از مفاهیم اصلی مرتبط با Objective-C، به ویژه ارسال پویا، انتشار گسترده، برنامه نویسی گسترده و ویژگی های مشابه، اما با روشی "ایمن تر" و گرفتن راحت تر اشکالات نرم افزاری ایجاد کند. سوئیفت از مفهوم توسعه پروتکل پشتیبانی می کند، سیستم توسعه پذیری که می تواند در تایپ های مختلف، ساختار و کلاس ها اعمال شود، که اپل به عنوان یک تغییر واقعی در پارادایم های برنامه نویسی آنها را "برنامه نویسی پروتکل گرا" (شبیه به صفات) معرفی می کند.

از طریق نسخه 3.0 سینتکس Swift با پیشرفت قابل توجهی روبرو شد و باعث ثبات منبع در نسخه های بعدی شد. در سه ماهه اول سال 2018 با افزایش محبوبیت سوئیفت از Objective-C پیشی گرفت. Swift 4.0 که در سال 2017 منتشر شد، تغییراتی در برخی از کلاس ها و ساختارهای داخلی ارائه داد. کد نوشته شده با نسخه های قبلی Swift را می توان با استفاده از قابلیت انتقال به Xcode وارد کرد. Swift 5 که در مارس 2019 منتشر شد، رابط باینری پایدار را روی سیستم عامل های اپل معرفی کرد و این امکان را فراهم می کند که ران تایم Swift در سیستم عامل های اپل گنجانده شود. این قابلیت با Swift 4 سازگار است.

Xcode یک محیط توسعه یکپارچه (IDE) برای macOS است که شامل مجموعه ابزارهای توسعه نرم افزار است که توسط اپل برای توسعه نرم افزار برای macOS،iOS،iPadOS،watchOS و tvOS ساخته شده است. آخرین نسخه پایدار در سال 2003 نسخه 11.0 است که از طریق فروشگاه App Mac به صورت رایگان برای کاربران macOS Mojave در دسترس است. توسعه دهندگان ثبت نام شده می توانند نسخه های پیش نمایش و نسخه های قبلی این مجموعه را از طریق وب سایت Apple Developer دانلود کنند.

Cocoa Touch یک فریمورک UI برای ساختن برنامه های نرم افزاری برای اجرا در iOS برای iPhone،iPod Touch و iPad،watchOS برای Apple Watch و tvOS است. Cocoa Touch لایه انتزاعی از iOS، سیستم عامل iPhone،iPod Touch و iPad را در اختیار شما قرار می دهد. Cocoa Touch مبتنی بر مجموعه ابزار macOS Cocoa API است و مانند آن، در درجه اول به زبان Objective-C نوشته شده است. Cocoa Touch امکان استفاده از سخت افزارها و ویژگی هایی را که در رایانه های MacOS یافت نمی شوند فراهم می کند و بنابراین منحصر به فرد برای دستگاه های iOS است. درست مانند Cocoa،Cocoa Touch از معماری نرم افزار Model-View-Controller پیروی می کند.

Cocoa Touch شامل مجموعه متفاوتی از عناصر کنترل گرافیکی از Cocoa است. ابزارهایی برای توسعه برنامه های مبتنی بر Cocoa Touch در iOS SDK گنجانده شده است. Cocoa یک فریمورک مدرن و شی گرا است. فریمورک Cocoa شامل تعاریف کلاس برای کلاس هایی است که عموما برای تولید یک رابط کاربری گرافیکی (GUI) برای برنامه هایی که تحت Mac OS X اجرا می شوند مفید است. Cocoa همچنین یک رابط شی گرا را برای سیستم عامل (OS) فراهم می کند. Cocoa همان چیزی است که خود اپل از آن برای توسعه برنامه های مک استفاده می کند که دارای سیستم عامل Mac X هستند مانندFinder،Mail،iTunes و غیره.

آبجکتیو سی (Objective-C)

Objective-C یک زبان برنامه نویسی همه منظوره است که پیام های سبک Smalltalk را به زبان برنامه نویسی C اضافه می کند. این زبان اصلی برنامه نویسی تا معرفی سوئیفت (Swift) در سال 2014 بود که توسط اپل برای macOS، آی او اس (iOS) و رابط های برنامه نویسی برنامه مربوطه (API)، Cocoa و Cocoa Touch پشتیبانی شد.

Objective-C زبان ساده و اصلی برنامه نویسی نوشتن نرم افزار برای OS X و iOS می باشد. این یک نسخه از زبان برنامه نویسی سی است و قابلیت های شی گرا و اجرا پویا را فراهم می کند. تفاوت اصلی آبجکتیو سی با دیگر زبان ها در Syntax، مکانیزم مدیریت حافظه و اسامی مفاهیم آن است. با این زبان فقط می توان برای اپل برنامه نوشت و با ابزار ایکس کد برای آن کدنویسی کرد. اکثر دستورات این زبان برگرفته از زبان سی می باشد و تنها قابلیت ارسال پیغام به آن اضافه شده است.

زبان Objective-C یک زبان شی گرا است. نوع عملکرد که در Cocoa framework قرار گرفته تنها می تواند از طریق تکنیک های شی گرا تحویل داده شود. به این دلیل که Objective-C فرمت استاندارد ANSI C است، برنامه های C موجود را می توان با استفاده از فریمورک های نرم افزاری بدون تغییر توسعه اصلی آنها، سازگار کرد. از آنجا که Objective-C شامل C می شود، هنگامی که در Objective-C کار می کنید، تمام مزایای C را دریافت می کنید.

سی شارپ (#C)

سی شارپ (#C) یک زبان برنامه نویسی چند پارادایم همه منظوره است که شامل تایپ قوی، اعلامی، کاربردی، عمومی، شی گرا و از نظر لغوی محدود شده و همچنین از رشته های برنامه نویسی مبتنی بر کلاس و مؤلفه است. در سال 2000 توسط مایکروسافت به عنوان بخشی از دات نت توسعه داده شد و بعداً توسط ECMA و ISO به عنوان یک استاندارد بین المللی تصویب شد. Mono نام پروژه رایگان و اوپن سورس برای تهیه کامپایلر و ران تایم زبان است. سی شارپ یکی از زبان های برنامه نویسی است که برای زیرساخت زبان مشترک (CLI) طراحی شده است. سی شارپ یک زبان همه کاره است که توسط آن می توانید برنامه نویسی برنامه های ویندوز، برنامه های گوشی های هوشمند، برنامه نویسی سمت سرور، بازی سازی و غیره را انجام دهید.

زامارین یک ابزار برنامه‌نویسی چندسکویی است که با استفاده از سی شارپ می توان برای اندروید، آی او اس (iOS)، ویندوزفون کدنویسی کرد. زبان #C به شما این امکان را می دهد که از یک Syntax و ویژگی های پیشرفته مانند Generics، لینک (LINQ) و کتابخانه Parallel Task استفاده کنید. ابزار IDE به ویژوال استودیو در مک و ویندوز اجازه می دهد تا شما بتوانید پروژه های Xamarin را ایجاد کنید. یکی از راه های ساخت رابط کاربر یا UI استفاده از Xamarin.forms است. Xamarin از دستگاه های wearable نیز پشتیبانی می کند. شما می توانید برنامه های نیتیو را برای Android Wear و Apple Watch نیز ایجاد کنید.

پایتون (Python)

پایتون یک زبان برنامه نویسی سطح بالا و تفسیر شده است. پایتون توسط Guido van Rossum ساخته و اولین بار در سال 1991 منتشر شد. از جهت فلسفه طراحی تاکید بر قابلیت خواندن کد و رویکرد شی گرا به منظور کمک به برنامه نویسان جهت نوشتن کد واضح و منطقی برای پروژه های کوچک و بزرگ دارد.

پایتون به صورت پویا تایپ شده و دارای سیستم جمع آوری زباله است. این زبان از چندین الگوی برنامه نویسی، از جمله برنامه نویسی تابعی، برنامه نویسی شی گرا و رویه ای پشتیبانی می کند. پایتون به دلیل كتابخانه های استاندارد، معمولاً به عنوان زبان "batteries included" توصیف می شود. به شدت قابل خواندن است و غالبا پایتون از کلمات کلیدی انگلیسی استفاده می کند و همچنین دارای ساختارهای syntactical کمتری نسبت به سایر زبان ها است. مفسر بودن پایتون بدین معنی است که در ران تایم توسط مفسر پردازش می شود و لازم نیست قبل از اجرا برنامه خود را کامپایل کنید.

پایتون زبان عالی برای برنامه نویسان مبتدی است و از توسعه طیف گسترده ای از اپلیکیشن ها، از پردازش متن ساده گرفته تا مرورگرها و بازی ها پشتیبانی می کند. بسته ایندکس پایتون (PyPI) هزاران ماژول شخص ثالث را برای پایتون میزبانی می کند. هر كدام از كتابخانه هاي استاندارد و ماژول ها به جامعه پايتون كمك مي كنند و فرصت هاي بی پايانی را فراهم می كنند. حتی اگر اسکریپتینگ و اتوماسیون قسمت بزرگی از موارد استفاده را پوشش دهد، پایتون برای ساخت نرم افزار با کیفیت حرفه ای و هم به عنوان برنامه های مستقل و هم به عنوان وب سرویس و در ساخت بازی نیز استفاده می شود.

کیوی (Kivy) یک کتابخانه متن باز پایتون برای توسعه سریع اپلیکیشن ها است که از رابط کاربری نوآورانه مانند اپلیکیشن های multi-touch استفاده می کند. Kivy چند سکویی است و در لینوکس، ویندوز، OS X، Android، iOS و Raspberry Pi اجرا می شود. شامل ماژول هایی برای خواندن و پخش فیلم ها می باشد. همچنین دارای یک ماژول قوی برای ورودی است که امکان Multitouch و gestures را فراهم می کند.

سی پلاس پلاس (++C)

++C یک زبان برنامه نویسی شی گرا و یک توسعه از زبان C است. ++C یک زبان همه منظوره، حساس به حروف، با نوشتار آزاد است که از برنامه نویسی شی گرا، رویه ای و عمومی پشتیبانی می کند. ++C یک زبان سطح متوسط است، زیرا هر کدام از ویژگی های زبان سطح بالا و پایین را پوشش می دهد. توسط Bjarne Stroustrup بعنوان پسوند زبان برنامه نویسی C یا "C with Classes" ایجاد شده است. این زبان با گذشت زمان بطور چشمگیری گسترش یافته است و ++C مدرن علاوه بر امکاناتی برای دستکاری حافظه سطح پایین، دارای ویژگی های شی گرا، عمومی و عملکردی نیز می باشد. تقریباً همیشه به عنوان یک زبان کامپایل شده اجرا می شود و بسیاری از فروشندگان کامپایلرهای ++C از جمله بنیاد نرم افزار رایگان، LLVM، مایکروسافت، اینتل، اوراکل و IBM را ارائه می دهند، بنابراین در بسیاری از سیستم عامل ها در دسترس است.

Qt یک فریمورک نرم افزاری کاربردی cross-platform، رابط کاربر گرافیکی GUI و یک toolkit است که برای توسعه نرم افزارها استفاده می شود. Qt یک ابزار ویجت رایگان و اوپن سورس برای ایجاد رابط های کاربر گرافیکی و همچنین برنامه های cross-platform است که بر روی سیستم عامل های مختلف نرم افزاری و سخت افزاری مانند لینوکس، ویندوز، macOS، اندروید یا سیستم های جاسازی شده اجرا می شوند. Qt در حال حاضر توسط شرکت Qt، یک شرکت با فهرست عمومی و پروژه Qt تحت مدیریت اوپن سورس توسعه داده شده است، که شامل توسعه دهندگان و سازمان های فردی است که برای پیشرفت Qt فعالیت می کنند.

اچ تی ام ال (HTML)

Hypertext Markup Language یا به اختصار HTML، زبان نشانه گذاری استاندارد اسنادی است که برای نمایش در مرورگر وب طراحی شده است. از فناوری هایی نظیر CSS و زبان های اسکریپتی مانند جاوااسکریپت می توان در آن بهره برد. مرورگرهای وب اسناد HTML را از وب سرور یا از فضای ذخیره محلی دریافت می کنند و اسناد را در صفحات وب چند رسانه ای ارائه می دهند. HTML ساختار صفحه وب را از نظر معنایی توصیف می کند و در اصل نشانه هایی را برای ظاهر شدن درج می کند. HTML زبان طراحی صفحات وب است و تمام کدهای صفحه، چه سمت سرور و چه سمت کلاینت در نهايت به کدهای HTML تبديل شده و توسط مرورگر به نمایش در می آیند. به این توجه داشته باشید که HTML زبان برنامه نویسی به حساب نمی آید.

ترکیب HTML 5 با CSS و سایر فناوری ها می تواند برای ساخت برنامه های هیبرید iOS استفاده شود. این ها برنامه های نیتیو نیستند. برنامه های هیبرید حول یک کنترل مرورگر پیچیده می شوند و از HTML و CSS برای ارائه صفحات در داخل برنامه ها استفاده می کنند.

Apache Cordova یک فریمورک توسعه برنامه کاربردی موبایل است که می تواند برای ایجاد برنامه های تلفن همراه چند سکویی با CSS و HTML5 و JavaScript استفاده شود. منظور از Cross-platform، این است که می توان یک بار کد برنامه را بنویسید و در چندین سیستم عامل تلفن همراه مانند اندروید، iOS یا ویندوز فون اجرا کرد. Apache Cordova یک فریمورک توسعه برنامه کاربردی تلفن همراه است که در ابتدا توسط نیتوبی ایجاد شده است. Adobe Systems نیتوبی را در سال 2011 خریداری کرد، آنرا دوباره به عنوان PhoneGap معرفی کرد و بعداً نسخه اوپن سورس نرم افزاری به نام Apache Cordova را منتشر کرد. Apache Cordova به برنامه نویسان نرم افزار این امکان را می دهد تا به جای اتکا به API های خاص برای سیستم عامل، برنامه هایی را برای دستگاه های تلفن همراه با استفاده از CSS، اچ تی ام ال و جاوااسکریپت ایجاد کنند.

محیط برنامه نویسی آی او اس (iOS)

ایکس کد محیط توسعه یکپارچه (IDE) برای macOS است که شامل مجموعه ابزارهای توسعه نرم افزار است که توسط اپل برای توسعه نرم افزار برای macOS،iOS،iPadOS،watchOS و tvOS ساخته شده است. آخرین نسخه پایدار در سال 2003 نسخه 11.0 است که از طریق فروشگاه App Mac به صورت رایگان برای کاربران macOS Mojave در دسترس است. توسعه دهندگان ثبت نام شده می توانند نسخه های پیش نمایش و نسخه های قبلی این مجموعه را از طریق وب سایت Apple Developer دانلود کنند. دارای امکان کد نویسی به صورت Runtime است. یعنی برنامه نویس همزمان با کد نویسی می تواند خروجی برنامه خود را مشاهده کند.

XCODE از زبان های برنامه نویسی مانند سی پلاس پلاس، Objective-C، جاوا، جاوااسکریپت، پایتون و روبی پشتیبانی می کند. تا به حال 4 نسخه مختلف از نرم افزار Xcode منتشر شده است و اخرین نسخه آن یعنی x4 در سال 2011 معرفی شد. در توسعه اپلیکیشن موبایل می توان از تکنولوژی های مختلفی هم برای نیتیو و هم هیبرید مانند React Native، زامارین، Cordova،jQuery Mobile،Kendo UI Ionic و Native Script و غیره استفاده کرد.

برای درک بهتر این موضوع به مقاله مقایسه اپلیکیشن های Native اندروید و آی او اس با React Native، Ionic و Native Script مراجعه کنید.

چگونه توسعه دهنده آی او اس (iOS) شویم؟

برنامه نویسی آی او اس

iOS سیستم عامل تلفن همراه اپل است که بر روی سخت افزارiPhone،iPad،iPod Touch اجرا می شود. اپل ابزارها و منابع لازم را برای ایجاد برنامه های iOS و لوازم جانبی این دستگاه ها فراهم می کند. به عنوان توسعه دهنده iOS، می توانید به زبان های نیتیومانند Swift یا Objective-C برنامه نویسی کنید یا برنامه های نیتیو کراس پلتفرم را با استفاده از ری اکت نیتیو یا زامارین بسازید.

پیش نیاز های توسعه

برای توسعه برنامه های iOS، به سیستم Mac نیاز دارید که آخرین نسخه ایکس کد را اجرا کند. Xcode IDE اپل برای هر دو برنامه Mac و iOS است. Xcode واسط گرافیکی است که شما برای نوشتن برنامه های iOS از آن استفاده می کنید. Xcode شامل SDK iOS، ابزارها، کامپایلرها و فریمروک هایی است که به طور خاص برای طراحی، توسعه، نوشتن کد و اشکال زدایی برنامه برای iOS نیاز دارید. اپل برای توسعه برنامه تلفن همراه نیتیو در iOS، استفاده از زبان برنامه نویسی مدرن Swift را پیشنهاد می کند. توجه به این نکته مهم است که Xcode فقط بر روی Mac OS X اجرا می شود و تنها راه پشتیبانی شده برای توسعه برنامه های iOS است.

کیت توسعه نرم افزار iOS

ابزارها، فناوری ها، قابلیت ها و زبان های موجود در iOS SDK را کشف کنید که توسعه برنامه ممکن است. برخی از ملزومات iOS SDK فریمورک های Cocoa Touch هستند که شامل UIKit،GameKit،PushKit،Foundation Kit و MapKit می شوند. این فریمروک ها و سایر موارد به شما امکان می دهند دوربین آیفون یا آی پد را دستکاری کنید، تعامل صوتی را با استفاده از SiriKit اضافه کنید، موسیقی را با MusicKit کاوش کنید، مشاهده و گوش دادن را از طریق AirPlay 2 گسترش دهید و حتی iMessage Chat Chat را به برنامه خود اضافه کنید. iOS 11 قدرت یادگیری ماشین را با تجربیات Core ML و واقعیت افزوده (AR) با ARKit افزود.

محیط توسعه خود را آماده کنید

  • دانلود Xcode
  • Xcode را راه اندازی کنید و پروژه جدید ایجاد کنید
  • با Xcode آشنا شوید
  • برنامه خود را با استفاده از برنامه iOS Simulator داخلی که در Xcode گنجانده شده است، بسازید و اجرا کنید. iOS Simulator روش عالی برای دیدن برنامه شما به نظر می رسد و می توانید با آن تعامل برقرار کنید که انگار در دستگاه واقعی هستید. می توانید برنامه خود را بر روی انواع سخت افزار و نسخه های iOS شبیه سازی کنید.

تست بتا

هنگامی که برنامه خود را ساخته و تست کرده اید (با استفاده از چارچوب XCTest یا آزمایش واحد iOS)، می توانید کاربران را به برنامه های خود دعوت کرده و قبل از اعزام به فروشگاه App، بازخورد خود را با استفاده از TestFlight جمع کنید. این زمان خوبی برای آزمایش اعلانات Push، ذخیره سازی داده ها با استفاده از داده های اصلی و برقراری تماس های شبکه ای به API های شخص ثالث است. شما به سادگی بتا ساختاری از برنامه خود بارگذاری کرده و از iTunes Connect برای افزودن نام و ایمیل آزمایش کنندگان استفاده می کنید. آزمایش کنندگان برنامه TestFlight را برای iOS نصب می کنند تا بتوانند با برنامه شما ارتباط برقرار کنند و بازخورد ارزشمندی را ارائه دهند.

تست ابر

آزمایش برنامه iOS خود در دستگاه های واقعی از اهمیت بسیار بالایی برخوردار است زیرا عملکرد دستگاه واقعی، نسخه های مختلف سیستم عامل، تغییراتی که توسط سازنده و شرکت های عامل حامل ایجاد شده ممکن است منجر به مشکلات غیر منتظره ای با برنامه شما شود. آزمایش بر روی دستگاه واقعی درک دقیق تری از نحوه تعامل کاربران با برنامه شما دارد.

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

توسعه

هنگامی که برنامه iOS خود را ساخته، تست کرده و بتا را آزمایش کرده اید، می توانید به فروشگاه App اعزام شوید. در این مرحله، شما باید به برنامه توسعه دهنده اپل بپیوندید. به عنوان عضو، به نرم افزار بتا، قابلیت های برنامه پیشرفته، ابزارهای گسترده آزمایش بتا و تجزیه و تحلیل برنامه دسترسی خواهید داشت.

آیا این نوشته را دوست داشتید؟
udemy-design-mobile-apps-ui-ux-and-prototyping-in-adobe-xd-and-ps

طراحی UI و UX اپلیکیشن های موبایل و نمونه سازی اولیه در Adobe XD و PS


راهنمای کامل طراحی اپلیکیشن ها در فتوشاپ و Adobe XD! بدون نیاز به برنامه نویسی، نمونه های اولیه تعاملی ایجاد کنید! برنامه های زیبایی را در فتوشاپ و Ad...

1399/07/29 200 بازدید زیرنویس دارد
pluralsight-ios-data-persistence-the-big-picture

پایداری داده های The Big Picture :iOS


در این دوره، شما قابلیت افزودن انبوهی از اطلاعات در امکانات the big picture برای ذخیره سازی داده در iOS را بدست خواهید آورد. در ابتدا، استدلال های ذخی...

1399/07/13 171 بازدید
pluralsight-ios-networking-with-rest-apis

شبکه سازی iOS با REST APIs


در این دوره، شما مهارت های ضروری تلنگر مؤثر به داده های سرویس وب و ترجمه آن به مدل داده های کاربردی را بررسی خواهید کرد. در ابتدا، مبانی سرویس های وب ...

1399/07/05 250 بازدید
udemy-react-native-the-practical-guide-2020-edition

راهنمای کاربردی ری اکت نیتیو (React Native) - ویرایش 2020


از React Native و دانش React خود استفاده کنید تا اپلیکیشن های نیتیو اندروید و iOS با incl، نوتیفیکیشن های Push،  ردوکس و Hooks ایجاد کنید. آیا خوب نمی...

1399/06/31 1038 بازدید زیرنویس دارد
pluralsight-ios-debugging-fundamentals

اصول اشکال زدایی iOS


در این دوره آموزش اشکال زدایی iOS، شما مجموعه ای از مهارت های فکری با کمک ابزارهای اصولی که Xcode برای یافتن و رفع نقص در اپلیکیشن به شما ارائه می دهد...

1399/06/29 164 بازدید
pluralsight-creational-design-patterns-in-swift-5

آموزش الگوهای طراحی خلاقانه در Swift 5


شما در این دوره، با استفاده از نمودارهای UML و مثال های کاربردی کد Swift، در مورد الگوهای خلاقانه یاد خواهید گرفت. ابتدا تاریخچه ای از الگوهای طراحی، ...

1399/06/29 233 بازدید زیرنویس دارد
code-with-mosh-the-ultimate-react-native-series-advanced-concepts

دوره کامل React Native - بخش 2 - مفاهیم پیشرفته - Code with Mosh


بر روی تکنیک های پیشرفته و بهترین روش ها برای ساخت اپلیکیشن های React Native با کیفیت و حرفه ای تبحر داشته باشید. با اطمینان برنامه های موبایل را با R...

1399/06/15 1149 بازدید
code-with-mosh-the-ultimate-react-native-series-fundamentals

دوره کامل React Native - بخش 1 - اصول و مبانی - Code with Mosh


بر روی اصول ساخت اپلیکیشن های نیتیو با React Native و Expo تسلط پیدا کنید. این دوره هر آنچه را که برای ساخت اپلیکیشن های واقعی با React Native از ابتد...

1399/06/15 1618 بازدید
pluralsight-getting-started-with-server-side-swift-and-vapor

شروع کار با Swift سمت سرور و Vapor


در این دوره، شما همه آنچه که برای شروع ساخت اپلیکیشن های وب با Vapor باید بدانید را یاد خواهید گرفت. شما محیط اختصاصی خود را راه اندازی خواهید کرد و ا...

1399/06/02 312 بازدید
linkedin-ios-development-siri-shortcuts

آموزش توسعه iOS: میانبرهای Siri


این دوره، Mohammad Azam به شما کمک می کند تا این ویژگی iOS، را اجرا کنید و نحوه پیاده سازی Siri Shortcuts را با استفاده از NSUserActivity و همچنین با ...

1399/05/17 313 بازدید زیرنویس دارد
linkedin-building-your-first-ios-app-2

ساخت اولین اپلیکیشن iOS شما


این دوره می تواند به شما کمک کند ایده خود را در به یک اپلیکیشن کاربردی iOS تبدیل کنید. به مدرس دوره، Todd Perkins بپیوندید؛ او به مسیر چگونگی ایجاد یک...

1399/05/09 548 بازدید
linkedin-macos-quick-tips

آموزش نکات سریع macOS


در این دوره، نکات کوچکی را دریافت کنید که می تواند به شما کمک کند تا با این سیستم عامل دسکتاپ از Apple کارآمدتر کار کنید. هر ویدئوی مستقل حدود یک دقیق...

1399/05/07 425 بازدید زیرنویس دارد
linkedin-ar-for-ios-developers-realitykit-and-reality-composer

واقعیت افزوده (AR) برای توسعه دهندگان iOS با RealityKit و Reality Composer


در این دوره، مدرس Brian Advent نحوه ساخت سریع اپلیکیشن AR با RealityKit، تولید محتوا و تعاملات با Reality Composer، و چگونگی استفاده از Reality Compos...

1399/03/31 439 بازدید زیرنویس دارد
linkedin-biometric-authentication-for-ios-in-swift

آموزش احراز هویت بیومتریک برای iOS در Swift


این دوره،موضوع احراز هویت بیومتریک را به صورت عمیق بررسی می کند و نحوه پشتیبانی از روش های احراز هویت Face ID و Touch ID را در برنامه های iOS شما با S...

1399/03/07 548 بازدید
linkedin-ios-13-development-essential-training-2-web-content-views-and-distribution

آموزش اصولی توسعه iOS 13 - بخش 2 - توزیع، Views و محتوای وب


علاوه بر این، نحوه نمایش داده در collection views و سلول های view جدول، نحوه ایجاد اپلیکیشن های زبانه دار با tab bar controller و قالب اپلیکیشن پر از ...

1399/02/28 482 بازدید
linkedin-software-testing-planning-tests-for-mobile

تست نرم افزار: برنامه ریزی تست ها برای موبایل


در این دوره، مربی Mike Fine مراحل مختلف تست و تهیه اپلیکیشن موبایل را برای ارائه به بازار آموزش می دهد. او کار را با نحوه برنامه ریزی و اجرای تست آلفا...

1399/02/27 1066 بازدید زیرنویس دارد
linkedin-macos-for-it-administrators

آموزش macOS برای مدیران IT


در این دوره کار با سیستم های macOS به عنوان مدیر IT را فرا خواهید گرفت. در این دوره اصول نحوه کارکرد macOS و نحوه تعامل آن با ابزارهای مدیریتی، شبکه ه...

1399/02/24 601 بازدید
linkedin-unity-integrating-gps-and-points-of-interest

آموزش یونیتی: یکپارچه سازی GPS و نقاط مورد علاقه


در این دوره آموزشی، مربی Diego Herrera روند کار را ترسیم می کند و به مبتدیان نشان می دهد که چگونه از GPS در برنامه های Android و iOS استفاده کنند. در ...

1399/02/19 929 بازدید
linkedin-shared-economy-for-ios-development

آموزش اقتصاد مشارکتی برای توسعه iOS


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

1399/02/19 438 بازدید
packtpub-app-monetization-a-deep-dive

کسب درآمد از ساخت اپلیکیشن - درک عمیق


این جامع ترین دوره و در عین حال یک دوره سر راست برای برنامه نویسی اپلیکیشن های موبایل است.حتی اگر هیچ گاه تاکنون برنامه نویسی نکرده اید، یا برخی از سی...

1399/02/14 835 بازدید