بعد از اینکه مقاله جدیدترین زبان برنامه نویسی اندروید رو منتشر کردیم حال به سراغ سوال دیگر کاربران میرویم یعنی به روزترین زبان برنامه نویسی اندروید کدام زبان است؟ البته این سوال به نظرم مشکل دارد چون یک زبان نمی تواند به عنوان به روز ترین، معرفی شود. معمولا زبان هایی که در این حوزه هستند هر چند وقت یک بار به روز می شوند. پس سوال به روزترین زبان برنامه نویسی اندروید به نظرم سوالی اشتباهی می باشد چون اکثر زبان ها امکانات خوب و به روزی در اختیار ما قرار میدهند.
توجه: البته این نکته رو هم فراموش نکنیم که از زبان کاتلین به عنوان جدیدترین زبان برنامه نویسی اندروید یاد می شود و بعضی ها هم به عنوان به روزترین زبان برنامه نویسی اندروید از آن هم یاد می کنند. در این مقاله سعی می کنم چندین زبان خوب در زمینه برنامه نویسی اندروید را معرفی کنم تا بر اساس این بررسی ها، یکی را انتخاب کنید و استارت برنامه نویسی را بزنید.
به روزترین زبان برنامه نویسی اندروید
اگر کاتلین را به عنوان به روز ترین زبان برنامه نویسی معرفی کنیم باید توضیحاتی هم در مورد آن دهیم در این اینجا هم در مورد زبان برنامه نویسی کاتلین صحبت می کنیم و هم در مورد چند زبان دیگر که به عنوان زبان های برنامه نویسی اندروید شناخته می شوند. در بخش پایین ۴ زبانی که می توان از آنها به عنوان به روزترین زبان های برنامه نویسی اندروید یاد کرد را معرفی می کنیم تا بیشتر با دنیای برنامه نویسی اندروید آشنا شوید.
- کاتلین
- جاوا
- سی شارپ
- پایتون
۱- زبان برنامه نویسی کاتلین
می توان از کاتلین به عنوان به روزترین زبان برنامه نویسی اندروید یاد کرد. کاتلین را جدیدترین زبان برنامه نویسی اندروید هم می نامند. اگر مقداری در مورد این زبان مطالعه داشته باشید در یک کلمه عاشق آن می شود. تقریبا می توان گفت کاتلین همان جاوا است اما بهترتر و بهینه تر، البته این رو متذکر شوم کاتلین هیچ وقت جای جاوا رو نمی گیرد. کاتلین، یک زبان برنامه نویسی ایستا (Statically typed) برای ماشین مجازی جاوا (JVM)، اندروید و مرورگر (Browser) است که از چند وقت پیش رسما از طرف گوگل برای برنامه نویسی اندروید معرفی شد. البته ساخت این زبان حدود سال ۲۰۱۱ شروع شد و اوایل دی/بهمن ماه سال ۱۳۹۵ نسخه اول آن از طرف JetBrains معرفی شد که با استقبال بی نظیر برنامه نویسان اندروید مواجه شد.
نکته مهم: کاتلین زبان برنامه نویسی شی گرا می باشد که توسط شرکت JetBrains معرفی شده است این شرکت سازنده نرم افزار IntelliJ IDE است که Android Studio هم بر پایهٔ آن ساخته شده است و نیاز به توضیح نیست که زبان کاتلین هم با IntelliJ IDE بسیار سازگار است.
در ژوئیه ۲۰۱۱، JetBrains از پروژه کاتلین پرده برداری کرد، زبانی جدید برای ماشین مجازی جاوا، که برای یک سال تحت توسعه و پیشرفت قرار داشت. سرپرست Dmitry Jemerov، JetBrains، اظهار داشت بیشتر زبانها، آن ویژگیهایی که دنبالش هستند را ندارند. با استثنای اسکالا. او به زمان کند کامپایل اسکالا به عنوان کمبودی واضح اشاره کرد. یکی از اهداف اصلی کاتلین این است که به همان سرعت زیاد جاوا کامپایل شود. در فوریه سال ۲۰۱۲، JetBrains منبع باز این پروژه را تحت مجوز Apache 2 ارائه کرد. Jetbrains امیدوار است که این زبان جدید IntelliJ IDEA را به پیش ببرد.
سرپرست توسعه، Andrey Breslav، بیان کرده کاتلین (زبان برنامه نویسی جدید گوگل برای اندروید) طراحی شده تا زبانی صنعتی-قدرتی و شی گرا بوده و زبانی بهتر از جاوا باشد. اما هنوز پر از سازگاریهایی با کد جاوا است که اجازه داده کمپانیها مهاجرتی تدریجی از جاوا به کاتلین داشته باشند.
همچنین از کاتلین در اندروید استودیو که بسته توسعه نرم افزاری (SKD) رسمی اندروید است پشتیبانی به عمل می آید. از آنجا که کاتلین نیز مانند جاوا با پلتفرم JVM (ماشین مجازی جاوا) کار می کند به راحتی میتوان از آن در ساخت اپلیکیشن های اندرویدی کمک گرفت.
در واقع، کمپانی JetBrains یسکری کانوِرتر (مبدل) جاوا به کاتلین ارائه کرده است که میتوانند خروجی سورسکدهای کاتلین را به زبانهای جاوا و یا جاوااسکریپت تبدیل کنند؛ به عبارت دیگر، کدی که توسط کاتلین نوشته میشود نسبت به معادل جاوای آن، با در نظر گرفتن لایبرریها و کلاسهای مشابه، به مراتب سادهتر خواهد بود و این در حالی است که سورسکد اپهای نوشته شده با زبان برنامهنویسی کاتلین راحتتر توسط دولوپرها خوانده میشوند که این کار هم به نوبهٔ خود موجب آسانتر شدن پروسهٔ توسعه، دیپلوی و دیباگینگ شده و این زبان را به انتخاب مناسبتری برای برنامهنویسی اندروید تبدیل میکند.
پیشنهاد میکنم حتما مقاله جدیدترین زبان برنامه نویسی اندروید رو مطالعه کنید تا با زبان برنامه نویسی کاتلین بیشتر آشنا شوید.
۲- زبان برنامه نویسی جاوا
درسته که زبان جاوا، یک زبان قدیمی هستش ولی چندین بار این زبان به روز رسانی داشته است و می توان از آن هم به عنوان به روزترین زبان برنامه نویسی اندروید یاد کرد. وقتی کسی می خواد سمت برنامه نویسی اندروید بیاد اولین زبانی که با آن روبرو می باشد زبان برنامه نویسی جاوا است. خیلی از برنامه نویس ها، زبان اصلی برنامه نویسی اندروید را زبان جاوا میدانند. البته باید این نکته رو هم مد نظر قرار دهیم که جاوا زبان رسمی برنامه نویسی اندروید است و این یعنی بیشترین پشتیبانی گوگل از این زبان خواهد بود. بیشتر اپلیکیشنهای اندروید که در حال حاضر در گوگل پلی حضور دارند، با استفاده از زبان جاوا نوشته شدهاند.
توجه: به جرات می توان گفت محبوبترین زبان برنامه نویسی اندروید، جاوا می باشد.
در نمودار درصدی محبوبیت زبان های برنامه نویسی و تعداد دفعات جستجوی نام زبان های برنامه نویسی در اینترنت، جاوا در جایگاه اول قرار دارد و ۲۳% از کل تعداد جستجوهای سالانه زبان های برنامه نویسی در اینترنت را تشکیل می دهد. اما متاسفانه در ایران زیاد مورد توجه قرار نمی گیرد این عدم توجه به این زبان شاید به خاطر پیچیدگی های آن باشد. معمولا در ایران جاوا فقط برای برنامه نویسی اندروید استفاده می شود و حتی خیلی ها هم از جاوا برای برنامه نویسی اندروید استفاده نمی کنند.
جالب است بدانید که خود سیستم عامل اندروید با استفاده از جاوا نوشته شده است و این بدان معنا است که شما اگر بتوانید جاوا را بیاموزید خواهید توانست اپلیکیشن های کامل و جامعی برای سیستم عامل اندروید بنویسید. یعنی شما پس از یادگیری جاوا قادر به نوشتن هر نوع اپلیکیشنی خواهید بود و هیچ محدودیتی در این زمینه برای شما وجود نخواهد داشت. پس می توان گفت که جاوا برای کسانی که می خواهند کارهای بسیار جدی و حرفه ای انجام دهند انتخاب خوبی می باشد.
نکته: جاوا مناسب ترین زبان برای توسعه اپلیکیشن های موبایل می باشد زیرا برنامه های نوشته شده با استفاده از جاوا قابل اجرا بر روی تمام پلتفرم های موجود برای اندروید می باشند.
اولین قدم در برنامه نویسی اندروید با استفاده از جاوا، نصب برنامه Android Studio است. این برنامه با اندروید SDK (پیشنهاد میکنم مقاله SDK چیست و تفاوت JDK و SDK رو مطالعه کنید.) بسته بندی میشود و این یعنی همه چیزهایی را که نیاز داریم در یک جا جمع شده است.
ویژگی های کلیدی زبان برنامه نویسی جاوا:
- شیء گرایی زبان
- قابل اجرا بودن در تمامی پلتفرم ها
- پشتیبانی از 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 و آسان بودن ویژوال بیسیک است و همچنین به عنوان یک نسخه ساده از جاوا نیز نام برده می شود. همانند جاوا، سی شارپ نیز قابلیت بازیافت حافظه (زبالهروبی) را دارد و این یعنی نیازی به نگرانی در مواردی مانند کمبود حافظه و آزاد کردن رم وجود ندارد. در عین حال سی شارپ جدیدتر از جاوا است. انتخاب بهترین زبان برای برنامه نویسی اندروید معمولا بستگی به سلیقه فرد دارد.
توجه: اگر میخواهید اطلاعات بیشتر نسبت به برنامه نویسی سی شارپ پیدا کنید پیشنهاد میکنم مقاله زبان برنامه نویسی سی شارپ چیست؟ رو مطالعه کنید.
۴- زبان برنامه نویسی پایتون
پایتون رو میتوان یکی از زبان های دوست داشتنی نامید، پایتون هم جز به روزترین زبان های برنامه نویسی اندروید می باشد. پایتون یک زبان برنامه نویسی سطح بالا است که در توسعه وب، توسعه اپلیکیشن ها، تولید GUI های دسکتاپ، توسعه نرم افزارهای کاربردی و آنالیز داده های عددی و علمی بسیار استفاده می گردد.
پایتون یکی از زبان های برنامه نویسی است که بسیار در دانشگاه ها تدریس می شود و در چارت درسی بسیاری از دانشگاه های بزرگ دنیا دیده می شود. دلیل شهرت و محبوبیت این زبان برنامه نویسی کاربردی بودن آن است زیرا این زبان برای طراحی نرم افزارها مناسب می باشد.
اگر درگیر انتخاب زبان برنامه نویسی اندروید هستید و نمی دونید از کدام زبان برنامه نویسی استفاده کنید به نظرم پایتونم گزینه جالبیه ولی همان طور که در بالا گفتیم در ایران هنوز جا نیفتاده و کمتر کسی به سمت آن میرود. (البته در یک سال اخیر دید به پایتون بهتر شده است و در حال جا باز کردن بین برنامه نویس های ایرانی می باشد.)
فلسفه اصلی زبان برنامه نویسی پایتون را می توان در موارد زیر خلاصه نمود:
- صریح بودن بهتر از غیر صریح بودن است
- زیبایی بهتر از زشتی است
- سادگی بهتر از پیچیدگی است
- پیچیدگی بهتر از نامفهوم بودن است
- خوانایی یک فاکتور بسیار مهم است
سایت ها و برنامه هایی که با زبان برنامه نویسی پایتون نوشته شده اند:
- Calibre
- OpenStack
- Ubuntu Software Center
- World of Tanks (I’m sure you have played it)
- BitTorrent
- Quora
- Spotify
- YouTube
این لیست تنها تعداد محدودی از برنامه ها، اپلیکیشن ها، وب سایت ها و نرم افزارهای تولید شده با استفاده از پایتون را نام برده است و اگر بخواهیم تمامی آنها را نام ببریم باید چند صد صفحه را با نام های برنامه ها و اپلیکیشن های مختلف پر کنیم.
پایتون علاوه بر سادگی و کارامد بودن این امکان را به شما می دهد که هر نوع اپلیکیشن و نرم افزار و حتی وب سایتی را که می خواهید با استفاده از آن تولید نمایید و علاوه بر این یادگیری آن بسیار بسیار ساده است.
توجه: اگر می خواهید در مورد زبان پایتون بیشتر بدونید پیشنهاد میکنم مقاله پایتون چیست رو مطالعه کنید.