افراد زیادی هستند که نمیدانند برای شروع یادگیری برنامهنویسی برای اندروید باید از کجا شروع کنند. کتابها، ویدئوها و وبسایتهای بیشماری برای این موضوع وجود دارد. برخی از این منابع رایگان و برخی غیررایگان هستند. برخی از آنها حاوی محتویات سخت و برخی حاوی محتویات آسانتری برای یادگیری هستند. در این نوشته میخواهیم افرادی را که هیچ تجربهای در مورد برنامههای اندرویدی ندارند مورد راهنمایی قراردهیم.
آیا باید پلتفرمهای مخصوص اندروید را یادبگیریم؟ یادگیری flutter یا react native بهترنیست؟ در آینده جای اندروید را نمیگیرند؟
اندروید و ios دو سیستم عامل اصلی گوشیهای هوشمند هستند و کمپانیها دوست دارند برنامههایشان را در این دو پلتفرم ارائه دهند تا بازار بزرگتری را بتوانند تصاحب کنند. برای همین، باید انتخاب کنند که آیا میخواهند دو برنامه مجزا را ایجاد کنند یا میخواهند از یک پلتفرم مشترک استفاده کنند. اگر بخواهند برای هر سیستم عامل از یک زبان مخصوص استفاده کنند، کد نوشتهشده تنها روی همان سیستم عامل اجرا خواهد شد. این کار باعث صرف زمان بسیار زیادی میشود. استفاده از پلتفرمهایی مثل Ionic, react native , Xamarin به شما اجازه میدهد تا با نوشتن یک کد بتوانید برنامه خود را روی هر دو سیستم عامل اجراکنید. اگر بخواهیم خلاصه بگوییم، این پلتفرمها دارای محدودیتهایی هستند که استفاده از آنها نتیجه خوبی را به همراه نخواهد داشت. به همین استفاده از پلتفرمهای مخصوص همواره باید در اولویت شما قرار بگیرد.
Flutter نیز یک پلتفرم مشترک دیگر است که توسط گوگل معرفی شدهاست. این پلتفرم دارای خصوصیات بهتری نسبت به نسخههای مذکور است اما همچنان باید بیان کنیم که ویژگیهای پلتفرمهای مخصوص را ندارد.
اگر میخواهید برای سرگرمی یک برنامه اندروید ایجاد کنید و یا نمیخواهید یک برنامه با جزییات زیاد بوجود آورید، میتوانید از پلتفرمهای مشترک استفاده کنید. اما اگر به دنبال حرفهایشدن در زمینه برنامههای اندرویدی هستید ابتدا باید با پلتفرمهای مخصوص اندروید آشنا شوید.
با توجه به سخت پیداشدن منابع آموزشی باید درک کنید که فرایند یادگیری شما پروسهای زمانبر خواهدبود.
اگر اخبار گوگل را دنبال میکنید، احتمالا نام Fuchsia را شنیدهاید. سیستم عاملی که توسط گوگل معرفی شده و تصور میشود در آینده قراراست جایگزین اندروید شود. هیچکس نمیتواند این موضوع را کاملا تاییدکند. اما باید دقت داشته باشید که برنامههای اندرویدی روی سیستم عامل fuchsia نیز اجرا میشوند.
برای آغاز یادگیری توسعه برنامههای اندروید با جاوا آغاز کنیم یا کاتلین؟
برنامههای اندرویدی را نمیتوان فقط در محیط جاوا کدنویسی کرد. کاتلین یک زبان برنامه نویسی مدرن است که مزایای زیادی نسبت به جاوا دارد. کدنویسی در این محیط بسیار آسانتر است. اما آیا این به معنای این است که نباید جاوا را یادبگیریم؟
به صورت خلاصه میگوییم: از آنجا که منابع آموزشی زیادی برای جاوا وجود دارد، ابتدا جاوا یاد بگیرید، یادگیری همزمان جاوا و کاتلین کار بسیار دشواری است و میتواند باعث سردرگمی شما شود. فعلا مزایای کاتلین را کنار بگذارید. اکثر کدهای برنامههای اندرویدی امروزه در محیط جاوا نوشته میشوند و آینده شغلی کسی که جاوا میداند از ضمانت بیشتری برخوردار است. توصیه میکنیم هنگامی که روی جاوا مسلط شدید به یادگیری کاتلین بپردازید.
برای آغاز آموزش کتاب بخریم یا در دورههای آموزشی شرکت کنیم؟ آیا تمام دستورالعملها را باید گام به گام انجام دهیم؟
بصورت کلی، بهترین راه یادگیری این است که پروژه مخصوص خودتان را آغاز کنید و هرجا که به مشکل برخوردید با تحقیق کردن به دنبال برطرف نمودن آن باشید. نیازی نیست کتاب بخرید و یا اینکه در دورههای آموزشی شرکت کنید.
اگر فردی مبتدی هستید احتمالا هیچ ایدهای برای آغاز کار نخواهید داشت. ممکن است حتی نصب IDE را بلد نباشید. یادگیری این مفاهیم از طریق جستجو در گوگل کار سختی است. به همین دلیل توصیه میکنیم از یک کتاب آموزشی مقدماتی برای یادگیری مفاهیم اولیه استفاده کنید.
توصیه میکنیم برای این کار از ویدئوهای آموزشی و رایگان Udacity استفاده کنید. این ویدئوها در گوگل موجود هستند و کاملا رایگان میباشند. برای مشاهده آنها نیازی به دانستن جاوا ندارید. میتوانید جاوا و اندروید را بصورت همزمان یاد بگیرید. در این ویدئوها با مفاهیمی مثل کلاسها، متغیرها و متدها آشنا خواهیدشد.
توصیه میکنیم همزمان با دیدن این آموزشها، بصورت عملی وارد کار شوید و تمریناتی را برای خود انجام دهید. حتی اگر در هنگام مشاهده ویدئوها احساس کردید همه چیز را یاد گرفتهاید، تا خودتان وارد عمل نشدهاید نقاط ضعفتان مشخص نخواهدشد. اگر این آموزشها را بصورت عملی انجام ندهید پس از مدت کوتاهی همه چیز را فراموش خواهیدکرد.
به شما توصیه میکنیم در هنگام کدنویسی ابتدا بدون کمک و استفاده از چیزی شروع به کدنویسی کنید و زمانی که به مشکل برخوردید به مثالهای آماده مراجعه کنید و مشکل خود را حل کنید. این امر باعث میشود از فکر خود بیشتر استفاده کنید و رفته رفته سطحتان ارتقا مییابد.
اگر درطول مشاهده آموزشهای ویدئویی و انجام تمرینات، احساس خستگی کردید هرچه سریعتر این آموزشها را به انتها برسانید و به خودتان اندکی استراحت بدهید، در ادامه راه میتوانید یادگیری خود را تقویت کنید.
چگونه مسیر خودمان را آغاز کنیم؟
دوره آموزشی Udacity نحوه کارکردن با ویرایشگر XML را به شما آموزش میدهد. پس از یادگیری مفاهیم اولیه، بجای خواندن کتابهای خستهکننده، پروژه خود را آغاز کنید و در زمان انجام پروژه آنچه را که لازم است یاد بگیرید. رفته رفته سطح پروژههای خود را بالا ببرید. اگر ایدهای برای ایجاد یک برنامه جدید ندارید، یکی از برنامههای موجود را خودتان خلق کنید.
توصیه میکنیم فقط آن چیزی که به آن نیاز دارید را یاد بگیرید. نیازی نیست تمام مفاهیم را قبل از به کارگیری آنها یاد بگیرید، در زمان انجام پروژه میتوانید مفاهیم موردنیاز و کاربردی را یاد بگیرید.
مهمترین نکتهای که میخواهیم بیان کنیم این مورد است:
یک ویژگی جالب میبینید و میخواهید آن را به برنامه خود اضافه کنید. اولین کار این است که در گوگل پیرامون آن جستجو کنید. اگر از فرد دیگری بخواهید آن را به شما یاد دهد احتمال دارد همه چیز را به شما آموزش ندهد. در هنگام جستجو ابتدا صفحات رسمی اندروید را مورد مطالعه قراردهید. پس از اندکی وقت گذاشتن متوجه خواهیدشد کدام یک از این اطلاعات مفید و کدامیک غیرمفید هستند.
هنگامی که یک دستورالعمل خوب پیداکردید، خودتان وارد عمل شوید. به خواندن یا تماشای این آموزش اکتفا نکنید. در ابتدا تلاش کنید تا این ویژگی را به برنامه خود اضافه کنید. نیاز نیست تمام جزییات را در یک زمان واحد یادبگیرید. خسته نشوید و به تلاش خود ادامه دهید. هنگامی که با مشکلی مواجه میشوید، از دیگران نخواهید آن را برای شما حل کنند. در ابتدا سعی کنید خودتان این مشکل را برطرف کنید. بعنوان برنامه نویس باید یاد بگیرید که گوگل بهترین دوست شما است و در هنگام مواجهه با مشکلات در ابتدا باید به گوگل مراجعه کنید.
همواره به یاد داشته باشید که یادگیری موثر کار سختی است و گاهی اوقات شما را خسته میکند. اگر تحمل مشکلات را نداشته باشید، ممکن است پس از مدت کوتاهی از این مسیر خارج شوید. اما به یاد داشته باشید که این مشکلات قطعا باعث پیشرفت مهارتهای شما خواهندشد.
علاوه بر توانایی در جستجوی گوگل، باید در کدنویسی از مهارت خوبی برخوردار باشید. خواندن کدهای نوشتهشده توسط دیگران میتواند یک منبع آموزشی خوب برای شما باشد.
چگونه خود را به روز نگه داریم؟
وبلاگ official android developers یک منبع خوب است که شما را از آخرین اتفاقات حوزه اندروید با خبر میکند. همچنین میتوانید برای به روز نگهداشتن خود از androiddev subreddit استفاده کنید.