در این مقاله می خواهیم شما را با انواع زبانهایی که برای توسعه اندروید باید یاد بگیرید آشنا کنیم. پس تا اخر همراه باشید.
جاوا، زبان برنامه نویسی رسمی اندروید بوده و توسط محیط توسعه اندروید استودیو پشتیبانی میشود. جاوا یکی از دشوارترین زبانهای برنامهنویسی بهمنظور یادگیری است.
اگرچه کاتلین بعد از جاوا دومین زبان برنامه نویسی رسمی اندروید به شمار میآید، اما برخلاف آن قدیمی نبوده و بهتازگی معرفی شده است. کاتلین از بسیاری جهات مشابه جاوا است، اما یادگیری و استفاده از آن کمی راحتتر به نظر میرسد.
اندروید استودیو با استفاده از Android NDK، از زبان قدیمی و محبوب سی پلاس پلاس نیز پشتیبانی میکند. با استفاده از آن ایجاد برنامههای کاربردی همچون بازیهای اندرویدی امکانپذیر خواهد شد. نباید پیچیدگی یادگیری این زبان را فراموش کرد.
#C:
زبان سی شارپ در مقایسه با ++C و C راحتتر بوده و توسط محیطهای توسعه بسیار قدرتمندی همچون زامارین و یونیتی پشتیبانی میشود. این ابزارها برای توسعه چند پلتفرمی و همچنین بازیهای موبایل فوقالعاده هستند.
نخستین زمان ظهور بیسیک به ۵۳ سال قبل برمیگردد، اما همچنان قدرتمند بوده و میتوان آن را جزو زبانهای برنامه نویسی اندروید به شمار آورد!
این مورد نیز برای توسعه ابزارهای چند پلتفرمی مناسب است. استفاده از کتابخانههای محلی و آسانسازی فرآیند تولید اپلیکیشن از مزایای کرونا است.
اگر یک طراح وب بوده و به این واسطه با HTML و CSS و احتمالاً جاوا اسکریپت آشنا هستید، میتوانید به لطف فون گپ، بدون نیاز به یادگیری سایر زبانهای برنامه نویسی اندروید، اپلیکیشن خود را ایجاد کنید.
در بالا، زبان های برنامه نویسی اندروید را معرفی کردیم. اکنون کارایی هر یک برای ایجاد نرمافزارهای این سیستم عامل را تشریح خواهیم کرد. یکی از این موارد را انتخاب کرده و سپس کار را آغاز کنید.
در زمان مطرح شدن برنامه نویسی اندروید، محبوبترین و نخستین پیشنهاد جاوا است. در بین زبانهای برنامه نویسی اندروید، جاوا رسمیترین مورد بوده و به همین دلیل بیشترین پشتیبانی را از سمت گوگل دریافت میکند. بیشترین نرمافزارهای موجود در گوگل پلی استور با استفاده از جاوا توسعه پیدا کردهاند.
سرراستترین کار برای ایجاد یک برنامه مناسب محبوبترین سیستم عامل موبایل دنیا، دریافت و نصب اندروید استودیو است. این محیط توسعه (IDE) رسمی اندروید بوده و چند سال پیش بهصورت رسمی توسط گوگل برای آسودگی کار برنامهنویسان معرفی شد. این IDE همه چیز را برای یک توسعهدهنده اندروید بهصورت یکجا فراهم میکند. آموزشهای زیادی درباره چگونگی استفاده و آموزش اندروید استودیو وجود داشته و کتابخانههای فراوانی برای به کار بردن درون آن یافت میشود.
جاوا در سال ۱۹۹۵ معرفی شد. اگرچه با استفاده از آن میتوان هر نوع نرم افزاری برای پلتفرمها و سیستم عاملهای مختلف نوشت، اما اصلیترین کاربرد جاوا، توسعه اپلیکیشن های تحت وب است. دلیل امکان استفاده از برنامههای جاوا در پلتفرمهای مختلف، ماشین مجازی آن است که بهراحتی بر روی هر سیستم عامل نصب میشود. دستگاههای اندرویدی نیز دارای این ماشین بوده و کدهای جاوا را تحلیل میکنند.
مشکل اینجاست که جاوا جزو سختترین زبانهای برنامه نویسی بوده و برای افرادی که با کد زنی آشنایی ندارند، نخستین تجربه را تبدیل به بدترین تجربه خواهد کرد! اندروید بهنوبه خود به خاطر دربرداشتن مفاهیم شیگرایی بسیار پیچیده است و پیچیدگی جاوا نیز به این موضوع دامن خواهد زد.
فراموش نکنید هیچ زبان برنامه نویسی بد نبوده و همانند زبانهای گفتگوی رایج انسانها، با استفاده از هر کدام میتوان به هدف خود رسید. قدرت جاوا بیشتر از همین ساده نبودن آن ریشه میگیرد. بر اساس جدول محبوبترین زبانهای برنامه نویسی دنیا، جاوا اکنون با فاصله زیاد از پایتون (دومین زبان محبوب)، در صدر قرار دارد.
بعد از انتخاب جاوا از بین زبان های برنامه نویسی اندروید، مطمئناً IDE مورداستفاده، اندروید استودیو خواهد بود. در این محیط توسعه به لطف وجود حالت بصری، میتوان برخی کارها را بهصورت درگ اند دراپ و چند کلیک ساده انجام داد و مشاهده کرد کدهای مربوط به آنها، بهصورت خودکار نوشته شدهاند.
کاتلین در سال ۲۰۱۱ ظاهر شد، اما بهتازگی به فهرست زبان های برنامه نویسی اندروید اضافه شده و حتی توانسته مقام دومین زبان برنامه نویسی رسمی این پلتفرم را نیز به دست بیاورد. به عقیده برخی، کاتلین پتانسیل بسیار زیادی برای پیشرفت دارد.
همانند جاوا، کاتلین نیز بر روی ماشین مجازی جاوا اجرا میشود. این زبان با جاوا سازگار بوده و سبب کاهش بازدهی نرم افزار و یا افزایش حجم فایل نهایی نخواهد شد. اصلیترین تفاوت آن، نیاز به کد نویسی کمتر است که کار را برای یادگیری و در ادامه کد زنی راحتتر میکند.
بهعنوان نمونه دیگر نیازی به استفاده مداوم از سمیکالن (;) در پایان هر خط نبوده و دیگر ارورهایی نظیر “Null Point Exceptions” مشاهده نخواهد شد. درنتیجه برای افراد ناآشنا به کد نویسی، بهمراتب انتخاب بهتری است.
امکان استفاده از اندروید استودیو حین کد زنی با کاتلین یکی دیگر از مزایای این انتخاب به شمار میآید. به خاطر تازگی این زبان، هنوز جامعه قدرتمندی برای آن وجود ندارد، به همین دلیل در زمان برخورد با مشکل، احتمالاً پاسخی دریافت نخواهید کرد. این در حالی است که جامعه برنامه نویسان جاوا مملو از توسعهدهندگان باتجربه است.
در اندروید استودیو به لطف امکان استفاده از Android NDK، از زبانهای سی و سی پلاس پلاس نیز پشتیبانی میشود. یعنی میتوان برنامههایی نوشت که بر روی ماشین مجازی جاوا اجرا نشده و در عوض، بهصورت مستقیم توسط خود دستگاه تفسیر میشوند. بهاینترتیب میتوان کنترل بیشتری بر روی برخی قسمتها همچون حافظه داشت.
برای اپلیکیشن های سنگین همچون بازیهای ۳ بعدی، میتوان به این وسیله بیشترین بازدهی را از هر دستگاه اندرویدی دریافت کرد. سی و سی پلاس پلاس بهعنوان ورژن دارای ویژگیهای شیگرایی آن، مملو از کتابخانههای آماده هستند و همین موضوع آنها را برای برخی توسعهدهندگان تبدیل به بهترین زبانهای برنامه نویسی اندروید میکند.
انعطافپذیری پایین در مقایسه با جاوا و وجود باگهای بیشتر، مشکلاتی هستند که حین برنامه نویسی اندروید با استفاده از سی پلاس پلاس در برابرتان قرار خواهند گرفت.
سی شارپ، نسخهای تروتمیز و کاربردی از سی پلاس پلاس بوده و توسط مایکروسافت توسعه پیدا کرده است. هدف مایکروسافت از ارائه آن، در دسترس بودن قدرت بالای ++C و ترکیب آن با سادگی استفاده از ویژوال بیسیک بود. میتوان آن را بهنوعی نسخه سادهشده جاوا دانست.
یکی از مزایای سی شارپ همچون جاوا، وجود ویژگی زبالهروبی خودکار است، به این معنی که نیاز نیست بهصورت دستی خانههای حافظه بدون استفاده را حذف کنید تا از مصرف بیهوده حافظه اصلی جلوگیری شود.
در مقایسه با جاوا، سی شارپ مدرنتر بوده و سینتکس مرتبتری دارد. برنامهنویسانی که بهجای دنیای متن باز، بیشتر در پلتفرمها و زبانهای مایکروسافت فعالیت کردهاند، بدون شک از بین زبانهای برنامه نویسی اندروید سی شارپ را انتخاب خواهند کرد.
ترکیب استفاده از سی شارپ و یونیتی، قدرت زیادی به توسعهدهنده خواهد بخشید. Unity، یک موتور بازی بوده و مواردی همچون محاسبات فیزیکی و رندر گرافیکهای سه بعدی را انجام میدهد. درواقع با یک IDE شبیه به اندروید استودیو روبهرو هستیم. این ابزار رایگان، توسعه بازیهای اندرویدی دارای گرافیک بالا را راحت میکند.
تنها با نوشتن چند خط کد طی یک ساعت میتوانید یک بازی ساده ایجاد کنید! بیشتر استودیوهای بازیسازی که محصولاتشان را در گوگل پلی استور قرار میدهند، از این ترفند برای توسعه استفاده میکنند.
اگر دوست دارید به یک توسعهدهنده اندرویدی، که قادر به ساخت بازی و اپلیکیشن بهصورت همزمان است تبدیل شوید، بهتر است یونیتی را فراموش کنید، چراکه محدودیتهای بسیار زیادی بهمنظور توسعه اپلیکیشن های کاربردی (غیر از بازی) دارد.
بیسیک برخلاف نام آن چندان ساده نبوده و این اسم نامگذاری مخفف عبارت «دستورالعمل کلی نمادین همهمنظوره برای مبتدیها» (BASIC -> Beginners All-Purpose Symbolic Instruction Code) است
متأسفانه امکان استفاده از آن در محبوبترین محیطهای توسعه نرمافزارهای اندروید یعنی اندروید استودیو، یونیتی و یا زامارین وجود ندارد. بااینحال به لطف B4A (مخفف بیسیک برای اندروید) میتوان از بابت وجود یک محیط توسعه اختصاصی در زمان استفاده از این زبان مطمئن بود.
مطمئناً در دورهای که اپلیکیشن های اندرویدی روز به روز پیچیدهتر و حرفهایتر میشوند، کمتر کاربری بهیکباره از بین زبان های برنامه نویسی اندروید به سراغ بیسیک خواهد رفت، اما در اختیار داشتن گزینههای بیشتر همواره یک امتیاز محسوب میشود.
یکی از اصلیترین سد راههای استفاده از بیسیک در مقایسه با تمامی زبانهای برنامه نویسی اندروید و محیطهای توسعه معرفیشده در این مطلب، رایگان نبودن آن است!
کرونا از تمامی کتابخانههای محلی پشتیبانی کرده و امکان ارائه ابزار برای پلتفرمهای مختلف را فراهم میکند. اگرچه بیشتر بهمنظور توسعه بازی از کرونا استفاده میکنند، اما کاربردهای بسیار بیشتری برای آن تعریف شده است. میتوان بدون نیاز به کامپایل کردن کدها، نتیجه کار را بر روی یک شبیهساز مشاهده کرد. نیازی به استفاده از یک IDE خاص نبوده و کد نویسی در نوت پد نیز کفایت میکند.
کرونا هم برای تازه واردها و هم برای افراد حرفهای گزینه مناسبی محسوب میشود، اما محدودیتهای آن سبب خواهد شد در زمان توسعه برنامههای پیشرفتهتر، با مشکلاتی مواجه شوید.
یکی دیگر از سادهترین موارد در بین زبان های برنامه نویسی اندروید، بهره بردن از فون گپ است که توسعه اپلیکیشن با استفاده از اچ تی ام آل و سی اس اس را امکانپذیر میکند. برای افرادی که دستی در طراحی سایت دارند، هیچ راهکاری بهتر از این یافت نخواهد شد!
فون گپ از Apache Cordova قدرت گرفته و بهواسطه آن، به همان شیوهای که با استفاده از HTML و همچنین CSS و جاوا اسکریپت اقدام به طراحی صفحات وب میکنید، ایجاد اپلیکیشن های موبایلی نیز امکانپذیر میشود. نتیجه کدهای نوشته را در یک حالت WebView مشاهده خواهید کرد.
فون گپ در اینجا همانند یک پل عمل کرده و به توسعهدهندگان اجازه میدهد به چند مورد از ویژگیهای ساده دستگاه همچون شتابسنج و یا دوربین دسترسی پیدا کنند.
همانطور که احتمالاً میدانید، اچ تی ام آل و سی اس اس برای ساخت صفحات وب کاربرد داشته و بههیچعنوان زبان برنامه نویسی محسوب نمیشوند، به همین دلیل برای ایجاد یک اپلیکیشن کاربردی حین بهره بردن از فون گپ، باید دست به دامن جاوا اسکریپت (کاملاً متفاوت از جاوا) شوید.