در این مقاله میخواهیم انواع زبان برنامه نویسی اندروید را مورد بررسی قرار دهیم البته قبلا در این زمینه مقالات زیادی را منتشر کرده ایم مثل مقایسه محیط های برنامه نویسی اندروید که مورد استقبال کاربران هم قرار گرفت. در این مقاله ابتدا تعدادی از زبان های برنامه نویسی اندروید که بیشتر کاربرد را دارند و بیشتر معروف می باشد را مورد بررسی قرار میدهیم. چون تعداد زبان های برنامه نویسی برای اندروید زیاد است و نمی توان کل آنها را مورد بررسی قرار داد. در این مقاله فقط زبان هایی که در ایران و معمولا جهان بیشترین استفاده را دارند مورد بررسی قرار میدهیم. پس همراه ما باشید تا انواع زبان برنامه نویسی اندروید را با هم مورد ارزیابی قرار دهیم.
انواع زبان برنامه نویسی اندروید
در این مقاله قرار نیست کل زبان های برنامه نویسی اندروید را با هم معرفی و مورد بررسی قرار دهیم چون اصلا امکان پذیر نیست اما در ایران چند زبان وجود دارد که بیشترین استفاده برای برنامه نویسی اندروید را دارند. که در بخش زیر این زبان ها را ابتدا معرفی می کنیم و در ادامه در مورد هر کدام توضیحاتی رو میدهیم.
- زبان برنامه نویسی جاوا (در محیط اندروید استودیو)
- زبان برنامه نویسی سی شارپ (با تکنولوژی زامارین)
- زبان برنامه نویسی بیسیک (در محیط بیسیک فور اندروید B4A)
- زبان برنامه نویسی پایتون (کتابخانه Kivy)
- زبان برنامه نویسی کاتلین (در محیط اندروید استودیو)
- زبانهای HTML5 + CSS + JavaScript
۱- زبان برنامه نویسی جاوا (در محیط اندروید استودیو)
در صدر انواع زبان برنامه نویسی اندروید جاوا قرار دارد، وقتی کسی می خواد سمت برنامه نویسی اندروید بیاد اولین زبانی که با آن روبرو می باشد زبان برنامه نویسی جاوا است. خیلی از برنامه نویس ها، زبان اصلی برنامه نویسی اندروید را زبان جاوا میدانند. البته باید این نکته رو هم مد نظر قرار دهیم که جاوا زبان رسمی برنامه نویسی اندروید است و این یعنی بیشترین پشتیبانی گوگل از این زبان خواهد بود. بیشتر اپلیکیشنهای اندروید که در حال حاضر در گوگل پلی حضور دارند، با استفاده از زبان جاوا نوشته شدهاند.
توجه: به جرات می توان گفت محبوبترین زبان برنامه نویسی اندروید، جاوا می باشد.
در نمودار درصدی محبوبیت زبان های برنامه نویسی و تعداد دفعات جستجوی نام زبان های برنامه نویسی در اینترنت، جاوا در جایگاه اول قرار دارد و ۲۳% از کل تعداد جستجوهای سالانه زبان های برنامه نویسی در اینترنت را تشکیل می دهد. اما متاسفانه در ایران زیاد مورد توجه قرار نمی گیرد این عدم توجه به این زبان شاید به خاطر پیچیدگی های آن باشد. معمولا در ایران جاوا فقط برای برنامه نویسی اندروید استفاده می شود و حتی خیلی ها هم از جاوا برای برنامه نویسی اندروید استفاده نمی کنند.
جالب است بدانید که خود سیستم عامل اندروید با استفاده از جاوا نوشته شده است و این بدان معنا است که شما اگر بتوانید جاوا را بیاموزید خواهید توانست اپلیکیشن های کامل و جامعی برای سیستم عامل اندروید بنویسید. یعنی شما پس از یادگیری جاوا قادر به نوشتن هر نوع اپلیکیشنی خواهید بود و هیچ محدودیتی در این زمینه برای شما وجود نخواهد داشت. پس می توان گفت که جاوا برای کسانی که می خواهند کارهای بسیار جدی و حرفه ای انجام دهند انتخاب خوبی می باشد.
نکته: جاوا مناسب ترین زبان برای توسعه اپلیکیشن های موبایل می باشد زیرا برنامه های نوشته شده با استفاده از جاوا قابل اجرا بر روی تمام پلتفرم های موجود برای اندروید می باشند.
اولین قدم در برنامه نویسی اندروید با استفاده از جاوا، نصب برنامه Android Studio است. این برنامه با اندروید SDK (پیشنهاد میکنم مقاله SDK چیست و تفاوت JDK و SDK رو مطالعه کنید.) بسته بندی میشود و این یعنی همه چیزهایی را که نیاز داریم در یک جا جمع شده است.
۱-۱- چرا زبان برنامه نویسی جاوا در ایران زیاد مورد استقال قرار نمی گیرد؟
متاسفانه، زبان برنامه نویسی جاوا مقداری پیچیده است و این پیچیدگی بزرگترین مانع برای بسیاری از افرادی است که می خواهند شروع به برنامه نویسی اندروید کنند. اندروید یک زبان برنامه نویسی شی گرا با موضوعات گیج کننده است، مانند ساختارها، خطاهای اشاره گر و بسیاری از ساختارهای پیچیده دیگر که اگر جاوا SDK را به اینها اضافه کنیم، همه چیز پیچیدهتر می شود. وقتی برای اولین بار سراغ کدنویسی اندروید میروید، باید به مبارزهای برای دانستن اینکه جاوا چیست و اندروید چگونه کار میکند، بروید. برنامه نویسی با استفاده از جاوا همچنین نیاز به درک پایهای از مفاهیم گریدل (مانند Manifest Android و XML) است.
با این تفاسیر نمی توان گفت زبان جاوا یک زبان بد و سخت می باشد تازه باید گفت جاوا، محبوبیت زبان برنامه نویسی جهان می باشد اما پیچیدگی های خودش را دارد. شما می توانید با جاوا هر نوع اپلیکیشنی بنویسید و یک کدنویسی تمیز داشته باشید. می توان گفت یکی از بهترین زبان های برنامه نویس اندروید، همین جاوا می باشد که بسیار هم مورد پسند برنامه نویسان جهان می باشد.
بهترین راه برای نوشتن برنامه های اندروید با استفاده از زبان جاوا، نصب و بهره بردن از برنامه اندروید استودیو می باشد. اندروید استودیو در طول چند سال گذشته روز به روز قوی تر شده و ویژگیهایی مانند طراح بصری و سیستم پیشنهادات که باعث میشود پردازش یکنواختتر و شفافتر باشد به آن اضافه شده است. پس ارزشش را دارد، حتی اگر سختی راه جلوی پیشرفت سریع ما را بگیرد، سراغ زبان برنامه نویسی جاوا برویم و برای توسعه اپلیکیشن اندروید از آن استفاده کنیم.
۲-۱- ویژگی های کلیدی زبان برنامه نویسی جاوا:
- شیء گرایی زبان
- قابل اجرا بودن در تمامی پلتفرم ها
- پشتیبانی از API هایی تکمیلی
- یادگیری آسان و خوانا بودن
- وجود هزاران کتابخانه کد باز مجزا در اینترنت برای بالا بردن قابلیت های جاوا به صورت کاملا رایگان
- امکان کسب مهارت بالا در آن و تبدیل شدن به یک فرد حرفه ای در زمینه جاوا با صرف مدت زمان نه چندان زیاد
- وجود IDE های قدرتمند که موجب ساده تر شدن فرایند کدنویسی با استفاده از زبان جاوا می شود و موجب می شود که برنامه نویسی در جاوا بدون ارور انجام شود.
۳-۱- کاربرد های زبان برنامه نویسی جاوا
جاوا تنها در توسعه اپلیکیشن های تلفن همراه کاربرد ندارد بلکه کاربردهای فراوانی دارد که در زیر به چند نمونه از آنها اشاده شده است:
- اپلیکیشن های اندروید
- اپلیکیشن های سرور
- اپلیکیشن های وب
- فضای جاسازی شده
- تکنولوژی داده های بزرگ
- اپلیکیشن های علمی
- وب سایت ها
- بازی ها
۴-۱- برخی از اپلیکیشن های بسیار مشهور تولید شده با استفاده از جاوا
- ThinkFree cloud office
- NASA world wind
- Blu-ray Disc Association
- UltraMixer
توجه: اگر میخواهید اطلاعات بیشتر نسبت به برنامه نویسی جاوا پیدا کنید پیشنهاد میکنم مقاله جاوا چیست رو مطالعه کنید.
۲- زبان برنامه نویسی سی شارپ (با تکنولوژی زامارین)
یکی دیگر از زبان های برنامه نویس اندروید، سی شارپ می باشد. سی شارپ در رده دوم انواع زبان برنامه نویسی اندروید قرار دارد زبانی که در ایران به شدت محبوبیت دارد و می توان از آن به عنوان محبوب ترین زبان برنامه نویسی در ایران یاد کرد. این زبان قابلیت برنامه نویسی برای بیشتر پلتفرم ها رو دارد. از سی شارپ می توانید برای برنامه نویسی ویندوز استفاده کرد یا می توان با آن طراحی سایت انجام داد. یا اصلا می توانید با سی شارپ اقدام تولید اپلیکیشن های اندروید و IOS کرد.
سی شارپ، یک زبان چند الگویی می باشد که علاوه بر شی گرا بودن جز گرا نیز می باشد. این زبان برنامه نویسی که توسط مایکروسافت ایجاد شده است دارای اهداف عمومی می باشد. منظور از اهداف عمومی داشتن این است که محدوده گسترده ای از برنامه های مختلف را می توان با استفاده از سی شارپ ایجاد نمود. با استفاده از سی شارپ می توان انواع مختلفی از برنامه ها از جمله اپلیکیشن های سرور، بازی هایی برای دسکتاپ و موبایل، سرویس های وب و … را ایجاد نمود. اگر شما می خواهید یک اپلیکیشن بازی تولید کنید، بهترین انتخابی که شما می توانید داشته باشید سی شارپ است زیرا این زبان توسط Unity3D پشتیبانی می شود.
اگر میخواهید شروعی آسان و در عین حال قدرتمند داشته باشید پیشنهاد میشود از ترکیب سی شارپ و Unity استفاده کنید. یونیتی یک موتور بازی سازی (یعنی میتواند محاسبات فیزیکی و رندرهای گرافیکی ۳D را انجام دهد) و یک IDE همانند اندروید استودیو است. یونیتی یک ابزار رایگان است و به کمک آن میتوان بازی ها را به طرز باورنکردنی به راحتی ایجاد کرد، و فقط با چند خط کد میتوان یک بازی را در کمتر از یک ساعت ایجاد کرد. بدون اغراق یونیتی واقعا قدرتمند است، و ابزار مورد استفاده بسیاری از استودیوهای بازی سازی در گوگل پلی است. و همچنین یونیتی مولتی پتفرمی است.
یونیتی برای ایجاد بازی مناسب است ولی اگر می خواهید یک برنامه اندروید که مطابق با استانداردهای گوگل باشد را تولید کنید استفاده از یونیتی غیر استاندارد است و شما را محدود میکند ، ولی اگر قصد توسعه یک بازی را دارید یونیتی کاملا مناسب و حرفه ای است. ولی اگر برای یادگیری یونیتی مشتاق نیستید میتوانید از Unreal و یا GameMaker استفاده کنید.
همچنین سی شارپ میتواند با Xamarin در ویژوال استودیو مورد استفاده قرار گیرد. که میتوان از مزیت چند سکویی (cross platform) نیز استفاده کرد (یک پایه کد برای اندروید و iOS) . برای یک مبتدی این مسیر مقداری دشوار است اما برای یک شرکت کوچک که میخواهد یک برنامه برای اندروید و iOS ایجاد کند مناسب است.
سی شارپ یک نسخه ساده تر و شی گرا از C و ++C است که توسط مایکروسافت طراحی شده است. این زبان دارای قدرت ++C و آسان بودن ویژوال بیسیک است و همچنین به عنوان یک نسخه ساده از جاوا نیز نام برده می شود. همانند جاوا، سی شارپ نیز قابلیت بازیافت حافظه (زبالهروبی ) را دارد و این یعنی نیازی به نگرانی در مواردی مانند کمبود حافظه و آزاد کردن رم وجود ندارد. در عین حال سی شارپ جدیدتر از جاوا است. انتخاب بهترین زبان برای برنامه نویسی اندروید معمولا بستگی به سلیقه فرد دارد.
توجه: اگر میخواهید اطلاعات بیشتر نسبت به برنامه نویسی سی شارپ پیدا کنید پیشنهاد میکنم مقاله زبان برنامه نویسی سی شارپ چیست؟ رو مطالعه کنید.
۳- زبان برنامه نویسی بیسیک (در محیط بیسیک فور اندروید B4A)
اگر بخواهیم بگویم بهترین زبان برنامه نویس اندروید که نیاز نیست زیاد درگیر پیچیدگی برنامه نویسی شوید چی زبانی است می توان گفت Basic می باشد. واقعیت این می باشد اگر میخواهید برنامه نویسی اندروید کار کنید و حوصله کار با زبان های سخت و پیچیده رو ندارید پیشنهاد میکنم به سمت B4A بروید. در قسمت سی شارپ گفتیم که سی شارپ داری قدرت C و آسانی Visual Basic است. زبان برنامه نویسی Basic یک نقطه شروع لذت بخش برای یادگیری برنامه نویسی است. اما متاسفانه به طور رسمی توسط اندروید استودیو پشتیبانی نمیشود و نمیتوان از بیسیک در Unity یا Xamarin استفاده کرد. اما خبر خوب این است که یک گزینه کمتر شناخته شده در بیسیک به نام B4A وجود دارد. B4A مخفف BASIC 4 Android و همانطور که از اسم آن معلوم است، امکان استفاده از بیسیک در اندروید را ایجاد میکند.
توجه: اگر تا حالا برنامه نویسی کار نکردید و دلتون می خواد برنامه نویسی اندروید یاد بگیرید و اپلیکیشن بنویسید پیشنهاد میکنم حتما در مورد BASIC 4 Android تحقق کنید و یکی از انتخاب هاتون باشد.
B4A به عنوان یک RAD یا Rapid Application Development طراحی شده است. این زبان یک گزینه عالی برای برنامه نویسی است و می توان با آن برنامههای قدرتمندی ساخت، ولی این زبان برای بازی سازی مناسب نیست.
نکته مهم: زبان بیسیک در جدول انواع زبان برنامه نویسی اندروید به عنوان راحترین زبان برنامه نویسی برای اندروید شناخته می شود.
۴- زبان برنامه نویسی پایتون (کتابخانه Kivy)
می توان گفت پایتون یکی از بهترین زبان های برنامه نویس اندروید است که در ایران، طرفداری زیادی ندارد. پایتون یک زبان برنامه نویسی سطح بالا است که در توسعه وب، توسعه اپلیکیشن ها، تولید GUI های دسکتاپ، توسعه نرم افزارهای کاربردی و آنالیز داده های عددی و علمی بسیار استفاده می گردد.
پایتون یکی از زبان های برنامه نویسی است که بسیار در دانشگاه ها تدریس می شود و در چارت درسی بسیاری از دانشگاه های بزرگ دنیا دیده می شود. دلیل شهرت و محبوبیت این زبان برنامه نویسی کاربردی بودن آن است زیرا این زبان برای طراحی نرم افزارها مناسب می باشد.
اگر درگیر انتخاب زبان برنامه نویسی اندروید هستید و نمی دونید از کدام زبان برنامه نویسی استفاده کنید به نظرم پایتونم گزینه جالبیه ولی همان طور که در بالا گفتیم در ایران هنوز جا نیفتاده و کمتر کسی به سمت آن میرود. (البته در یک سال اخیر دید به پایتون بهتر شده است و در حال جا باز کردن بین برنامه نویس های ایرانی می باشد.)
۱-۴- فلسفه اصلی زبان برنامه نویسی پایتون را می توان در موارد زیر خلاصه نمود:
- صریح بودن بهتر از غیر صریح بودن است
- زیبایی بهتر از زشتی است
- سادگی بهتر از پیچیدگی است
- پیچیدگی بهتر از نامفهوم بودن است
- خوانایی یک فاکتور بسیار مهم است
۲-۴- سایت ها و برنامه هایی که با زبان برنامه نویسی پایتون نوشته شده اند:
- Calibre
- OpenStack
- Ubuntu Software Center
- World of Tanks (I’m sure you have played it)
- BitTorrent
- Quora
- Spotify
- YouTube
این لیست تنها تعداد محدودی از برنامه ها، اپلیکیشن ها، وب سایت ها و نرم افزارهای تولید شده با استفاده از پایتون را نام برده است و اگر بخواهیم تمامی آنها را نام ببریم باید چند صد صفحه را با نام های برنامه ها و اپلیکیشن های مختلف پر کنیم.
پایتون علاوه بر سادگی و کارامد بودن این امکان را به شما می دهد که هر نوع اپلیکیشن و نرم افزار و حتی وب سایتی را که می خواهید با استفاده از آن تولید نمایید و علاوه بر این یادگیری آن بسیار بسیار ساده است.
توجه: اگر می خواهید در مورد زبان پایتون بیشتر بدونید پیشنهاد میکنم مقاله پایتون چیست رو مطالعه کنید.
۵- زبان برنامه نویسی کاتلین (در محیط اندروید استودیو)
اگر به دنبال انتخاب زبان برنامه نویسی اندروید هستید به نظرم در مورد زبان کاتلین هم یک تحقق داشته باشید. زبان برنامه نویسی کاتلین به عنوان یک زبان رسمی دیگر برای اندروید معرفی شده است.
همانند جاوا، زبان کاتلین هم در ماشین مجازی جاوا اجرا میشود. تفاوت کاتلین با جاوا در این است که پیچیدگیهای جاوا را ندارد و این یعنی که زبانی سادهتر برای یادگیری است. همچنین خطاهایی مانند Null point exceptions و Excuses در کاتلین وجود ندارند. به طور خلاصه اگر اولین بار است که میخواهید برنامه نویسی اندروید را شروع کنید، این زبان می تواند انتخاب مناسبی برای شما است.
۱-۵- زبان برنامه نویسی کاتلین چقدر مختصر و مفید است؟
کاتلین اساساً روی کاهش اندازه ی کدنویسی تمرکز دارد. به این ترتیب کار برنامه نویس و کاربران نهایی اپلیکیشن راحت تر می شود. در نهایت اپلیکیشنی که توسط این زبان نوشته شده است حداکثر فایده را با اشغال کمترین فضای ممکن خواهد داشت. زبان برنامه نویسی کاتلین قابل فهم تر می باشد پس راحت تر می توان از آن استفاده نمود.زبان برنامه نویسی کاتلین به دلیل ساده بودن سینتکس ، پیچیدگی کمتری دارد بنابراین انجام پروژه را برای توسعه دهنده ی نرم افزار راحت تر و سریعتر می کند.با توجه به اینکه اندازه ی کدها کمتر شده می توان گفت احتمال بروز خطاهایی همچون null pointer exception را کاهش می دهد.
چند وقت پیش، برنامه نویسان اپلیکیشن های اندروید خبر مسرت بخشی را شنیدند. در این زمان بود که انتظارها به پایان رسید و گوگل رسماً اعلام کرد که از زبان برنامه نویسی کاتلین، که یک زبان برنامه نویسی برای تولید برنامه های اندرویدی قوی میباشد، پشتیبانی می کند و این باعث شد تا این زبان جزو بهترین زبان های برنامه نویس اندروید شود.
قطعا کاتلین بهترین نقطه شروع برای مبتدیان است و با کاتلین هم میتوان از اندروید استودیو استفاده کرد. با این وجود هنوز هم نمیتوانیم بگوییم زبانهایی چون C# یا Unity سادهتر هستند و همچنین پشتیبانی از این زبانها نسبی است.
با این حال، کاتلین قطعا جز بهترینها است و میتواند آسان ترین ورودی برای یادگیری برنامه نویسی اندروید باشد. حتی این احتمال وجود دارد که این زبان برنامه نویسی، روزی به عنوان زبان اول گوگل انتخاب شود.
۶- زبانهای HTML5 + CSS + JavaScript (در محیط فون گپ)
اگر یک طراح وب بوده اید و به این واسطه با HTML و CSS و احتمالا جاوااسکریپت آشنا هستید، میتوانید به لطف فون گپ، بدون نیاز به یادگیری سایر زبان های برنامه نویسی اندروید ، اپلیکیشن خود را ایجاد کنید.
اگر دنبال انتخاب زبان برنامه نویسی اندروید هستید و تا حدودی با HTML ، CSS و جاوااسکریپت آشنایی دارید و کار کرده اید می توانید از PhoneGap استفاده کنید. PhoneGap توسط Apache Cordova طراحی شده و اجازده میدهد تا با استفاده از کدهایی که برای ایجاد یک وب سایت (HTML, CSS and JavaScript) استفاده میکنیم یک برنامه اندروید ایجاد کنیم. در واقع همانند نمایش یک صفحه وب عمل میکند اما یک برنامه اندروید در خروجی میدهد. PhoneGap همانند یک پل عمل میکند و به برنامه نویس اجازه دسترسی به برخی ویژگیها مانند دوربین یا شتابسنج را میدهد.
در واقع این برنامه نویسی اندروید نیست و تنها برنامه نویسی واقعی JavaScript است. برای بسیاری از وظایف این گزینه مناسب است اما اگر میخواهید بگویید که یک برنامه نویس اندروید هستید، بهتر است یکی دیگر از گزینههای موجود در لیست را انتخاب کنید.
نتیجه گیری
در این مقاله که با عنوان انواع زبان برنامه نویسی اندروید منتشر کردیم ۶ زبان عمومی تر و معروف تر در حوزه برنامه نویسی اندروید معرفی کردیم که می توانید یکی از این ۶ گزینه را انتخاب کنید و شروع به یادگیری نمایید. البته زبان های زیاد دیگری مثل روبی، پرل، راست، سی پلاس پلاس و … وجود دارد که می شود روی آنها هم حساب کرد اما واقعیت اینست که در ایران کاربرد آنچنانی ندارند و فعلا این ۶ زبان بیشترین سهم بازار را ازآن خود کرده اند.
شما اگر می خواستید لیستی با عنوان انواع زبان برنامه نویسی اندروید معرفی می کردید کدام زبان ها را داخل آن قرار میدادید؟