برنامهنویس iOS یا برنامه نویس اندروید؟
فرقی نمیکند که برای چه کاری برنامهنویس شوید. در اولین قدم باید مفاهیم اولیهی برنامهنویسی، الگوریتمها، شیگرایی و (با عرض معذرت) زبان انگلیسی را بشناسید. برنامهنویسی موبایل هم از این موضوع خارج نیست؛ پیش از هرچیز برای یادگیریاش الگوریتمها، مبانی شیگرایی و انگلیسی میاموزیم.
قرار نیست به کلاسهای زبان انگلیسی برویم و تافل بگیریم. مهم این است که بتوانیم فرومهای انگلیسی را بخوانیم، به خواندن متنهای عمومی مسلط شویم و از لغتهای تخصصی سر در آوریم. بخش بزرگی از این یادگیری حین کار انجام میشود. ولی برای این که شروع کنید، بهتر است با زبان آشتی کنید و شروع به خواندن کنید. برای این کار، میتوانید از اپلیکیشن «کاسکو» (Casco) استفاده کنید.
در اولین قدم، مترجمهای آنلاین مثل «گوگل ترنزلیت» (Google Translate) را کنار بگذارید. در قدم بعدی، دیکشنریهای انگلیسی به فارسی را هم کنار بگذارید. زمانی که با دیکشنریهای انگلیسی به انگلیسی (مثل Oxford Elementry یا آکسفورد المنتری) کار میکنید، برای هر لغت مجبور به انگلیسی خواندن میشوید. البته اگر لغتها را در گوگل همراه با Define سرچ کنید، میتوانید معنای آنها را به انگلیسی بخوانید. این کار در ابتدا بسیار سخت است. ولی بعد از مدتی انگلیسیتان به قدری قوی میشود که خودتان باورتان نشود.
در قدم بعدی، با خودتان عهد ببندید که به جای پرسیدن، سرچ کنید. به احتمال زیاد، هر مشکلی که با آن بر بخورید، قبلا برای کسی پیش آمده است. در چنین مواردی، مردم در انجمنها (Forums) سوالشان را مطرح میکنند و دیگران به آن پاسخ میدهند. با سرچ، به این سوال و جوابها خواهید رسید. البته برای این کار باید انگلیسی سرچ کنید.
مهارت دیگری که بعد از انگلیسی خواهید آموخت، نوشتن و درک الگوریتمها است. احتمالا الگوریتم را بشناسید؛ مفهومی که انجام هر کاری را مرحله به مرحله توضیح میدهد. این مهارت بسیار مهم است. در بارهی اهمیتاش همین را میگوییم که نوشتن برنامه، فقط ترجمه کردنش به زبان کدها است. ولی اصل برنامه، الگوریتمی است که از ابتدا نوشتهایم. برای این که الگوریتمها را بشناسید، بهتر است کتاب «مبانی کامپیوتر و برنامهنویسی» (نوشتهی دکتر ناصر قاسم آقایی) را بخوانید. با خواندن این کتاب، مفاهیم اولیهی کامپیوتر را هم درک خواهید کرد و چراغ برایتان روشن میشود.
دربارهی شیگرایی نمیتوان زیاد صحبت کرد. شیگرایی، مفهومی است که در بیشتر زبانهای برنامهنویسی استفاده میشود. اگر بخواهید برای موبایل هم اپلیکیشن بنویسید، نیاز به یادگیری این مفهوم دارید. الآن نمیتوانیم از شیگرایی صحبت کنیم؛ برای این کار نیاز است تا برنامهنویسی را بشناسید.
حالا میخواهیم به سراغ انتخاب بین اندروید و iOS برسیم. برای این که با این دو سیستمعامل بیشتر آشنا شوید، پیشنهاد میکنیم که این پست را بخوانید. ولی قبل از آن، یک مورد را در نظر داشته باشید.
برنامهنویس اندروید، با هر سیستمی میتواند کار کند. ولی کسی که بخواهد در iOS کار کند، نیاز به کامپیوتر Mac (کامپیوترهای ساخت شرکت اپل) دارد. همین موضوع باعث شده که برنامهنویسهای iOS کمتر از همکاران اندرویدیشان باشند و در نتیجه، حقوقشان هم بالاتر برود. البته این شرایط برای حال حاضر است؛ شاید چند سال بعد چنین چیزی را مشاهده نکنیم.
در یک کلام بگوییم؛ بین اندروید و iOS آنقدرها که تصور میکنیم تفاوت نیست. مهم این است که بخواهیم برنامهنویس باشیم یا نه. اگر علاقه داشته باشیم، شاید یک مکبوک دست دوم ارزانقیمت هم بتواند کار را راه بیاندازد. مهم این است که به کامپیوتر و برنامهنویسیاش علاقه داشته باشید.
طبق گزارش جدید شرکت تجزیه و تحلیل نرم افزار App Annie، گوگل پلی در سال 2015 آمار دانلود بیشتری داشته است. این آمار نشان می دهد که اندروید از آی او اس سبقت گرفته و به گفته ی App Annie، می تواند شروعی برای تغییراتی بزرگ در بازار موبایل باشد. البته توجه داشته باشیم که این افزایش آمار مربوط به بازارهای نوظهوری چون برزیل، هند و مکزیک است. در حالی که آی او اس در چین، ایالات متحده و ژاپن رشد مداوم خود را حفظ کرده است. به نقل از App Annie:
ضریب نفوذ دیوایس در تعدادی از بازارهای نوظهور پایین خواهد ماند. درآمد فروش به رشد خود ادمه خواهد داد با توجه به این که آمار مخاطبان افزایش یافته و گزینه های کسب درآمد مانند پرداخت درون برنامه ای بیشتر از گذشته رواج خواهد یافت.
در حالی که برخی از توسعه دهندگان ترجیح می دهند که منحصراً برای آی او اس به توسعه ی نرم افزار بپردازند یا نرم افزارهایی را که در اصل برای پلتفرم اپل طراحی شده اند را بدون تضمین کیفیت به برنامه های اندروید تبدیل کنند، افزایش آمار دانلود برای پلتفرم گوگل موجب می شود که توسعه دهندگان در سال های آینده به این سیستم عامل روی آورند.
به گزارش App Annie، در سال 2015، بازی ها بیشترین آمار دانلود را در Google Play داشته اند و پس از بازی ها، اپ های کاربردی، اپ های ارتباطی، عکاسی، سرگرمی، شبکه های اجتماعی و همچنین اپلیکیشن های مربوط به شخصی سازی و موسیقی و صدا بیشترین آمار را به خود اختصاص داده اند. این فهرست کمی با فهرست برترین دسته های سیستم عامل iOS اپل تفاوت دارد.
با توجه به این که ما در ایران زندگی می کنیم، یکسری متغیرهای دیگر را هم برای انتخاب پلتفرم موبایل خود در نظر داشته باشیم. به طور مثال، ایران جزو کشورهایی است که درصد قابل توجهی از مردمش زیر خط فقر هستند و برای چنین گروهی از یوزرها، خرید محصولات گران قیمت اپل کاری بس دشوار است اما در عین حال، گوشی های ارزان قیمت اندرویدی زیادی هستند که می توانند نیاز این گروه از کاربران را برآورده سازند.
آیا یادگیری iOS در کنار اندروید امری ضرروی است ؟
خیر ، هیچ ضرورتی به این موضوع نمیباشد ولی در صورتی که به هر دو سیستم عامل مسلط باشید میتوانید جامع هدف خود را گسترش بدید و از طرفی شانس خود را در اشتغال در شرکت های خصوصی و دولتی بیشتر کنید .
امکان نوشتن یکبار کد برای هر دو سیستم عامل وجود دارد ؟
بله ، ولی به هیچ وجه پیشنهاد نمیشود .
با چه زبانی شروع به برنامه نویسی در iOS بکنیم ؟
میتوانید هم Objective-C رو فرابگیرید و هم Swift ولی در حال حاضر منابع موجود برای Swift بسیار کم میباشد و هنوز در حال تغییر میباشد .
با وجود اینکه Swift نسبت به Objective-C بسیار روان تر و سریعتر میباشد ، ولی با توجه به شرایط موجود پیشنهاد میکنم Objective-C رو برای برنامه نویسی انتخاب کنید .
ولی کسانی که با جاوا شروع به کار کردند ، توقع نداشته باشند که Objective-C هم مثل جاوا منطقی باشد ، کد نویسی با این زبان کمی خسته کننده خواهد بود .