یکی از سوالهایی که تو ایمیلها و توییتر ازم زیاد پرسیده میشه اینه که برنامه نویسی اندروید رو چجوری شروع کنیم و چجوری یاد بگیریم. برای همین تصمیم گرفتم که جوابی که معمولا به این سوالها میدم رو تو یه پست نسبتا مفصل بنویسم تا شاید به درد افراد دیگه هم که سوال مشابه دارند به دنبال وارد شده به این حوزهاند بخوره.
برنامهنویسی برای سیستم عامل اندروید یکی از اون کارهایی که اگر درست یاد بگیرید میتونید مطمئن باشید که حالا حالاها بیکار نمیمونید. از طرفی هم به خاطر ذات جذاب پلتفرم موبایل، جزو کارهایی محسوب میشه که میتونید از انجامش لذت ببرید. اما همهی اینه به شرطیه که واقعا برنامهنویس باشید. نه یه تکنسین که فقط بلده کتابخونهها رو به هم وصل کنه و یه محصول تولید کنه. اما چجوری میشه یه برنامه نویس خوب اندروید شد؟ من سعی کردم مراحل رو طبق سواد و تجربه سه ساله خودم تو این حوزه بنویسم:
۱- اول ببنید کجای کار ایستادهاید
خودشناسی قدم اول شروع هر کاریه. برای اینکه بخواید برنامهنویسی اندروید یاد بگیرید قبل از هرچیزی باید ببینید کجای کار ایستادهاید و چقدر بلدید. آیا قبلا با زبونهایی مثل C,C++, Java برنامهنویسی کردید؟ اگر جوابتون آرهست در چه سطحی؟ چقدر با الگوریتمهای مختلف آشنایید؟
برای اینکه بتونید برنامهنویس خوبی باشید باید برنامه نویسی رو مستقل از زبان و پلتفرم یاد بگیرید. وقتی میگیم مستقل از زبان منظور اینه که زبان برنامهنویسی و سینتکسی که باهاش مسئله رو حل میکنید مهم نیست. چیزی که مهمه اینه که شما باید بتونید مسئله رو حل کنید. توانایی حل مسئله مهمترین و ارزشمندترین توانمندی یک برنامهنویسه که هیچجایی آموزش داده نمیشه. این توانمندی چیزی نیست که شما بتونید با دانشگاه یا کلاس رفتن یا خوندن یه کتاب یاد بگیرید (البته با خوب خوندن CLRS میشه. باور کنید!) بلکه باید مدتها تمرین و تمرکز کنید. سعی کنید از حل کردن مسئلههای کوچیک شروع کنید و به مرور که با روشهای معروف حل مسئله آشنا میشید مسئلههای سخت بیشتری رو حل کنید. برای پیشرفت تو این کار کتاب طراحی الگوریتم CLRS میتونه یه کتاب معرکه باشه.
۲- چقدر JAVA بلدید؟
اگر بخواید برای اندروید برنامهنویسی کنید باید آشنایی خوبی با این زبون داشته باشید. البته روشهای دیگهای هم برای برنامهنویسی اندروید وجود داره. مثل روشهای هایبریدی در اون میتونید با جاوااسکریپت و تکنولوژیهای وب برنامهای بنویسید و برای همهی پلتفرمهای موبایل خروجی بگیرید. یا xamarin که اجازه میده با C# برای اندروید برنامهنویسی کنید. اما همهی این روشها مشکلات خودشون رو دارند و چیزی که گوگل توصیه کرده همین استفاده از جاوا به همراه کتابخونههاییه که خود گوگل برای اینکار ارائه داده.
اگرچه جاوایی که تو اندروید استفاده میشه تو لایههای زیرین و تو بعضی از کتابخونهها با جاوای sun فرق داره، اما این تفاوت چیزی نیست که تو شروع کار حتی متوجهش بشید. برای همین لازمه با جاوا در حد متوسط آشنا باشید و بتونید برنامههای سادهای با این زبون بنویسید. میتونید برای شروع چند تا مسئله معروف رو با این زبان حل کنید تا ببینید چقدر بهش مسلطید. حل مسئلههایی مثل هشت وزیر هم دید خوبی نسبت به برنامهنویسی جاوا میده و هم انقدر معروفه که میتونید چندین مدل پیادهسازی آمادهاش رو پیدا کنید و با کدهای خودتون مقایسه کنید.این کار تاثیر معرکهای روی تسلطتتون به یک زبان برنامهنویسی خواهد داشت.
۳ – اندروید رو شروع کنید!
خب، تازه رسیدیم سر اصل مطلب. اشتباهی که خیلیها میکنند اینه که فکر میکنند اندروید هم یک زبانه و برای یاد گرفتنش باید به همون شیوه برخورد کنند که مثلا برای یاد گرفتن PHP میکنند. این تفکر غلطه چون اندروید یک پلتفورمه. شما برای یاد گرفتنش باید با یه سری ابزارها و یه سری تکنیک ها آشنا بشید که تو تمام پروژهها تکرار میشن. باید ساختار پروژههای ایجاد شده با IDEهای مختلف اندروید (عموما اکلیپس و اندروید استدیو) رو درک کنید و با خود IDE آشنا بشید. اگر از اون دسته آدمایی هستید که از IDE بدشون میاد و به Text Editor عادت دارند متاسفانه باید بگم اینجا همونجاییه که باید این عادت رو ترک کنید. برنامهنویسی اندروید چیزی نیست که با یه تکست ادیتور بتونید انجامش بدید و شدیدا نیاز دارید انجام بعضی از کارها رو بسپرید به IDE.
برای شروع آشنایی با این پلتفرم توصیه من دیدن ویدیوهای آموزشیه. دیدن این ویدیوها باعث میشه که قدری به فضای توسعه اندروید عادت کنید و ببینید انجام بعضی از کارهایی که تا قبل این فکر میکردید سخته چقدر آسونه. پیشنهاد من اینه که یک سری از این ویدیوها رو انتخاب کنید و تا انتها با دقت ببینید. من خودم با ویدیوهای لیندا این مرحله رو گذروندم و هر کسی هم که ازم در این مورد سوال میکنه ویدیوهای لیندا رو بهش پیشنهاد میدم. این ویدیوها رایگان نیستند اما طی یک عمل زشت میشه از تورنت یا از یه سری سایتهای فارسی دانلودشون کرد!
۴- وقت خاک بازیه
یکی از بهترین شیوههای یاد گرفتن اینه که خودتون رو وسط یه پروژه تمرینی قرار بدید. آستینها رو بالا بزنید و برای خودتون یه پروژه تعریف کنید. این پروژه میتونه یه پروژه خیلی ساده باشه که قبلا هم پیاده سازی شده. مثلا یه نرمافزاری بنویسید که تاریخ تولد دوستتون رو بهتون یادآوری میکنه. یا حتی یک ماشین حساب که بتونید باهاش محاسبات ساده رو انجام بدید. مشکلاتی که در طی انجام این پروژه سر راهتون ظاهر میشن دقیقا همون چیزهایی هستند که باعث میشن انجام این پروژه براتون مفید باشه. توجه کنید که اگر طی انجام یه پروژه تمرینی به مشکلی برنخوردید، عملا وقتتون رو حروم کردید! چون این پروژه چیز جدیدی برای شما نداشته!
۵- زیاد بخونید. خیلی زیاد.
دیدن ویدیوها فقط برای شروع کار خوبه. برای ادامه باید خودتون رو به خوندن داکیومنت و سورسکد عادت بدید. داکیومنتهای سایتdeveloper.android.com در تمام مدت برای شما باید حکم کتاب مقدس رو داشته باشه که برای انجام هر کاری بهشون رجوع میکنید. تو اندروید کارهای زیادی هستن که ممکنه در ابتدا راجع بهشون هیچ ایدهای نداشته باشید. کارهایی مثل وصل شدن به دوربین، گرفتن دیتا از GPS، نمایش نوتیفیکیشن و … کارهایی هستن که اگر قبلا برنامهنویسی موبایل نکرده باشید در ابتدا براتون جدید و سخت به نظر میان. گوگل برای تمام این کارها توضیحات دقیق به همراه نمونهکدهایی تو سایت خودش قرار داده که خوندن اونها اصلیترین منبعیه که برنامهنویسها بهش رجوع میکنند تا با کتابخونههای اندروید آشنا بشند و انجام دادن برخی کارها رو با این کتابخونهها یاد بگیرند. دقت کنید تمام کسایی که تو سایتهایی مثل stackoverflow جواب مارو میدن، خودشون جوابها از رو همین داکیونت ها یادگرفتند.
۶- یاد بگیرید چجوری سرچ کنید!
تو شروع برنامهنویسی اندروید و به خصوص ماه های اول مشکلات زیادی خواهید داشت. ممکنه کد شما هیچ اشکالی نداشته باشه اما IDE از تمام خطها ایراد بگیره. ممکنه خیلی بی دلیل کتابخونه add نشه. ممکنه موقع اجرای کد IDE گوشی شما رو نشناسه و هزارها دردسر دیگه. اینها ایراداتی هستند که احتمالا حسابی کلافتون میکنند. اما بدونید این فقط شما نیستید که به این مشکلات برخورد کردید و همه این دردسرها رو داشتند. برای حل این قبیل مشکلات لازمه خوب سرچ کردن رو بلد باشید (قطعا به انگلیسی). این مشکلها عموما راهحلهای خیلی سادهای دارند که خیلی وقت پیش تو جایی مثل stackoverflow مطرح شدند و چند صد تا امتیاز مثبت گرفتند. برای حلشون فقط لازمه بدونید چی سرچ کنید. همین و بس.
من سعی کردم مسیر رو واضح و مستقیم بیان کنم. این مسیر مسیریه که خودم طی کردم و ازش راضی بودم. اما خب نباید این حقیقت رو نادیده گرفت که یادگرفتن برای هر کسی روند متفاوتی داره. به هر حال شما اگر تجربه متفاوتی داشتید ممنون میشم تو قسمت نظرات بگید.
0 دیدگاه در “چجوری برنامهنویسی اندروید یاد بگیریم”