پنجشنبه ۰۱ مهر ۰۰ ۲۰:۳۴
به شما تبريك ميگوييم، شما جزو كساني هستيد كه ميخواهيد پيش نياز يادگيري برنامه نويسي اندرويد را ياد بگيرند و اولين قدم خود را در مسير توسعه اپليكيشنهاي اندرويدي بردارند. معمولا افراد زيادي ايده هايي دارند كه ميخواهند آنها را در قالب نرم افزارهاي اندرويدي پياده سازي كنند. همچنين برخي ديگر از افراد علاقه مند به برنامه نويسي و توسعه اپليكيشنهاي اندرويد هستند. اما هيچكدام از آنها نميدانند كه بايد از كجا بايد شروع كنند.
معمولا اين سوال براي اين افراد پيش ميآيد كه براي ساخت يك نرم افزار اندرويدي چه پيش نيازهايي را بايد داشته باشند و مدت زمان يادگيري زبانهاي برنامه نويسي اندرويد چقدر خواهد بود. در اين مقاله به معرفي پيش نيازهاي يادگيري برنامه نويسي اندرويد و تمام آنچه براي شروع نياز خواهيد داشت ميپردازيم. پس اگر اين موضوع برايتان جذاب است تا انتهاي اين مقاله از سري آموزش برنامه نويسي اندرويد همراه باشيد.
برنامه نويسي اندرويد چيست؟
هر پلتفرمي براي توسعه اپليكيشنهاي خود نياز به توسعه دارد. همانند پلتفرمهاي IOS و ويندوز، اندرويد نيز داراي اپليكيشنهاي مختلفي است كه هر كدام ويژگيها و كاربردهاي خود را داشته و كاربران اين سيستم عامل در سراسر دنيا از آن استفاده ميكنند. در واقع شما با استفاده از زبانهاي برنامه نويسي مختلف، ميتوانيد اپليكيشنهاي مد نظر خود را پياده سازي كرده و آن را روي تمامي دستگاههايي كه داراي سيستم عامل اندرويد هستند اجرا كنيد. ما در اين مقاله سعي داريم به معرفي پيش نيازهاي برنامه نويسي اندرويد و بهترين زبان برنامه نويسي اندرويد بپردازيم.
پيش نياز برنامه نويسي اندرويد چيست؟
پيش نيازهاي برنامه نويسي اندرويد به دو دسته پيش نيازهاي فني و غيرفني تقسيم ميشوند. از جمله مهمترين پيش نيازهاي غيرفني براي ورود به دنياي برنامه نويسي ميتوان به داشتن انگيزه و هدف گذاري مناسب، آشنايي با زبان انگليسي، آشنايي با كامپيوتر و اينترنت اشاره كرد.
در اين مقاله قصد داريم بعضي از پيش نيازهاي فني و غير فني مربوط به برنامه نويسي اندرويد را بيان و معرفي كنيم. پيش نيازهاي فني كه در ادامه به آن اشاره ميكنيم را ميتوانيد به صورت تدريجي فرابگيريد. به عنوان مثال مبحث شي گرايي، مبحثي نسبتا سنگين و در عين حال كاربردي است كه بايد در حين انجام پروژههاي اندرويدي آن را فرا بگيريد.
سيستم مورد نياز براي شروع برنامه نويسي اندرويد
قبل از شروع برنامه نويسي اندرويد، بايد مطئمن باشيد كه كامپيوتر و يا لب تاپ نسبتا خوبي براي اجراي اندرويد استوديو داشته باشيد. اندرويد استوديو يك Integrated development environment كه به صورت خلاصه IDE است كه توسط شركت JetBrains براي توسعهي اپليكيشنهاي اندرويدي توليد و منتشر شده است.
نرم افزار اندرويد استوديو نرم افزاري نسبتا سنگين بوده كه براي اجرا و استفاده از آن نياز به سيستمي نسبتا خوب داريد.
توانايي جستجو و گرفتن نتيجهي مطلوب
يكي از مهمترين مسائل در برنامه نويسي، توانايي جستجو است. از گذشته تا الان در هنگام كدنويسي و توسعهي نرم افزار به مشكلات و باگهايي برميخوريم كه جواب آن را نميدانيم و يا مبحث جديدي را بايد فرا بگيريم، از اين رو توانايي جستجو كردن يكي از مهمترين بخشهاي برنامه نويسي محسوب ميشود. سوال كردن از برنامه نويسان ديگر تا حدي خوب است اما آنها يا همه چيز را نميداند و يا زمان توضيح آن را به شما ندارند، همچنين شايد شما كسي را به عنوان برنامه نويس نداشته باشيد كه از آن سوالهايتان را بپرسيد. در چنين مواقعي جستجو اولين و بهترين گزينه است.
برنامه نويسي اندرويد به زبان نيتيو يا استفاده از فريمورك؟
مسئله مهمي كه قابل توجه است، انتخاب نيتيو و يا فريمورك براي توسعه اپليكيشنهاي اندرويدي است. امروزه هر دو موضوع بازار كار و متخصصين خود را دارند و انتخاب اين ميتواند بسته به شرايط و سلايق مختلف متفاوت باشد. در ادامه به توضيح مختصر اين دو موضوع ميپردازيم:
فريمورك اندرويد چيست؟
فريمورك اندرويد يك چارچوب نرم افزاري است كه با استفاده از زبان برنامه نويسي مخصوص به خود ميتواند اپليكيشنهاي اندرويدي را توليد كند. اما فريموركها بيشتر از يك هدف را نشانه گذاري كردهاند. فريموركها امكاني را به وجود آوردند كه ميتوانيد با يكبار كدنويسي، براي چندين پلتفرم خروجي بگيريد. به عنوان مثال شما براي اپليكيشنهاي اندرويدي خود برنامه نويسي ميكنيد و در آخر ميتوانيد خروجي IOS نيز بگيريد. اين امكاني فوق العادست كه فريموركهايي نظير فلاتر، ري اكت نيتيو و... فراهم كردهاند.
زبان برنامه نويسي نيتيو در اندرويد چيست؟
همانطور كه از اسم آن مشخص است، زباني است كه توسط شركت سازنده اندرويد پيشنهاد ميشود. تمركز اندرويد بر روي اين زبان بوده و بيشتر لايبراريهاي معروف با اين زبان نوشته شدهاند. توسعه اپليكيشن با استفاده از زبان نيتيو مزايايي به نسبت استفاده از فريمورك را دارد كه به چندين مورد در ادامه اشاره ميكنيم:
- توسعه پذيرتر بودن اپليكيشن
- تست پذيرتر بودن اپليكيشن
- وجود لايبراريهاي متعدد براي استفاده در اپليكيشن
- نوشته شدن داكيومنتيشن اندرويد بر پايهي زبان نيتيو
و...
بهترين زبان برنامه نويسي اندرويد چيست؟
قبل از اين كه شروع به برنامه نويسي كنيد بايد زبان برنامه نويسي مناسبي را انتخاب كنيد. بين زبانهاي مختلف تفاوتهايي وجود دارد كه اين تفاوت باعث پيچيدگي و متنوع بودن زبانها ميباشد. اما در انتها بستگي به شما دارد كه به كدام زبان علاقه داريد و ميخواهيد با كدام يك از آنها برنامه نويسي اندرويد را انجام دهيد.
ما در اين مقاله سعي كردهايم چندين زبان برنامه نويسي اندرويد را در اينجا به صورت مختصر توضيح دهيم و شما ميتوانيد با بررسي كردن هر كدام از آنها و تحقيق بيشتر در مورد هر كدام، بهترين زبان را براي برنامه نويسي اندرويد انتخاب كنيد.
قبل از معرفي زبانهاي برنامه نويسي اندرويد، ميخواهيم اين زبانها را به دو بخش تقسيم كنيم:
- زبانهاي نيتيو
- زبانهايي كه در فريموركهاي اندرويد مورد استفاده قرار ميگيرند.
زبان كاتلين براي برنامه نويسي اندرويد
زبان كاتلين يكي از زبانهاي نيتيو اندرويد است. اين زبان در ژانويه سال 2012 توسط شركت جت برينز رونمايي شده و در حال حاضر به عنوان زبان اصلي برنامه نويسي اندرويد شناخته ميشود. اين زبان بر روي ماشين مجازي جاوا اجرا شده و يكي از اهداف اين زبان، همكاري با زبان جاوا است تا بتوانيد اپليكيشنهاي خود را هم با جاوا و هم كاتلين كدنويسي كرده و مشكلي در اجراي اپ نداشته باشيد. زبان كاتلين امكانات بسيار زيادتري به نسبت جاوا در اختيار برنامه نويسان اندرويد قرار ميدهد. كاتلين با طراحي اپريتورهاي (Operator) مختلف، كدنويسي را براي برنامه نويسان اندرويد بسيار راحتتر كرده است. همچنين زبان كاتلين هم به صورت شي گرا و هم به صورت فانكشنال (Functional) قابل برنامه نويسي است.
زبان جاوا براي برنامه نويسي اندرويد
قبل از رونمايي از زبان كاتلين، زبان جاوا به عنوان زبان نيتيو اندرويد شناخته شده بود. با رونمايي از كاتلين اين دو زبان دركنارهم به عنوان زبان نيتيو در اندرويد شناخته شدند. در حال حاضر هر دو زبان در اپليكيشنهاي مختلف مورد استفاده قرار گرفتهاند. بيشتر لايبراريهاي معروف و پر كاربرد با زبان جاوا كدنويسي شدهاند اما به دليل سازگاري زبان كاتلين و جاوا ميتوانيد از لايبراريهايي كه با زبان جاوا نوشته شدهاند در زبان كاتلين استفاده كنيد. همچنين از ديگر ويژگيهاي زبان جاوا به شي گرا بودن اين زبان ميتوان اشاره كرد.
در مرحله اول يادگيري زبان جاوا و بعد مهاجرت به زبان كاتلين، يكي از مسيرهايي است كه ميتوانيد انتخاب كنيد. زيرا با درك زبان جاوا و طريقهي كاركرد اين زبان، يادگيري زبان كاتلين براي شما بسيار راحت خواهد بود. همچنين به دليل اينكه بيشتر لايبراريها و كلاسهاي اندرويدي به زبان جاوا نوشته شده اند، درك اين مفاهيم و كلاسها براي شما راحتتر خواهد بود.
تا به اينجا متوجه شديم كه زبانهاي نيتيو اندرويد، جاوا و كاتلين هستند. امروزه اكثر اپليكيشنهاي بزرگ و كوچك در دنيا از اين دو براي برنامه نويسي و توسعهي اپليكيشنهاي خود استفاده ميكنند. اما فريموركها و زبانهاي آنها بخش بعدي است كه ميخواهيم معرفي كنيم. با ما همراه باشيد.
زبان دارت و فريمورك فلاتر براي برنامه نويسي اندرويد
فلاتر يكي از فريموركهاي محبوب براي برنامه نويسي اندرويد است كه گوگل نيز روي آن سرمايه گذاري كرده است. اين فريمورك با استفاده از زبان دارت قابل استفاده بوده و ميتوان با آن اپليكيشنهاي اندرويدي را توسعه داد. اين فريمورك در سال 2015 توسط گوگل معرفي و رونمايي شد. با استفاده از زبان دارت ميتوان براي اپليكيشنهاي اندرويدي، IOS، اپليكيشنهاي ويندوزي، اپليكيشنهاي لينوكسي و براي وب برنامه نويسي كرد.
زبان جاوا اسكريپت و فريمورك ري اكت نيتو براي برنامه نويسي اندرويدزبان جاوا اسكريپت يكي از زبانهاي محبوب در زمينههاي مختلف است كه كاميونيتي بسيار بزرگي دارد. اين زبان در سال 1995 رونمايي شد و رفته رفته در زمينههاي مختلف نفوذ كرده و در حال حاضر محبوبيت جهاني دارد. بر خلاف اسم اين زبان، زبان جاوا اسكريپت با زبان جاوا هيچ ارتباطي ندارد. اين زبان در فريمورك ري اكت نيتيو كه توسط شركت فيسبوك طراحي و توسعه داده شده استفاده ميشود. اين فريمورك هم همانند فريمورك فلاتر ميتواند خروجي اندرويد، IOS، ويندوز و يا وب داشته باشد.
زبان سي شارپ و فريمورك زامارين براي برنامه نويسي اندرويد
زبان سي شارپ توسط شركت ماكروسافت در سال 2000 معرفي شد. اين زبان همانند زبان جاوا شي گرا بوده و داراي Syntax مشابه است. فريمورك زامارين يك فريمورك تحت مالكيت ماكروسافت است كه با استفاده از زبان سي شارپ براي اندرويد، IOS و ويندوز خروجي ميگيرد. اين فريمورك به نسبت فريموركهاي ديگر اندرويد محبوبيت آن چناني ندارد.
بهترين زبان براي شروع برنامه نويسي اندرويد چيست؟
شايد با معرفي زبانهاي برنامه نويسي در قسمت قبل، براي انتخاب زبان مورد نظرتان مقداري سردرگم شده باشيد. انتخاب زبان برنامه نويسي براي كساني كه قصد ورود به دنياي برنامه نويسي دارند، ميتواند امري دشوار باشد. زبانهاي برنامه نويسي صرفا ابزارهايي هستند كه براي پياده سازي ايدههاي برنامه نويسان به كار ميروند. بنابراين اگر هدف و قصدمان از برنامه نويسي را بدانيم، آنقدرها هم كه تصور ميكنيد، انتخاب زبان امري پيچيده نيست.
شايد انتخاب زبانهاي برنامه نويسي غير رسمي براي افرادي كه به ساير زبانهاي برنامه نويسي تسلط دارند، امري منطقي باشد. زيرا ميخواهند با زباني كه ميدانند وارد دنياي برنامه نويسي موبايل شوند. مثلا كساني كه برنامه نويس سي شارپ هستند ميتوانند از تكنولوژي زامارين استفاده كنند. زيرا ديگر نياز به صرف زمان براي يادگيري زباني جديد نخواهند داشت و در كمترين زمان ميتوانند اپليكيشنهاي اندرويدي را توسعه دهند.
اما براي كساني كه تصميم دارند به يك متخصص اندرويد تبديل شوند و فقط به توسعه نرم افزارهاي اندرويد بپردازند، بهترين انتخاب زبان جاوا يا كاتلين خواهد بود. زيرا قطعا در فرآيند توسعه نرم افزارهاي اندرويدي با مشكلات و سوالات زيادي رو به رو خواهند شد. معمولا جواب اينگونه چالشها را در اسناد كتابخانهها، مثالهاي گوگل، سايتهاي پرسش و پاسخ مانند Stackoverflow و... پيدا خواهيد كرد. اما به دليل اينكه زبان جاوا به عنوان زبان رسمي اندرويد قدمت بيشتري در توسعه اين سيستم عامل داشته است، اكثر اين منابع از زبان جاوا استفاده ميكنند.
مدت زمان يادگيري برنامه نويسي اندرويد چقدر است؟اگر بخواهيم به اين سوال پاسخ دهيم ميتوانيم بگوييم كه زمان خاصي براي حرفهاي شدن در تخصصي مثل برنامه نويسي وجود ندارد. نميتوان گفت كه مثلا شما الان اگر برنامه نويسي را شروع كنيد، دقيقا در x ماه و y روز و z ساعت ديگر به يك برنامه نويس حرفهاي تبديل ميشويد! زيرا سرعت حرفهاي شدن در هركاري كاملا به شما و شرايط شما بستگي دارد. شما ميتوانيد در ۳ ماه در يك زبان برنامه نويسي حرفهاي شويد و يا ميتوانيد همين كار را در ۳ سال انجام دهيد. سرعت طي كردن اين مسير كاملا دست شماست!
ممكن است شخصي زمان آزاد زيادي داشته باشد و بتواند روزانه ۸ ساعت مفيد براي يادگيري و تمرين برنامه نويسي وقت بگذارد. از آن طرف شخص ديگري باشد كه دانشجو يا شاغل است و روزانه ساعت ميتواند يادگيري و تمرين مفيد داشته باشد. طبيعي است كه نفر اول، زودتر به هدفي كه دارد ميرسد و زودتر ميتواند مسير تبديل شدن به يك برنامه نويس حرفهاي را طي كند. اما در بخش بعدي اين مطلب براي شما يك برنامهي پيشنهادي ۶ ماهه طراحي كردهايم كه با استفاده از آن بتوانيد تنها با صرف زمان ۲-۳ ساعت به صورت روزانه به يك سطح خيلي خوب در برنامه نويسي اندرويد برسيد.
آيا يك بار يادگيري برنامه نويسي اندرويد كافيست؟
اندرويد و برنامه نويسي آن روز به روز درحال گسترش و تغيير است. سرعت اين تغييرات بيش از پيش در حال افزايش است، بنابراين اگر ميخواهيد هميشه يك برنامه نويس حرفهاي باشيد، يادگيري بايد جزو عادتهاي اصلي شما باشد. اگر فقط به دنبال يك دانش اوليه باشيد و ديگر به سراغ آپديت و بروز كردن خودتان نرويد، بعد از مدتي دانش شما قديمي و بدون كاربرد ميشود.
با توجه به اين موضوع كم كم متوجه خواهيد شد كه در حال حذف شدن از دور رقابت هستيد. يكي از مهمترين عادتهايي كه تمام برنامه نويسان حرفهاي دارند، اين است كه عاشق يادگيري چيزهاي جديد هستند و از اين كار لذت ميبرند. پس اگر ميخواهيد بصورت حرفهاي به يك برنامه نويس اندرويد تبديل شويد و آيندهي شغلي خود را تضمين كنيد، پيشنهاد ميكنيم كه دورهي برنامه نويسي اندرويد آكادمي آمانج (https://amanjacademy.com/) را از دست ندهيد.