معرفي زبان هاي برنامه نويسي اندرويد
اندرويد با داشتن نزديك به ۲ ميليارد كاربر، محبوبترين و پراستفادهترين سيستم عامل موبايل است. اما اپليكيشن ها و نرم افزارهاي اندرويدي با چه زباني نوشته ميشوند؟ در اين مطلب با زبان هاي برنامه نويسي اندرويد آشنا خواهيم شد.
تصميمگيري براي توسعه يك برنامه اندرويدي، آسانترين قدم در اين فرآيند است! برنامه نويسي كار دشواري بوده و يكي از مشكلات توسعه نرم افزار براي افراد ناآشنا اين است كه نميدانند بايد از كجا شروع كنند. به عنوان نمونه پيش از آغاز بايد به چند سوال شامل موارد زير پاسخ داد:
كدام زبان برنامه نويسي را بايد ياد بگيرم؟
زبان برنامه نويسي انتخاب شده را چگونه ياد بگيرم؟
بعد از يادگيري مقدمات برنامه نويسي در آن زبان، كجا كدهاي خود نوشته و اجرا كنم؟
زبان هاي برنامه نويسي اندرويد
در اين مطلب بيشتر تلاش ميكنيم به نخستين سوال پاسخ بدهيم. انتخاب يك زبان كاملا به هدفي كه در نظر داريد بستگي دارد. بعد از انتخاب خواهيد توانست با يك جستجوي ساده، 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 شبيه به اندرويد استوديو رو به رو هستيم. اين ابزار رايگان، توسعه بازيهاي اندرويدي داراي گرافيك بالا را راحت ميكند.
تنها با نوشتن چند خط كد طي يك ساعت ميتوانيد يك بازي ساده ايجاد كنيد! بيشتر استوديوهاي بازيسازي كه محصولاتشان را در گوگل پلي استور قرار ميدهند، از اين ترفند براي توسعه استفاده ميكنند.
اگر دوست داريد به يك توسعهدهنده اندرويدي، كه قادر به ساخت بازي و اپليكيشن به صورت همزمان است تبديل شويد، بهتر است يونيتي را فراموش كنيد، چرا كه محدوديتهاي بسيار زيادي به منظور توسعه اپليكيشنهاي كاربردي (غير از بازي) دارد.
بيسيك
بيسيك برخلاف نام آن چندان ساده نبوده و اين اسم نامگذاري مخفف عبارت «دستورالعمل كلي نمادين همه منظوره براي مبتديها» (BASIC -> Beginners All-Purpose Symbolic Instruction Code) است.
متاسفانه امكان استفاده از آن در محبوبترين محيطهاي توسعه نرم افزارهاي اندرويد يعني اندرويد استوديو، يونيتي و يا زامارين وجود ندارد. با اين حال به لطف B4A (مخفف بيسيك براي اندرويد) ميتوان از بابت وجود يك محيط توسعه اختصاصي در زمان استفاده از اين زبان مطمئن بود.
مطمئنا در دورهاي كه اپليكيشنهاي اندرويدي روز به روز پيچيدهتر و حرفهايتر ميشوند، كمتر كاربري به يكباره از بين زبان هاي برنامه نويسي اندرويد به سراغ بيسيك خواهد رفت، اما در اختيار داشتن گزينههاي بيشتر همواره يك امتياز محسوب ميشود. يكي از اصليترين سد راههاي استفاده از بيسيك در مقايسه با تمامي زبان هاي برنامه نويسي اندرويد و محيطهاي توسعه معرفي شده در اين مطلب، رايگان نبودن آن است!
Corona
اين زبان از جمله مواردي است كه در عين ارائه قدرت بالا و كنترلهاي كافي براي ساخت ابزارهاي اندرويدي دلخواه، ساده و قابل فهم است. حين استفاده از آن در LUA كدزني خواهيد كرد كه در مقايسه با جاوا سادهتر است. وجود كيت توسعه نرم افزار (SDK) كرونا نيز به سادگي آن ميافزايد.
كرونا از تمامي كتابخانههاي محلي پشتيباني كرده و امكان ارائه ابزار براي پلتفرمهاي مختلف را فراهم ميكند. اگرچه بيشتر به منظور توسعه بازي از كرونا استفاده ميكنند، اما كاربردهاي بسيار بيشتري براي آن تعريف شده است. ميتوان بدون نياز به كامپايل كردن كدها، نتيجه كار را بر روي يك شبيهساز مشاهده كرد. نيازي به استفاده از يك IDE خاص نبوده و كدنويسي در نوت پد نيز كفايت ميكند.
كرونا هم براي تازه واردها و هم براي افراد حرفهاي گزينه مناسبي محسوب ميشود، اما محدوديتهاي آن سبب خواهد شد در زمان توسعه برنامههاي پيشرفتهتر، با مشكلاتي مواجه شويد.
فون گپ (HTML و CSS)
يكي ديگر از سادهترين موارد در بين زبان هاي برنامه نويسي اندرويد ، بهره بردن از فون گپ است كه توسعه اپليكيشن با استفاده از اچ تي ام ال و سي اس اس را امكانپذير ميكند. براي افرادي كه دستي در طراحي سايت دارند، هيچ راهكاري بهتر از اين يافت نخواهد شد!
فون گپ از Apache Cordova قدرت گرفته و به واسطه آن، به همان شيوهاي كه با استفاده از HTML و همچنين CSS و جاوااسكريپت اقدام به طراحي صفحات وب ميكنيد، ايجاد اپليكيشنهاي موبايلي نيز امكانپذير ميشود. نتيجه كدهاي نوشته را در يك حالت WebView مشاهده خواهيد كرد.
فون گپ در اينجا همانند يك پل عمل كرده و به توسعهدهندگان اجازه ميدهد به چند مورد از ويژگيهاي ساده دستگاه همچون شتابسنج و يا دوربين دسترسي پيدا كنند.
همانطور كه احتمالا ميدانيد، اچ تي ام ال و سي اس اس براي ساخت صفحات وب كاربرد داشته و به هيج عنوان زبان برنامه نويسي محسوب نميشوند، به همين دليل براي ايجاد يك اپليكيشن كاربردي حين بهره بردن از فون گپ، بايد دست به دامن جاوااسكريپت (كاملا متفاوت از جاوا) شويد. به لطف فون گپ، برنامه نويسي اندرويد با استفاده از اچ تي ام ال و سي اس اس امكانپذير ميشود، اما هيچگاه نخواهيد توانست يك نرم افزار حرفهاي توليد كنيد.
منبع :androidauthority
برچسب: ،