لابد شنیده‌اید که کار کردن با اندروید، برای برنامه‌نویس‌ها راحت‌تر است. این موضوع را رد نمی‌کنیم؛ ولی نه در هر سطحی از برنامه‌نویسی. اجازه بدهید تا در ابتدا، ساختار کامپیوتر (چه کامپیوترهای شخصی و چه گوشی موبایل) را تشریح کنیم.

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

سمت چپ، الکوریتم جمع و سمت راست، الگوریتم تفریق

برای این که اپلیکیشنی ساده در آیفون باز شود (فقط باز شود!) 240 میلیون و پانصد هزار محاسبه انجام می‌شود. این عدد بسیار بزرگتر از چیزی است که به نظر میاید. اگر بخواهید از یک تا 240 میلیون بشمارید، بیش از پنجاه سال از عمرتان می‌گذرد. تصور کنید که مجبور بودید تمام این محاسبات را با ماشین حساب انجام دهید. خودتان نمی‌توانستید؛ باید نسل‌های متمادی را به این کار ترغیب می‌کردید تا یک اپلیکیشن باز شود. البته هنوز استفاده‌ای از آن نکرده‌اید!

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

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

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

(اگر به دنیای کامپیوتر علاقه‌ای ندارید، تا همین‌جای کار کفایت می‌کند.)

اما فرق بین اندروید و iOS!

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

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

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

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