سوالات متداول توسعهدهندگان تازه کار اندروید
توو این پست میخوام جواب سوالات متداولی که توی گروههای تلگرام یا بصورت خصوصی از خودم خیلی پرسیده میشه رو بدم. خوبی اینجا نسبت به تلگرام اینه که این جوابها همیشه در دسترس هست و زیر بقیه پیامهای گروه گم نمیشند. تقریبا نفراتی که تازه با اندروید آشنا میشند، سوالات مشابهی در ذهنشون درست میشه. این سوالات و جوابهاشون رو در ادامه بخونید.
۱- برای ساخت برنامه اندروید باید جاوا بلد باشیم؟
نه! فریمورکهای مختلفی هستند که میتونید به کمک اونها و با زبانهای دیگه برنامه اندروید درست کنید. مثل Ionic (زبان AngularJS) و Xamarin (زبان #C) و React Native (زبان Js) و B4A (زبان Basic) و Phonegap
۲- با وجود Xamarin و React Native که میشه باهاشون برای چند سیستم عامل برنامه تولید کرد، آیا یاد گرفتن زبان جاوا برای تولید برنامه اندروید ارزش داره؟
نظرات در این رابطه متفاوت هست ولی هرچقدرXamarin وReact Native خوب بوده باشند، هنوز نتونستند درصد زیادی از شرکتهارو متقاعد کنند که ازشون استفاده کنند. چون من بصورت تخصصی با Xamarin یاReact Native کار نکردم، در رابطه باهاشون نظر تخصصی نمیدم و میتونید با گوگل کردن در مورد مزایا و معایبشون مطالعه کنید. از نظر من تا زمانی که گوگل خودش از جاوا حمایت کنه و براش محتوای آموزشی و کتابخونه تولید کنه، ارزششو داره جاوا کار کنید و قطعا خیلی شرکتها وجود دارند که استخدامتون میکنند.
۳- این Kotlin که جدیدا همه ازش صحبت میکنند چیه؟
یک زبان برنامهنویسی هست که توسط شرکت Jetbrains درست شده. باهاش میشه برنامه اندروید درست کرد و مدت زیادی روش کار شده و حتی بعضی از شرکتهای مطرح مثل ترلو برای ساخت بخشهایی از برنامشون از Kotlin استفاده کردند. به دلیل اینکه گوگل در IO17 اعلام کرد به عنوان یک زبان رسمی برای تولید برنامه اندروید ازش حمایت میکنه، الان خیلی در موردش صحبت میشه. از این به بعد گوگل سعی میکنه در کنار جاوا به بهتر شدن این زبان برای توسعهی برنامه اندروید کمک کنه و براش داکیومنت یا محتوای آموزشی بسازه.
۴- لازمه حتما Kotlin یاد بگیریم و از جاوا به اون سوییچ کنیم؟
گوگل هنوز در رابطه با اینکه میخواد جاوا رو کنار بذاره یا نه! صحبتی نکرده ولی خب منطقیش اینه شما سعی کنید ذره ذره با این زبان آشنا بشید و بصورت تفریحی پروژههای تمرینی باهاش درست کنید. تازه لازم نیست که کل پروژه Kotlin باشه، میتونید از این دو زبان در کنار همدیگه و داخل یک پروژه استفاده کنید. با توجه به اینکه شرکتهای بزرگ و توسعه دهندگان مطرح به این زبان علاقه نشون دادند، احتمالا آینده روشنی در انتظارش هست.
۵- اندروید استودیو سنگین هست، چطور از اکلیپس استفاده کنم؟
فکرکنم تنها جایی که هنوز در رابطه با اکلیپس برای توسعه برنامه اندروید صحبت میشه توو تلگرام و در ایران هست😀 درگذشتهی خیلی دور با نصب پلاگین ADT روی اکلیپس، میشد باهاش برنامه اندروید درست کرد! اما بعد از اینکع گوگل اندروید استودیو رو معرفی کرد، خیلی وقته که ADT آپدیت نشده و به عبارت دیگه منسوخ شده. در نتیجه فراموشش کنید و باید از اندروید استودیو استفاده کنید.
۶- به چه سخت افزاری نیاز هست تا بدون مشکل بشه برنامه نویسی اندروید کرد؟
من خودم از یک لپتاپ لنوو با سی پیو Corei7-4510U اینتل، رم ۸ و یک هارد SSD با ظرفیت ۵۱۲ گیگابایت استفاده میکنم.هارد SSD خیلی تاثیرگذار هست ولی در نبودش هم میشه کار کرد اماحداقل حتما رم ۸ رو داشته باشید. راستی گول اون corei7 پردازندهی لپتاپ منو نخورید، چون از سری U هست در حد یک corei3 یا corei5 معمولی کار میکنه.
۷- چقدر طول میکشه تا توی اندروید حرفهای بشم؟
این قضیه برمیگرده به اینکه چقدر پیش زمینه در مورد برنامهنویسی و OOP دارید. بنظر من برای اینکه یکی بتونه حداقل با برنامهنویسی اندروید آشنا بشه به یک سال زمان نیاز داره. دیگه بعد یک سال درسته هنوز چیزهایی مونده که بلد نباشید ولی مفاهیم پایه رو میدونید و راحتتر همه چیزو درک میکنید.
۸- چطوری برنامهنویسی اندروید یاد بگیرم؟
پاسخ این سوال رو در یک پست دیگه خیلی کامل توضیح میدم و اونجا میگم که خودم از چطوری و از کجاها برنامهنویسی اندروید رو یاد میگیرم. ولی بصورت خلاصه این قضیه خیلی بستگی به خود نفر داره، توصیه من اینه شروع یاد گیریتون با فیلمهای آموزشی باشه که خسته نشید. سعی کنید پروژه محور شروع کنید، باعث میشه درگیر بخشهای مختلف برنامهنویسی اندروید مثل دیتابیس، کار با وب سرویس و رابط کاربری بشید.بعدش به مرور در رابطه با چیزهایی که استفاده میکنید یا هنوز نکردید، تحقیق کنید و عمق دانشتون رو زیاد کنید.