سیستم عامل اندروید امروزه بیشتر از هر زمان دیگری بهعنوان سیستم عامل دستگاههای هوشمند (موبایل و تبلت) استفاده میشود؛ بهطوریکه بیش از ۸۷ درصد از دستگاههای هوشمند که امروزه تولید میشوند، از سیستمعاملهای اندروید استفاده میکنند. فضای اندروید، این امکان را میدهد تا اپلیکیشن های کارآمدی نوشته شود.
در سراسر جهان، بخش عمدهای از نیازهای مردم، از طریق همین اپلیکیشن ها رفع میشود. در ایران نیز، سرعت رشد استفاده از اپلیکیشن ها برای زندگی روزمره و ایجاد اپلیکیشن های متنوع، بسیار زیاد است.
این رشد، باعث شده تا مردم نگاه ویژهای به برنامه نویسی با زبان اندروید، داشته باشند. یادگیری این زبان، به یادگیرنده این امکان را میدهد تا ایدهها و علایق خود را عملی کرده و حتی به آنها بهعنوان پروژههای سود زا نگاه کند.
حتماً شما از افراد علاقهمند به برنامههای اندرویدی هستید. اما متأسفانه نمیدانید از کجا باید شروع کنید. یادگیری کد احتمالاً برایتان سخت و پیچیده باشد. و حتماً قبل از شروع کار سؤالات زیادی برایتان پیش خواهد آمد.
- کدام زبان برنامه نویسی را باید یاد بگیریم؟
- از کجا میتوانم آموزش زبان انتخابی خود را تهیه کنم؟
- بعد از یادگیری مقدمات برنامه نویسی در آن زبان، کجا کدهای خود را نوشته و اجرا کنیم؟
در اینجا بیشتر تلاش میکنیم به سؤال اول شما پاسخ دهیم. اول اینکه تصمیم بگیرید کدام زبان را برای یادگیری انتخاب کنید. بعد از انتخاب راحت میتوانید IDE و ابزارهای مطابق با آن را پیدا کنید (پاسخ سؤال سوم).
اینکه کدامیک را برای یادگیری انتخاب میکنید نیاز به درک نقاط قوت و ضعف هر کدام از آنها دارد. از طرفی درک تفاوت بین زبان های برنامه نویسی اندروید میتواند پیچیده و ظریف باشد. اما درهرصورت این شمایید که حق انتخاب دارید. و در ابتدا زبانی را انتخاب کنید که بیشتر با آن احساس راحتی میکنید.
ما این کار را برای شما آسان کردهایم. در اینجا اطلاعات دقیق و کامل از هر زبان برنامه نویسی را آوردهایم. درنهایت گزینهای را انتخاب کنید که بیشتر برایتان جالب و جذاب باشد، سپس به سمت آن پرش کنید. اصلاً نگران نباشید.
زبانهایی که برای توسعه اندروید باید یاد بگیرید عبارتند از:
جاوا:
جاوا، زبان برنامه نویسی رسمی اندروید بوده و توسط محیط توسعه اندروید استودیو پشتیبانی میشود. جاوا یکی از دشوارترین زبانهای برنامهنویسی بهمنظور یادگیری است.
کاتلین:
اگرچه کاتلین بعد از جاوا دومین زبان برنامه نویسی رسمی اندروید به شمار میآید، اما برخلاف آن قدیمی نبوده و بهتازگی معرفی شده است. کاتلین از بسیاری جهات مشابه جاوا است، اما یادگیری و استفاده از آن کمی راحتتر به نظر میرسد.
++C / C:
اندروید استودیو با استفاده از Android NDK، از زبان قدیمی و محبوب سی پلاس پلاس نیز پشتیبانی میکند. با استفاده از آن ایجاد برنامههای کاربردی همچون بازیهای اندرویدی امکانپذیر خواهد شد. نباید پیچیدگی یادگیری این زبان را فراموش کرد.
#C:
زبان سی شارپ در مقایسه با ++C و C راحتتر بوده و توسط محیطهای توسعه بسیار قدرتمندی همچون زامارین و یونیتی پشتیبانی میشود. این ابزارها برای توسعه چند پلتفرمی و همچنین بازیهای موبایل فوقالعاده هستند.
بیسیک:
نخستین زمان ظهور بیسیک به ۵۳ سال قبل برمیگردد، اما همچنان قدرتمند بوده و میتوان آن را جزو زبانهای برنامه نویسی اندروید به شمار آورد!
Corona:
این مورد نیز برای توسعه ابزارهای چند پلتفرمی مناسب است. استفاده از کتابخانههای محلی و آسانسازی فرآیند تولید اپلیکیشن از مزایای کرونا است.
فون گپ (اچ تی ام آل، سی اس اس، جاوا اسکریپت):
اگر یک طراح وب بوده و به این واسطه با HTML و CSS و احتمالاً جاوا اسکریپت آشنا هستید، میتوانید به لطف فون گپ، بدون نیاز به یادگیری سایر زبانهای برنامه نویسی اندروید، اپلیکیشن خود را ایجاد کنید.
آشنایی بیشتر با زبانهای برنامه نویسی اندروید:
در بالا، زبان های برنامه نویسی اندروید را معرفی کردیم. اکنون کارایی هر یک برای ایجاد نرمافزارهای این سیستم عامل را تشریح خواهیم کرد. یکی از این موارد را انتخاب کرده و سپس کار را آغاز کنید.
جاوا
در زمان مطرح شدن برنامه نویسی اندروید، محبوبترین و نخستین پیشنهاد جاوا است. در بین زبانهای برنامه نویسی اندروید، جاوا رسمیترین مورد بوده و به همین دلیل بیشترین پشتیبانی را از سمت گوگل دریافت میکند. بیشترین نرمافزارهای موجود در گوگل پلی استور با استفاده از جاوا توسعه پیدا کردهاند.
سرراستترین کار برای ایجاد یک برنامه مناسب محبوبترین سیستم عامل موبایل دنیا، دریافت و نصب اندروید استودیو است. این محیط توسعه (IDE) رسمی اندروید بوده و چند سال پیش بهصورت رسمی توسط گوگل برای آسودگی کار برنامهنویسان معرفی شد. این IDE همه چیز را برای یک توسعهدهنده اندروید بهصورت یکجا فراهم میکند. آموزشهای زیادی درباره چگونگی استفاده از اندروید استودیو وجود داشته و کتابخانههای فراوانی برای به کار بردن درون آن یافت میشود.
جاوا در سال ۱۹۹۵ معرفی شد. اگرچه با استفاده از آن میتوان هر نوع نرم افزاری برای پلتفرمها و سیستم عاملهای مختلف نوشت، اما اصلیترین کاربرد جاوا، توسعه اپلیکیشن های تحت وب است. دلیل امکان استفاده از برنامههای جاوا در پلتفرمهای مختلف، ماشین مجازی آن است که بهراحتی بر روی هر سیستم عامل نصب میشود. دستگاههای اندرویدی نیز دارای این ماشین بوده و کدهای جاوا را تحلیل میکنند.
مشکل اینجاست که جاوا جزو سختترین زبانهای برنامه نویسی بوده و برای افرادی که با کد زنی آشنایی ندارند، نخستین تجربه را تبدیل به بدترین تجربه خواهد کرد! اندروید بهنوبه خود به خاطر دربرداشتن مفاهیم شیگرایی بسیار پیچیده است و پیچیدگی جاوا نیز به این موضوع دامن خواهد زد.
فراموش نکنید هیچ زبان برنامه نویسی بد نبوده و همانند زبانهای گفتگوی رایج انسانها، با استفاده از هر کدام میتوان به هدف خود رسید. قدرت جاوا بیشتر از همین ساده نبودن آن ریشه میگیرد. بر اساس جدول محبوبترین زبانهای برنامه نویسی دنیا، جاوا اکنون با فاصله زیاد از پایتون (دومین زبان محبوب)، در صدر قرار دارد.
بعد از انتخاب جاوا از بین زبان های برنامه نویسی اندروید، مطمئناً IDE مورداستفاده، اندروید استودیو خواهد بود. در این محیط توسعه به لطف وجود حالت بصری، میتوان برخی کارها را بهصورت درگ اند دراپ و چند کلیک ساده انجام داد و مشاهده کرد کدهای مربوط به آنها، بهصورت خودکار نوشته شدهاند.
مشاهده بسته جامع برنامه نویسی اندروید
کاتلین
کاتلین در سال ۲۰۱۱ ظاهر شد، اما بهتازگی به فهرست زبان های برنامه نویسی اندروید اضافه شده و حتی توانسته مقام دومین زبان برنامه نویسی رسمی این پلتفرم را نیز به دست بیاورد. به عقیده برخی، کاتلین پتانسیل بسیار زیادی برای پیشرفت دارد.
همانند جاوا، کاتلین نیز بر روی ماشین مجازی جاوا اجرا میشود. این زبان با جاوا سازگار بوده و سبب کاهش بازدهی نرم افزار و یا افزایش حجم فایل نهایی نخواهد شد. اصلیترین تفاوت آن، نیاز به کد نویسی کمتر است که کار را برای یادگیری و در ادامه کد زنی راحتتر میکند.
بهعنوان نمونه دیگر نیازی به استفاده مداوم از سمیکالن (;) در پایان هر خط نبوده و دیگر ارورهایی نظیر “Null Point Exceptions” مشاهده نخواهد شد. درنتیجه برای افراد ناآشنا به کد نویسی، بهمراتب انتخاب بهتری است.
امکان استفاده از اندروید استودیو حین کد زنی با کاتلین یکی دیگر از مزایای این انتخاب به شمار میآید. به خاطر تازگی این زبان، هنوز جامعه قدرتمندی برای آن وجود ندارد، به همین دلیل در زمان برخورد با مشکل، احتمالاً پاسخی دریافت نخواهید کرد. این در حالی است که جامعه برنامه نویسان جاوا مملو از توسعهدهندگان باتجربه است.
مشاهده دوره جامع آموزش زبان برنامه نویسی کاتلین
++C / C
در اندروید استودیو به لطف امکان استفاده از Android NDK، از زبانهای سی و سی پلاس پلاس نیز پشتیبانی میشود. یعنی میتوان برنامههایی نوشت که بر روی ماشین مجازی جاوا اجرا نشده و در عوض، بهصورت مستقیم توسط خود دستگاه تفسیر میشوند. بهاینترتیب میتوان کنترل بیشتری بر روی برخی قسمتها همچون حافظه داشت.
برای اپلیکیشن های سنگین همچون بازیهای ۳ بعدی، میتوان به این وسیله بیشترین بازدهی را از هر دستگاه اندرویدی دریافت کرد. سی و سی پلاس پلاس بهعنوان ورژن دارای ویژگیهای شیگرایی آن، مملو از کتابخانههای آماده هستند و همین موضوع آنها را برای برخی توسعهدهندگان تبدیل به بهترین زبانهای برنامه نویسی اندروید میکند.
انعطافپذیری پایین در مقایسه با جاوا و وجود باگهای بیشتر، مشکلاتی هستند که حین برنامه نویسی اندروید با استفاده از سی پلاس پلاس در برابرتان قرار خواهند گرفت.
#C
سی شارپ، نسخهای تروتمیز و کاربردی از سی پلاس پلاس بوده و توسط مایکروسافت توسعه پیدا کرده است. هدف مایکروسافت از ارائه آن، در دسترس بودن قدرت بالای ++C و ترکیب آن با سادگی استفاده از ویژوال بیسیک بود. میتوان آن را بهنوعی نسخه سادهشده جاوا دانست.
یکی از مزایای سی شارپ همچون جاوا، وجود ویژگی زبالهروبی خودکار است، به این معنی که نیاز نیست بهصورت دستی خانههای حافظه بدون استفاده را حذف کنید تا از مصرف بیهوده حافظه اصلی جلوگیری شود.
در مقایسه با جاوا، سی شارپ مدرنتر بوده و سینتکس مرتبتری دارد. برنامهنویسانی که بهجای دنیای متن باز، بیشتر در پلتفرمها و زبانهای مایکروسافت فعالیت کردهاند، بدون شک از بین زبانهای برنامه نویسی اندروید سی شارپ را انتخاب خواهند کرد.
ترکیب استفاده از سی شارپ و یونیتی، قدرت زیادی به توسعهدهنده خواهد بخشید. Unity، یک موتور بازی بوده و مواردی همچون محاسبات فیزیکی و رندر گرافیکهای سه بعدی را انجام میدهد. درواقع با یک IDE شبیه به اندروید استودیو روبهرو هستیم. این ابزار رایگان، توسعه بازیهای اندرویدی دارای گرافیک بالا را راحت میکند.
تنها با نوشتن چند خط کد طی یک ساعت میتوانید یک بازی ساده ایجاد کنید! بیشتر استودیوهای بازیسازی که محصولاتشان را در گوگل پلی استور قرار میدهند، از این ترفند برای توسعه استفاده میکنند.
اگر دوست دارید به یک توسعهدهنده اندرویدی، که قادر به ساخت بازی و اپلیکیشن بهصورت همزمان است تبدیل شوید، بهتر است یونیتی را فراموش کنید، چراکه محدودیتهای بسیار زیادی بهمنظور توسعه اپلیکیشن های کاربردی (غیر از بازی) دارد.
زامارین ابزاری نوین (و زیرمجموعه کمپانی قدرتمند مایکروسافت) است که برای طراحی و ساخت نرمافزارهایی با قابلیت استفاده در تمام گوشیهای موبایل تحت سیستمهای عامل متفاوت بکار گرفته میشود.
بهعبارتدیگر: زمانی که شما با استفاده از زبان C# (سی شارپ) اقدام به ساخت اپلیکیشنی در فضای زامارین میکنید، دیگر نیازی به تغییر یا بازنویسی آن (مثلاً به زبان جاوا و…) جهت استفاده در دیگر پلت فرمها ندارید. درواقع میتوان گفت زامارین یک ابزار برنامه نویسی چند سکویی است که:
۱- امکان انتقال کدها میان اپلیکیشن های ساختهشده با استفاده از زامارین صرفنظر از ساختار پلت فرمی که در آن قرار دارد.
۲- زامارین تنها چارچوبی است که در هر قالب پلت فرمی ویژگیهای اپلیکیشن های (native) آن پلت فرم را بهخوبی به خود میگیرد. (native app به اپلیکیشن هایی گفته میشود که در محیط نرم افزاری مختص به پلت فرمی خاص ساخته میشود. مثلاً برای استفاده در پلت فرم اندروید در اپلیکیشنی را در Android studio طراحی کنیم.)
۳- امکان ساخت اپلیکیشن های (IOS – Android – Windows phone) با قابلیت انتقال کدهای یکسان (تا حدود ۹۶%)
۴- [portable class librariries] که به شما امکان استفاده مجدد از کدها را داده و درعینحال تعداد پروژهها را کاهش میدهد.
۵- امکان اضافه کردن مؤلفههایی شامل نمودارها، جداول، نمایههای زیبا، [UI control] ها و… بهصورت مستقیم از [IDE].
۶- با قالب زامارین رابط طراحی هر سه پلتفرم بهصورت مشترک با چارچوب اساسی [XAML] خواهد بود.
مشاهده مجموعه آموزشی زامارین
بیسیک
بیسیک برخلاف نام آن چندان ساده نبوده و این اسم نامگذاری مخفف عبارت «دستورالعمل کلی نمادین همهمنظوره برای مبتدیها» (BASIC -> Beginners All-Purpose Symbolic Instruction Code) است
متأسفانه امکان استفاده از آن در محبوبترین محیطهای توسعه نرمافزارهای اندروید یعنی اندروید استودیو، یونیتی و یا زامارین وجود ندارد. بااینحال به لطف B4A (مخفف بیسیک برای اندروید) میتوان از بابت وجود یک محیط توسعه اختصاصی در زمان استفاده از این زبان مطمئن بود.
مطمئناً در دورهای که اپلیکیشن های اندرویدی روز به روز پیچیدهتر و حرفهایتر میشوند، کمتر کاربری بهیکباره از بین زبان های برنامه نویسی اندروید به سراغ بیسیک خواهد رفت، اما در اختیار داشتن گزینههای بیشتر همواره یک امتیاز محسوب میشود.
یکی از اصلیترین سد راههای استفاده از بیسیک در مقایسه با تمامی زبانهای برنامه نویسی اندروید و محیطهای توسعه معرفیشده در این مطلب، رایگان نبودن آن است!
Corona
کرونا از تمامی کتابخانههای محلی پشتیبانی کرده و امکان ارائه ابزار برای پلتفرمهای مختلف را فراهم میکند. اگرچه بیشتر بهمنظور توسعه بازی از کرونا استفاده میکنند، اما کاربردهای بسیار بیشتری برای آن تعریف شده است. میتوان بدون نیاز به کامپایل کردن کدها، نتیجه کار را بر روی یک شبیهساز مشاهده کرد. نیازی به استفاده از یک IDE خاص نبوده و کد نویسی در نوت پد نیز کفایت میکند.
کرونا هم برای تازه واردها و هم برای افراد حرفهای گزینه مناسبی محسوب میشود، اما محدودیتهای آن سبب خواهد شد در زمان توسعه برنامههای پیشرفتهتر، با مشکلاتی مواجه شوید.
فون گپ (HTML و CSS)
یکی دیگر از سادهترین موارد در بین زبان های برنامه نویسی اندروید، بهره بردن از فون گپ است که توسعه اپلیکیشن با استفاده از اچ تی ام آل و سی اس اس را امکانپذیر میکند. برای افرادی که دستی در طراحی سایت دارند، هیچ راهکاری بهتر از این یافت نخواهد شد!
فون گپ از Apache Cordova قدرت گرفته و بهواسطه آن، به همان شیوهای که با استفاده از HTML و همچنین CSS و جاوا اسکریپت اقدام به طراحی صفحات وب میکنید، ایجاد اپلیکیشن های موبایلی نیز امکانپذیر میشود. نتیجه کدهای نوشته را در یک حالت WebView مشاهده خواهید کرد.
فون گپ در اینجا همانند یک پل عمل کرده و به توسعهدهندگان اجازه میدهد به چند مورد از ویژگیهای ساده دستگاه همچون شتابسنج و یا دوربین دسترسی پیدا کنند.
همانطور که احتمالاً میدانید، اچ تی ام آل و سی اس اس برای ساخت صفحات وب کاربرد داشته و بههیچعنوان زبان برنامه نویسی محسوب نمیشوند، به همین دلیل برای ایجاد یک اپلیکیشن کاربردی حین بهره بردن از فون گپ، باید دست به دامن جاوا اسکریپت (کاملاً متفاوت از جاوا) شوید.
به لطف فون گپ، برنامه نویسی اندروید با استفاده از اچ تی ام آل و سی اس اس امکانپذیر میشود، اما هیچگاه نخواهید توانست یک نرم افزار حرفهای تولید کنید.
مشاهده دوره آموزش Phonegap
چه نوع برنامههایی را میتوانید با این زبانها انجام دهید؟
برنامههای پیام رسان گپ، بازیها، ماشینحساب نوت بوک و پخش کنندههای موسیقی، همه اینها با زبانها و چارچوبهای فوق امکانپذیر است. البته لازم به یادگیری همه آنها نیست. فقط مواردی که برای انجام کار و پروژه خود نیاز دارید را یا بگیرید. اگر بعدها تصمیم گرفتید که مهارتهای خود را گسترش دهید، میتوانید همه موارد فوق را یاد بگیرید.
علاوه بر این توصیه میکنم این مقاله را برای توسعه برنامه موبایل نیز بخوانید. این به شما کمک خواهد کرد تا ذهنیتی از یک برنامه موفقیتآمیز موبایل برای شما ایجاد شود و به شما در غلبه بر موانعی که بدون شک با آنها روبرو خواهید شد کمک کند.
چه نوع برنامههای اندرویدی دیگری مدنظرتان است؟
کدام زبانها و چارچوبها برای شما جذابتر به نظر میرسد؟
حتماً در کامنت ها نظرات خود را با ما به اشتراک بگذارید.