ابتدا به صورت خلاصه وار، توضیح کوتاهی در مورد دو سیستم عامل معروف در حوزهٔ گوشیهای هوشمند بپردازیم. ای او اس و Android از بهترین سیستم عاملهای موجود در بازار هستند که این دو در رقابتی تنگاتنگ هر روز امکانات خود را افزایش میدهند. ios مخصوص محصولات شرکت اپل است ولی Android مورد استفاده دهها شرکت است. اپل میخواهد شما گوشی خود را با عملکردی که خودش تعیین کرده است مورد استفاده قرار دهید ولی در اندروید شما گوشی خود را همانگونه که میخواهید میتوانید مورد استفاده قرار دهید و عملکردی کاملاً انعطاف پذیر دارد. در واقع گوشیهای آیفون متعلق به شرکت اپل، باز هم به دلیل حساسیتی که اپل دارد، دسترسی به منابع سیستم و فایلهای سیستمی موجود در گوشی به راحتی امکان پذیر نیست. در حالت عادی شما نمیتوانید هیچ کدام از فولدرها و فایلهای سیستم عامل ای او اس گوشی را ببینید. شاید به همین دلیل هم هست که بسیاری افراد ترجیح میدهند گوشی آیفون خود را جیلبرک کنند تا راحتتر به محتوای آن دسترسی داشته باشند. (جیلبرک، اصطلاحی است که به باز کردن قفل سیستم عامل ios و رفع محدودیتهای آن اطلاق میشود). برعکس این، در گوشیهای اندرویدی همه چیز تحت کنترل شماست. البته اینکه همه چیز در دسترس باشد، همیشه هم مزیت نیست! در گوشیهای آیفون به دلیل محدود بودن دسترسیهای کاربر، میزان هنگ کردن گوشی بسیار کم و نزدیک به صفر است. حال بپردازیم به نحوی برنامه نویسی و زبانهای اصلی مورد استفاده در این سیستم عاملها.
همین ابتدا لازم است عنوان کنم که شرکت ایران تبلیغ با داشتن کادری مجرب و خبره در حوزه ساخت انواع اپلیکیشن، در خدمت شما عزیزان می باشد. کافی است از طریق شماره تماس 66350335-021 با ما تماس بگیرید و یا اینکه از طریق آی دی تلگرام به آدرس @Irantableegh_support پیام بدهید.
برای برنامه نویسی برای سیستم عامل اندروید باید به کدام زبان برنامه نویسی مسلط باشیم؟
ابتدا باید این مطلب را بیان کنیم که اندروید را به عنوان یک زبان برنامه نویسی اشتباه نگیرید، اندروید یک سیستم عامل میباشد که در واقع بر اساس یک پیاده سازی خاص از زبان برنامه نویسی جاوا است که شرکت بزرگ گوگل آن را به طور خاص برای گوشیهای هوشمند و انواع تبلتها و گجتهای هوشمند ایجاد کرد و با پیادهسازیهای رسمی JAVA که تحت عنوان JavaME، JavaSE، JavaEE توسط شرکت اوراکل منتشر شده متفاوت است. اما از آنجایی که هر زبان برنامهنویسی با پیادهسازی آن زبان معمولاً شناخته میشود، وقتی میگویند JAVA معمولاً JAVA ی رسمی اوراکل را مدنظر دارند، به همین دلیل ممکن است عبارت زبان اندروید بکار برده شود.
رابطه اندروید و جاوا:
اپلیکیشنهای جانبی اندرویدی به وسیلهٔ زبان جاوا برنامه نویسی میشوند و برای کار با لایههای زیرین سیستم عامل اندروید میتوانند از کتابخانههای جاوایی اندروید استفاده کنند. بخش رابط کاربری سیستم عامل اندروید با زبان جاوا نوشته شده است و بسیاری از برنامههای اندروید هم با جاوا نوشته شدهاند.
ولی این سیستم عامل، Java Virtual machine ندارد. برای اجرای برنامههای جاوایی روی این سیستم عامل، کدهای جاوا به کدهای Dalvik عوض میشوند و پس از آن بر روی Dalvik virtual machine اجرا میشوند. (دالویک یک ماشین مجازی جاوایی است که برای سیستم عامل اندروید بهینه شده است تا هم RAM و هم CPU و هم باطری کمتری مصرف کند). برنامههای جاوایی معمولی هم که روی گوشیهای دیگر اجرا میشوند با استفاده از نرم افزارهای شبیه ساز ماشین مجازی جاوا مانند j۲ME MIDP Runner روی این سیستم عامل قابل اجرا هستند.
از چه محیطی برای برنامه نویسی اندروید استفاده کنیم:
Android SDK شامل یک دیباگر، کتابخانههای اندروید، شبیه ساز سیستم عامل، مستندات اندروید و فایلهای نمونه و آموزشی است که به شما در ایجاد اولین برنامههایتان کمک میکند. هم اکنون این SDK بر روی یک سیستم که لینوکس، ویندوز و یا mac OSX داشته باشد اجرا میشود. پیش نیازهای نصب این SDK عبارتند از JDK و Apache Ant و python ۲. ۲. برنامههای نوشته شده برای اندروید با پسوند. apk ذخیره میشوند.
از چه زبانی برای برنامه نویسی برای سیستم عامل اندروید استفاده کنیم:
زبانهای زیادی برای نوشتن برنامه در سیستم عامل اندروید پیشنهاد میشود اما پیشنهاد خود گوگل بهترین انتخاب است. گوگل به عنوان پرچمدار سیستم عامل اندروید برای کد نویسی برای این پلتفرم زبان جاوا را پیشنهاد داده است که خود گویای برتری این زبان هست و میتونه هر کاری را در برنامه مورد نظر اندرویدی انجام بده. جاوا بهترین زبان برنامه نویسی برای اندروید میباشد. وقتی میخواید برای اندروید برنامه بسازید، باید زبانهای برنامه نویسی xml و جاوا رو بلد باشید. هرچی که بیشتر به این دوتا زبان مسلط باشید، بهتر میتونید برنامه اندروید بسازید.
البته توسعه دهندگان مستقل موبایل زمان زیادی را صرف میکنند تا یاد بگیرند چطور با استفاده از زبانهای برنامه نویسی دیگر میتوانند اپلیکیشنهای اندروید و ای او اس بسازند. از میان زبانهای جایگزین میتوان #C و (Pascal (Embarcadero-Rad Studio را نام برد. یکی دیگر از این زبانها ++C و کیت توسعهٔ نرم افزار DragonFire برای ای او اس و اندروید است. سال گذشته، Android Studio پشتیبانی از (NDK (Native Development Kit را اضافه کرد. بدین ترتیب توسعه دهندگان میتوانند از C و ++C در اپلیکیشنهای اندرویدی خود استفاده کنند. زبان جاوا با بایت کد بهینه سازی شدهٔ JVM میتواند امکان کدنویسی سریعتر را فراهم کند اما یک زبان نیتیو در زمینههایی مانند بازی سازی، شبیه سازی فیزیکی و پردازش سیگنال میتواند سریعتر و کارآمدتر باشد. البته تمام این کارها را با استفاده از فریم ورک JNI یا Java Native Interface میتوانید با دسترسی محدودتر انجام دهید اما سرعتتان کاهش پیدا میکند. به همین دلیل است که زبانهای نیتیو مثل سی پلاس پلاس در این زمینه مزیت دارند.
اغلب ادعا میشود که برنامههای جاوا با سرعت سی پلاس پلاس یا در بعضی موارد حتی سریعتر اجرا میشوند. سورس کد جاوا به صورت بایت کد کامپایل شده و با فرمت فشردهٔ jar. ذخیره میشود. در هنگام اجرا، JVM بایت کد فایل jar. را بارگذاری کرده و آن را به زبان ماشین کامپایل میکند (این ویژگی JIT یا کامپایل در لحظه (Just-In-Time Compilation) نام دارد.)
برای برنامه نویسی برای سیستم عامل ای او اس باید به کدام زبان برنامه نویسی مسلط باشیم؟
شما برای برنامه نویسی برایios میتوانید در محیط Xcode کد نویسی کنید اما درصورتی که شما در کد نویسی وارد هستید نیاز میباشد با ابزارهای شرکت اپل برای برنامه نویسی و همچنین قوانین کلی App store آشنا شوید. اپل به محدودیتهای خاص خودش معروف است و این مورد نیز به اپلیکیشنها نیز سرایت کرده است. پس قبل از شروع به یادگیری باید اطلاع پیدا کنید که به چه چیزهایی در ای او اس دسترسی خواهید داشت.
ایکس کد، زبان Swift و SDKهای ios
نرم افزار برنامه نویسی اپل برای هر دو سیستم عامل (ای او اس و مک) ایکس کد یا Xcode میباشد. این نرم افزار بطور رایگان در دسترس است و فقط برای مکینتاش عرضه شده است. پس درصورتی که میخواهید برای سیستم عامل آیفون برنامه بنویسید باید هرجور که میشود از مک استفاده کنید و ویندوز را کنار بگذارید.
اپل این روزها اکیدا توصیه میکند که از زبان جدید برنامه نویسی خود (سویفت) که همراه با ios8 معرفی و ارائه شد. استفاده کنید اما همچنان میتوانید از Objective c یعنی زبان قبلی اپل استفاده کنید. این شرکت قدم به قدم به شما کمک میکند تا Xcode را راه اندازی کنید. ایده خود را در قالب اپلیکیشن پیاده سازی کنید و در نهایت برای ارسال به اپ استور اقدام کنید.
معرفی Swift
زبان برنامه نویسی جدید اپل سویفت است. همانطور که گفته شد زبان برنامه نویسی یاد شده اختصاصی اپل میباشد و چندی پیش توسط اپل معرفی شد. با سویفت میتوانید برای هر دو سیستم عامل ای او اس و مک برنامه نویسی کنید اما اگر با این زبان نتوانستید رابطه برقرار کنید همچنان میتوانید از Objective C استفاده کنید.
اگر هنوز هم در ذهن خود درگیر این سوال هستید که: با چه زبانی شروع به برنامه نویسی در iOS بکنم؟ میتوانید هم Objective-C رو فرابگیرید و هم Swift ولی در حال حاضر منابع موجود برای Swift بسیار کم میباشد و هنوز در حال تغییر میباشد. با وجود اینکه Swift نسبت به Objective-C بسیار روانتر و سریعتر میباشد، ولی با توجه به شرایط موجود پیشنهاد میکنم Objective-C رو برای برنامه نویسی انتخاب کنید.
برنامهنویس اندروید، با هر سیستمی میتواند کار کند. ولی کسی که بخواهد در iOS کار کند، نیاز به کامپیوتر Mac (کامپیوترهای ساخت شرکت اپل) دارد. همین موضوع باعث شده که برنامهنویسهای iOS کمتر از همکاران اندرویدیشان باشند و در نتیجه، حقوقشان هم بالاتر برود. البته این شرایط برای حال حاضر است؛ شاید چند سال بعد چنین چیزی را مشاهده نکنیم.
آیا یادگیری ای او اس در کنار اندروید امری ضرروی است؟
خیر، هیچ ضرورتی به این موضوع نمیباشد ولی در صورتی که به هر دو سیستم عامل مسلط باشید میتوانید جامع هدف خود را گسترش بدید و از طرفی شانس خود را در اشتغال در شرکتهای خصوصی و دولتی بیشتر کنید.
امکان نوشتن یکبار کد برای هر دو سیستم عامل وجود دارد؟
بله، ولی به هیچ وجه پیشنهاد نمیشود.
بعد از برنامه نویسی کردن برای سیستم عاملهای ای او اس و اندروید چگونه میتوانیم برنامه خودمان را عرضه نماییم؟
iOS: شما برای برنامه نویسی و توسعهٔ این سیستم عامل، باید یک اکانت ۹۹ دلاری از دولوپر سنتر اپل خریداری کنید و بعد هم با دانلود SDK مربوطه و دیگر ابزارها، به برنامه نویسی بپردازید. اپل در این مورد هم سختگیرتر است و قوانین محکمی برای انتشار یک برنامه بر روی اپ استور خود وضع کرده است. در مورد عملکرد و اجرای برنامهها نیز حساس است و نظرات زیادی بر روی برنامهها دارد.
Android: در اندروید شما میتوانید با پرداخت ۲۵ دلار در سال، برنامهٔ خودتون رو بر روی گوگل پلی منتشر کنید. همچنین بدلیل وجود تعداد بیشتر بازارهای نسبتا رسمی برنامه برای اندروید، شما میتوانید برنامه یا بازی خود را بر روی آنها هم منتشر کنید و مخاطبان بیشتری بدست بیاورید.
طبق گزارش جدید شرکت تجزیه و تحلیل نرم افزار App Annie، گوگل پلی در سال ۲۰۱۵ آمار دانلود بیشتری داشته است. این آمار نشان میدهد که اندروید از ای او اس سبقت گرفته و به گفتهٔ App Annie، میتواند شروعی برای تغییراتی بزرگ در بازار موبایل باشد. البته توجه داشته باشیم که این افزایش آمار مربوط به بازارهای نوظهوری چون برزیل، هند و مکزیک است. در حالی که ios در چین، ایالات متحده و ژاپن رشد مداوم خود را حفظ کرده است البته با توجه به اینکه ما در ایران زندگی میکنیم، یکسری متغیرهای دیگر را هم برای انتخاب پلتفرم موبایل خود در نظر داشته باشیم. به طور مثال، ایران جزو کشورهایی است که درصد قابل توجهی از مردمش زیر خط فقر هستند و برای چنین گروهی از یوزرها، خرید محصولات گران قیمت اپل کاری بس دشوار است اما در عین حال، گوشیهای ارزان قیمت اندرویدی زیادی هستند که میتوانند نیاز این گروه از کاربران را برآورده سازند.
نتیجه گیری
در مجموع این دو سیستم عامل برنامه و اپلیکیشنهای بسیاری را برای کاربران فراهم کرده است که هر کدام در بعضی موارد باعث سهولت در روند انجام امور میشود و برنامه نویسی برای هر کدام از این سیستم عاملها مزایا خاص خودش را دارد. در یک کلام بگوییم؛ بین اندروید و ای او اس آنقدرها که تصور میکنیم تفاوت نیست. مهم این است که بخواهیم برنامهنویس باشیم یا نه. اگر علاقه داشته باشیم، شاید یک مکبوک دست دوم ارزانقیمت هم بتواند کار را راه بیاندازد. مهم این است که به کامپیوتر و برنامهنویسیاش علاقه داشته باشید.