به شما تبریک میگوییم، شما جزو کسانی هستید که میخواهید پیش نیاز یادگیری برنامه نویسی اندروید را یاد بگیرند و اولین قدم خود را در مسیر توسعه اپلیکیشنهای اندرویدی بردارند. معمولا افراد زیادی ایده هایی دارند که میخواهند آنها را در قالب نرم افزارهای اندرویدی پیاده سازی کنند. همچنین برخی دیگر از افراد علاقه مند به برنامه نویسی و توسعه اپلیکیشنهای اندروید هستند. اما هیچکدام از آنها نمیدانند که باید از کجا باید شروع کنند.
معمولا این سوال برای این افراد پیش میآید که برای ساخت یک نرم افزار اندرویدی چه پیش نیازهایی را باید داشته باشند و مدت زمان یادگیری زبانهای برنامه نویسی اندروید چقدر خواهد بود. در این مقاله به معرفی پیش نیازهای یادگیری برنامه نویسی اندروید و تمام آنچه برای شروع نیاز خواهید داشت میپردازیم.
قبل یادگیری برنامه نویسی اندروید شما نیاز دارید که با مفاهیم ابتدایی و الفبای برنامه نویسی آشنا شوید. ما در مجموعه آموزشی سون لرن دوره ای تحت عنوان الفبای برنامه نویسی تهیه کردیم که مناسب افرادی است که تمایل دارند وارد دنیای شیرین برنامه نویسی شوند.
برنامه نویسی اندروید چیست؟
هر پلتفرمی برای توسعه اپلیکیشنهای خود نیاز به توسعه دارد. همانند پلتفرمهای IOS و ویندوز، اندروید نیز دارای اپلیکیشنهای مختلفی است که هر کدام ویژگیها و کاربردهای خود را داشته و کاربران این سیستم عامل در سراسر دنیا از آن استفاده میکنند. در واقع شما با استفاده از زبانهای برنامه نویسی مختلف، میتوانید اپلیکیشنهای مد نظر خود را پیاده سازی کرده و آن را روی تمامی دستگاههایی که دارای سیستم عامل اندروید هستند اجرا کنید. ما در این مقاله سعی داریم به معرفی پیش نیازهای برنامه نویسی اندروید و بهترین زبان برنامه نویسی اندروید بپردازیم.
پیش نیاز برنامه نویسی اندروید چیست؟
پیش نیازهای برنامه نویسی اندروید به دو دسته پیش نیازهای فنی و غیرفنی تقسیم میشوند. از جمله مهمترین پیش نیازهای غیرفنی برای ورود به دنیای برنامه نویسی میتوان به داشتن انگیزه و هدف گذاری مناسب، آشنایی با زبان انگلیسی، آشنایی با کامپیوتر و اینترنت اشاره کرد.
در این مقاله قصد داریم بعضی از پیش نیازهای فنی و غیر فنی مربوط به برنامه نویسی اندروید را بیان و معرفی کنیم. پیش نیازهای فنی که در ادامه به آن اشاره میکنیم را میتوانید به صورت تدریجی فرابگیرید. به عنوان مثال مبحث شی گرایی، مبحثی نسبتا سنگین و در عین حال کاربردی است که باید در حین انجام پروژههای اندرویدی آن را فرا بگیرید.
سیستم مورد نیاز برای شروع برنامه نویسی اندروید
قبل از شروع برنامه نویسی اندروید، باید مطئمن باشید که کامپیوتر و یا لب تاپ نسبتا خوبی برای اجرای اندروید استودیو داشته باشید. اندروید استودیو یک Integrated development environment که به صورت خلاصه IDE است که توسط شرکت JetBrains برای توسعهی اپلیکیشنهای اندرویدی تولید و منتشر شده است.
نرم افزار اندروید استودیو نرم افزاری نسبتا سنگین بوده که برای اجرا و استفاده از آن نیاز به سیستمی نسبتا خوب دارید. در مقاله زیر درمورد سیستم مورد نیاز و طریقه نصب این نرم افزار به صورت مفصل صحبت کردهایم.
یکی از مهمترین مسائل در برنامه نویسی، توانایی جستجو است. از گذشته تا الان در هنگام کدنویسی و توسعهی نرم افزار به مشکلات و باگهایی برمیخوریم که جواب آن را نمیدانیم و یا مبحث جدیدی را باید فرا بگیریم، از این رو توانایی جستجو کردن یکی از مهمترین بخشهای برنامه نویسی محسوب میشود. سوال کردن از برنامه نویسان دیگر تا حدی خوب است اما آنها یا همه چیز را نمیداند و یا زمان توضیح آن را به شما ندارند، همچنین شاید شما کسی را به عنوان برنامه نویس نداشته باشید که از آن سوالهایتان را بپرسید. در چنین مواقعی جستجو اولین و بهترین گزینه است.
برنامه نویسی اندروید به زبان نیتیو یا استفاده از فریمورک؟
مسئله مهمی که قابل توجه است، انتخاب نیتیو و یا فریمورک برای توسعه اپلیکیشنهای اندرویدی است. امروزه هر دو موضوع بازار کار و متخصصین خود را دارند و انتخاب این میتواند بسته به شرایط و سلایق مختلف متفاوت باشد. در ادامه به توضیح مختصر این دو موضوع میپردازیم:
فریمورک اندروید چیست؟
فریمورک اندروید یک چارچوب نرم افزاری است که با استفاده از زبان برنامه نویسی مخصوص به خود میتواند اپلیکیشنهای اندرویدی را تولید کند. اما فریمورکها بیشتر از یک هدف را نشانه گذاری کردهاند. فریمورکها امکانی را به وجود آوردند که میتوانید با یکبار کدنویسی، برای چندین پلتفرم خروجی بگیرید. به عنوان مثال شما برای اپلیکیشنهای اندرویدی خود برنامه نویسی میکنید و در آخر میتوانید خروجی IOS نیز بگیرید. این امکانی فوق العادست که فریمورکهایی نظیر فلاتر، ری اکت نیتیو و... فراهم کردهاند.
زبان برنامه نویسی نیتیو در اندروید چیست؟
همانطور که از اسم آن مشخص است، زبانی است که توسط شرکت سازنده اندروید پیشنهاد میشود. تمرکز اندروید بر روی این زبان بوده و بیشتر لایبراریهای معروف با این زبان نوشته شدهاند. توسعه اپلیکیشن با استفاده از زبان نیتیو مزایایی به نسبت استفاده از فریمورک را دارد که به چندین مورد در ادامه اشاره میکنیم:
توسعه پذیرتر بودن اپلیکیشن
تست پذیرتر بودن اپلیکیشن
وجود لایبراریهای متعدد برای استفاده در اپلیکیشن
نوشته شدن داکیومنتیشن اندروید بر پایهی زبان نیتیو
و...
بهترین زبان برنامه نویسی اندروید چیست؟
قبل از این که شروع به برنامه نویسی کنید باید زبان برنامه نویسی مناسبی را انتخاب کنید. بین زبانهای مختلف تفاوتهایی وجود دارد که این تفاوت باعث پیچیدگی و متنوع بودن زبانها میباشد. اما در انتها بستگی به شما دارد که به کدام زبان علاقه دارید و میخواهید با کدام یک از آنها برنامه نویسی اندروید را انجام دهید.
ما در این مقاله سعی کردهایم چندین زبان برنامه نویسی اندروید را در اینجا به صورت مختصر توضیح دهیم و شما میتوانید با بررسی کردن هر کدام از آنها و تحقیق بیشتر در مورد هر کدام، بهترین زبان را برای برنامه نویسی اندروید انتخاب کنید.
قبل از معرفی زبانهای برنامه نویسی اندروید، میخواهیم این زبانهارا به دو بخش تقسیم کنیم:
زبانهای نیتیو
زبانهایی که در فریمورکهای اندروید مورد استفاده قرار میگیرند.
زبان کاتلین برای برنامه نویسی اندروید
زبان کاتلین یکی از زبانهای نیتیو اندروید است. این زبان در ژانویه سال 2012 توسط شرکت جت برینز رونمایی شده و در حال حاضر به عنوان زبان اصلی برنامه نویسی اندروید شناخته میشود. این زبان بر روی ماشین مجازی جاوا اجرا شده و یکی از اهداف این زبان، همکاری با زبان جاوا است تا بتوانید اپلیکیشنهای خود را هم با جاوا و هم کاتلین کدنویسی کرده و مشکلی در اجرای اپ نداشته باشید. زبان کاتلین امکانات بسیار زیادتری به نسبت جاوا در اختیار برنامه نویسان اندروید قرار میدهد. کاتلین با طراحی اپریتورهای (Operator) مختلف، کدنویسی را برای برنامه نویسان اندروید بسیار راحتتر کرده است. همچنین زبان کاتلین هم به صورت شی گرا و هم به صورت فانکشنال (Functional) قابل برنامه نویسی است.
زبان جاوا برای برنامه نویسی اندروید
قبل از رونمایی از زبان کاتلین، زبان جاوا به عنوان زبان نیتیو اندروید شناخته شده بود. با رونمایی از کاتلین این دو زبان درکنارهم به عنوان زبان نیتیو در اندروید شناخته شدند. در حال حاضر هر دو زبان در اپلیکیشنهای مختلف مورد استفاده قرار گرفتهاند. بیشتر لایبراریهای معروف و پر کاربرد با زبان جاوا کدنویسی شدهاند اما به دلیل سازگاری زبان کاتلین و جاوا میتوانید از لایبراریهایی که با زبان جاوا نوشته شدهاند در زبان کاتلین استفاده کنید. همچنین از دیگر ویژگیهای زبان جاوا به شی گرا بودن این زبان میتوان اشاره کرد.
در مرحله اول یادگیری زبان جاوا و بعد مهاجرت به زبان کاتلین، یکی از مسیرهایی است که میتوانید انتخاب کنید. زیرا با درک زبان جاوا و طریقهی کارکرد این زبان، یادگیری زبان کاتلین برای شما بسیار راحت خواهد بود. همچنین به دلیل اینکه بیشتر لایبراریها و کلاسهای اندرویدی به زبان جاوا نوشته شده اند، درک این مفاهیم و کلاسها برای شما راحتتر خواهد بود.
تا به اینجا متوجه شدیم که زبانهای نیتیو اندروید، جاوا و کاتلین هستند. امروزه اکثر اپلیکیشنهای بزرگ و کوچک در دنیا از این دو برای برنامه نویسی و توسعهی اپلیکیشنهای خود استفاده میکنند. اما فریمورکها و زبانهای آنها بخش بعدی است که میخواهیم معرفی کنیم. با ما همراه باشید.
زبان دارت و فریمورک فلاتر برای برنامه نویسی اندروید
فلاتر یکی از فریمورکهای محبوب برای برنامه نویسی اندروید است که گوگل نیز روی آن سرمایه گذاری کرده است. این فریمورک با استفاده از زبان دارت قابل استفاده بوده و میتوان با آن اپلیکیشنهای اندرویدی را توسعه داد. این فریمورک در سال 2015 توسط گوگل معرفی و رونمایی شد. با استفاده از زبان دارت میتوان برای اپلیکیشنهای اندرویدی، IOS، اپلیکیشنهای ویندوزی، اپلیکیشنهای لینوکسی و برای وب برنامه نویسی کرد.
زبان جاوا اسکریپت و فریمورک ری اکت نیتو برای برنامه نویسی اندروید
زبان جاوا اسکریپت یکی از زبانهای محبوب در زمینههای مختلف است که کامیونیتی بسیار بزرگی دارد. این زبان در سال 1995 رونمایی شد و رفته رفته در زمینههای مختلف نفوذ کرده و در حال حاضر محبوبیت جهانی دارد. بر خلاف اسم این زبان، زبان جاوا اسکریپت با زبان جاوا هیچ ارتباطی ندارد. این زبان در فریمورک ری اکت نیتیو که توسط شرکت فیسبوک طراحی و توسعه داده شده استفاده میشود. این فریمورک هم همانند فریمورک فلاتر میتواند خروجی اندروید، IOS، ویندوز و یا وب داشته باشد.
زبان سی شارپ و فریمورک زامارین برای برنامه نویسی اندروید
زبان سی شارپ توسط شرکت ماکروسافت در سال 2000 معرفی شد. این زبان همانند زبان جاوا شی گرا بوده و دارای Syntax مشابه است. فریمورک زامارین یک فریمورک تحت مالکیت ماکروسافت است که با استفاده از زبان سی شارپ برای اندروید، IOS و ویندوز خروجی میگیرد. این فریمورک به نسبت فریمورکهای دیگر اندروید محبوبیت آن چنانی ندارد.
بهترین زبان برای شروع برنامه نویسی اندروید چیست؟
شاید با معرفی زبانهای برنامه نویسی در قسمت قبل، برای انتخاب زبان مورد نظرتان مقداری سردرگم شده باشید. انتخاب زبان برنامه نویسی برای کسانی که قصد ورود به دنیای برنامه نویسی دارند، میتواند امری دشوار باشد. زبانهای برنامه نویسی صرفا ابزارهایی هستند که برای پیاده سازی ایدههای برنامه نویسان به کار میروند. بنابراین اگر هدف و قصدمان از برنامه نویسی را بدانیم، آنقدرها هم که تصور میکنید، انتخاب زبان امری پیچیده نیست.
شاید انتخاب زبانهای برنامه نویسی غیر رسمی برای افرادی که به سایر زبانهای برنامه نویسی تسلط دارند، امری منطقی باشد. زیرا میخواهند با زبانی که میدانند وارد دنیای برنامه نویسی موبایل شوند. مثلا کسانی که برنامه نویس سی شارپ هستند میتوانند از تکنولوژی زامارین استفاده کنند. زیرا دیگر نیاز به صرف زمان برای یادگیری زبانی جدید نخواهند داشت و در کمترین زمان میتوانند اپلیکیشنهای اندرویدی را توسعه دهند.
اما برای کسانی که تصمیم دارند به یک متخصص اندروید تبدیل شوند و فقط به توسعه نرم افزارهای اندروید بپردازند، بهترین انتخاب زبان جاوا یا کاتلین خواهد بود. زیرا قطعا در فرآیند توسعه نرم افزارهای اندرویدی با مشکلات و سوالات زیادی رو به رو خواهند شد. معمولا جواب اینگونه چالشها را در اسناد کتابخانهها، مثالهای گوگل، سایتهای پرسش و پاسخ مانند Stackoverflow و... پیدا خواهید کرد. اما به دلیل اینکه زبان جاوا به عنوان زبان رسمی اندروید قدمت بیشتری در توسعه این سیستم عامل داشته است، اکثر این منابع از زبان جاوا استفاده میکنند.
ما در مجموعه آموزشی سون لرن دوره ای جامع برای یادگیری برنامه اندروید تهیه کرده ایم که پیشنهاد میکنیم برای آموزش برنامه نویسی اندروید به صفحه این دوره مراجعه نمایید.
مدت زمان یادگیری برنامه نویسی اندروید چقدر است؟
اگر بخواهیم به این سوال پاسخ دهیم میتوانیم بگوییم که زمان خاصی برای حرفهای شدن در تخصصی مثل برنامه نویسی وجود ندارد. نمیتوان گفت که مثلا شما الان اگر برنامه نویسی را شروع کنید، دقیقا در x ماه و y روز و z ساعت دیگر به یک برنامه نویس حرفهای تبدیل میشوید! زیرا سرعت حرفهای شدن در هرکاری کاملا به شما و شرایط شما بستگی دارد. شما میتوانید در ۳ ماه در یک زبان برنامه نویسی حرفهای شوید و یا میتوانید همین کار را در ۳ سال انجام دهید. سرعت طی کردن این مسیر کاملا دست شماست!
ممکن است شخصی زمان آزاد زیادی داشته باشد و بتواند روزانه ۸ ساعت مفید برای یادگیری و تمرین برنامه نویسی وقت بگذارد. از آن طرف شخص دیگری باشد که دانشجو یا شاغل است و روزانه ۴ ساعت میتواند یادگیری و تمرین مفید داشته باشد. طبیعی است که نفر اول، زودتر به هدفی که دارد میرسد و زودتر میتواند مسیر تبدیل شدن به یک برنامه نویس حرفهای را طی کند. اما در بخش بعدی این مطلب برای شما یک برنامهی پیشنهادی ۶ ماهه طراحی کردهایم که با استفاده از آن بتوانید تنها با صرف زمان ۲-۳ ساعت به صورت روزانه به یک سطح خیلی خوب در برنامه نویسی اندروید برسید.
مسیری که در زیر معرفی شده است، با این پیشفرض نوشته شده است که شما هیچ پیش زمینهای در برنامه نویسی ندارید. اگر حس میکنید که مثلا برنامهی ماه اول برای شما خیلی آسان است، میتوانید از برنامه آن سریعتر عبور کنید و تمرینهای ماههای دیگر را شروع کنید. در زیر برنامهی ۶ ماههی پیشنهادی سون لرن برای تبدیل شدن به یک برنامه نویس اندروید را باهم مرور میکنیم:
ماه اول: یادگیری زبان برنامه نویسی به صورت مقدماتی
در اولین قدم شما باید زبان مورد نظر خود را انتخاب و شروع به یادگیری کنید. برای یادگیری منابع مختلفی در سطح اینترنت وجود دارند که میتوانید با کمی جستجو آنها را بیابید. هنگام یادگیری زبان برنامه نویسی شاید بعضی از مفاهیم را درک نکنید، اصلا نگران نباشید. این یک امر طبیعیست. سعی کنید تا جایی که امکان دارد آن مفهوم را درک کنید و سپس به سراغ موضوع بعدی بروید. به مرور زمان و کدنویسی بیشتر متوجه مفهوم هر یک خواهید شد. سعی داشته باشید در کنار یادگیری حتما تمرین و تکرار داشته باشید زیرا مفاهیم با تمرین و تکرار در ذهن شما خواهند ماند.
نکته: در نظر داشته باشید که به عنوان مثال طریقهی کدنویسی با زبان کاتلین در اندروید و غیر از اندروید متفاوت است. سعی کنید طریقه برنامه نویسی با زبان کاتلین در اندروید را فرابگیرید چراکه در موضوعات مختلف زبانها طریقه پیاده سازی مختلف دارند.
ماه دوم: یادگیری مفاهیم برنامه نویسی: متغیرها، توابعها و...
اولین پیش نیاز برنامه نویسی اندروید، مقدمات و مفاهیم پایهی برنامه نویسی است. مفاهیمی در برنامه نویسی وجود دارد که پایه و اساس تمام زبانهای برنامه نویسی هستند. برای مثال اصلا مهم نیست که شما با چه زبانی میخواهید برنامه نویسی کنید، شما در هر صورت با مفاهیم زیر در تمام زبانهای برنامه نویسی مواجه خواهید شد. این مفاهیم عبارتند از :
متغیرها (Variables)
آرایهها (Arrays)
توابع (Functions)
کلاسها و شیها (Class & Object)
شرطها (Conditions)
حلقهها (Loops)
و...
شما در ماه دوم باید مفاهیم مربوط به پیش نیاز برنامه نویسی اندروید را به خوبی درک کنید. اول از همه دربارهی تاریخچه برنامه نویسی کمی جستجو کنید تا یاد بگیرید که برنامه نویسی چیست، نرم افزارها چطور نوشته میشوند، برنامه نویسی چه زمینههایی دارد، کدها چطور اجرا میشوند و... . پس از آن که با این مقدمات آشنا شدید، کافی است به دنبال یادگیری مفاهیم بالا باشید.
ممکن است در حین مطالعهی این مفاهیم کمی سردرگم شوید و دقیقا متوجه کاربرد آنها نشوید، اما اصلا نگران نباشید! هدف از این مطالعات تنها آشنایی شما با مفاهیم پایهای و پیش نیاز برنامه نویسی اندروید میباشد. زیرا در ادامه بصورت کامل یاد خواهید گرفت که کاربرد هرکدام از این مفاهیم در نرم افزارهای واقعی چیست و چطور باید آنها را بکار بگیرید.
ماه سوم تا پنجم: شروع برنامه نویسی اندروید با زبان مورد نظر
حال که زبان و مفاهیم کلی و پایه را فراگرفتید زمان آن است که شروع به برنامه نویسی اندروید کنید. همانطور که در مقاله اشاره شد برای برنامه نویسی به زبان نیتیو نیازمند نرم افزار اندروید استودیو میباشید. بعد از نصب این نرم افزار برای روی سیستم عامل خود، میتوانید شروع به برنامه نویسی کنید.
نکته: بعضی از فریمورکهایی که نام برده شد نیازمند نرم افزار مختص به خود هستند. با کمی جتسجو در اینترنت میتوانید آن را دانلود و بر روی سیستم عامل خود نصب کنید.
در این دو ماه شما سعی میکنید که به صورت مقدماتی برنامهها و اپلیکیشنهای سادهای را پیاده سازی کنید. به یاد داشته باشید که نیاز نیست اپلیکیشنهایی با امکانات زیاد برنامه نویسی کنید زیرا شاید بعضی از قسمتها هنوز برای شما آشنا نباشد.
سعی کنید برای این دوماه یک منبع آموزشی خوب پیدا کرده و با استفاده از آن به تمرین و برنامه نویسی بپردازید. زیرا منبع آموزشی خوب باعث میشود سرعت یادگیری و رشد شما در این زمینه چندین برابر شود.
ماه ششم: تعریف یک پروژه برای تمامی نکاتی که یادگرفتهایم
بعد از اینکه برنامه نویسی برای اندروید را با زبان انتخابی خود یاد گرفتید و به ساخت برنامههای ساده اندرویدی مسلط شدید، زمان آن فرا رسیده که مباحثی که یاد گرفتهاید را کمی کاربردیتر و حرفهایتر دنبال کنید. در فرآیند یادگیری برنامه نویسی هیچ چیز مثل ساخت پروژههای تمرینی و کاربردی به شما کمک نمیکند! شما میتوانید هفتهها زمان بگذارید و به کاربرد یک مفهوم برنامه نویسی فکر کنید یا از طرفی دیگر میتوانید همان مفهوم را بصورت عملی در یک پروژه استفاده کنید و دقیقا متوجه شوید که آن مفهوم در دنیای واقعی چه کارهایی برای شما انجام میدهد.
هنگامی که شما مباحث مقدماتی و متوسط برنامه نویسی اندروید را یاد گرفتید، از آن زمان به بعد کار شما فقط باید انجام پروژههای تمرینی و تستی باشد. همیشه باید برای خودتان پروژههای مختلفی را تعیین کنید و انجام دهید. نکتهی مهمی که در خصوص پروژههای تستی وجود دارد این است که هر پروژهای که تعریف میکنید باید دارای یک چالش بزرگ برای شما باشد. برای مثال ممکن است که شما تا کنون با پایگاه داده در برنامه نویسی اندروید کار نکرده باشید، پس باید پروژهای تعریف کنید که پایگاه داده داشته باشد.
همچنین به عنوان مثال ممکن است که شما به مبحث مدیریت فایلها در اندروید مسلط نباشید، پس باید پروژهای تعریف کنید که از این قابلیت استفاده کند تا بتوانید در حین انجام آن پروژه، به مبحثی که در آن تسلط نداشتید، اشراف پیدا کنید. در واقع هر پروژه باید برای شما مجموعهای از علامت سوالها و مسئلههایی باشد که به دنبال حل آن باشید. اینکار شما را مجبور به یادگیری و رو به رو شدن با چالشهای جدید میکند. بعد پیاده سازی چندین پروژه مختلف به مهمترین نکات برنامه نویسی اندروید مسلط میشوید و میتوانید اپلیکیشنهایی با چالش بیشتر طراحی و توسعه بدهید.
با ادامه این روند و به مرور زمان قطعا به یک برنامه نویس حرفهای تبدیل خواهید شد. در مسیر تبدیل شدن به یک برنامه نویس حرفهای، هیچ چیزی مهمتر از تجربه نیست. آن چیزی که یک برنامه نویس عادی را از یک برنامه نویس حرفهای متمایز میکند، تجربه و دانش تخصصی است که شما این دو فاکتور را در طول زمان کسب خواهید کرد.
قدم بعدی چیست؟
نکتهای که در خصوص دنیای برنامه نویسی وجود دارد این است که هیچ انتهایی ندارد! دنیای برنامه نویسی هرروز درحال گسترش و پیشرفت است. بنابراین برای حرفهایتر شدن در برنامه نویسی شما میتوانید کارهای زیادی انجام دهید و به روشهای مختلفی دانشی که یاد گرفتهاید را به کار گیرید. برخی از این روشها عبارتند از:
اقدام به استخدام شدن
اقدام به کارآموزی
تعریف پروژههای تستی بیشتر
ادامه دادن یادگیری برای حرفهایتر شدن
آیا یک بار یادگیری برنامه نویسی اندروید کافیست؟
اندروید و برنامه نویسی آن روز به روز درحال گسترش و تغییر است. سرعت این تغییرات بیش از پیش در حال افزایش است، بنابراین اگر میخواهید همیشه یک برنامه نویس حرفهای باشید، یادگیری باید جزو عادتهای اصلی شما باشد. اگر فقط به دنبال یک دانش اولیه باشید و دیگر به سراغ آپدیت و بروز کردن خودتان نروید، بعد از مدتی دانش شما قدیمی و بدون کاربرد میشود.
با توجه به این موضوع کم کم متوجه خواهید شد که در حال حذف شدن از دور رقابت هستید. یکی از مهمترین عادتهایی که تمام برنامه نویسان حرفهای دارند، این است که عاشق یادگیری چیزهای جدید هستند و از این کار لذت میبرند. پس اگر میخواهید به یک برنامه نویس اندروید حرفهای تبدیل شوید، برنامهای که در این مقاله معرفی شد را دنبال کنید. همچنین اگر میخواهید بصورت حرفهای به یک برنامه نویس اندروید تبدیل شوید و آیندهی شغلی خود را تضمین کنید، پیشنهاد میکنیم که دورهی متخصص اندروید سون لرن را از دست ندهید.
۴۴ دیدگاه
۰۲ تیر ۱۴۰۲، ۰۶:۴۳
سلام ببینید من الان تنها ایده ای که دارم اینکه باید اول فاندامنتال اندروید یادبگیرم بعدش یکم آشنایی با جاوا بعد کاتلین بعدشم UI به شکل بیسیک ولی هیچ ایده ای واسه بعد این قصیه ندارم
نازنین کریمی مقدم۰۴ تیر ۱۴۰۲، ۲۰:۳۱
درود
بعدش به صورت کارآموزی و نهایتا استخدامی مشغول به کار میشید و در حین کار موارد ریز و به اصطلاح فوت کوزه گری رو یاد میگیرید.
۱۰ اسفند ۱۴۰۱، ۱۶:۵۳
سلام ببخشید من یه دوره کامل از برنامه نویسی جاوا تهیه کردم (البته از سایت شما نیست متاسفانه) و الان 20 روزی میشه که طبق آموزش پیش رفتم... میخواستم بدونم برای اینکه اندروید رو یاد بگیرم باید دوره جاوا رو تا انتها یادبگیرم...یا اینکه بدون یادگیری هیچ زبانی هم میتونم اندروید بنویسم...یعنی دانش من از جاوا توی اندروید کاربرد داره.
ببخشید خیلی طولانی شد ...ممنون میشم توضیح بفرمایید.
نازنین کریمی مقدم۱۱ اسفند ۱۴۰۱، ۲۳:۵۶
درود
بهتر بود که دوره جاوا در اندروید یا موارد مشابه رو انتخاب میکردید چون جاوا خیلییی مورد داره که تو اندروید کمتر به کار میاد از اون طرف شما نیاز دارید تا چندساعتی آموزش اندروید استودیو ببینید.
پس بجز جاوا به زبان دیگری نیاز نخواهید داشت اما وقتی اندروید استودیو رو نصب کردید، چندتا قسمت رایگان اندروید استودیو از یوتیوب ببینید و اگر دیدید هنوز مسلط نیستید، یک دوره کوتاه اندروید استودیو رو ببینید.
۱۵ مهر ۱۴۰۱، ۱۲:۴۲
سلام من سوالم برعکس این آموزش هست
من یک اپلیکیشن موزیک دانلود کردم سورس کدشو دیدم متوجه شدم چند زبانه هست
تو یک پوشه چند استرینک هست به این صورت
String
String in
String en
String ir
String dn
و متناسب با زبان موبایل برنامه زبان عوض میکنه
من زبانهای اضافه رو حذف کردم و الان فقط دوتا استرینگ دارم
String
String ir
محدودیت string دستی فارسی کردم ولی راست چین نیست یعنی زبان گوشی من انگلیسی باشه فارسی که خودم کردم نشون میده ولی اگه فارسی کنم زبان گوشیم برنامه string ir میخونه
سوال اینجاست
چیکار کنم برنامم فقط string ir بخونه چه انگلیسی باشه چه فارسی ؟
نازنین کریمی مقدم۱۶ مهر ۱۴۰۱، ۱۲:۵۲
درود
باید مفهوم کد رو با خوندنش بفهمید و اون بخشی که براساس زبان میاد متغیر رو ست میکنه تغییر بدید که همیشه از ir بخونه.
۲۱ تیر ۱۴۰۱، ۱۱:۰۳
سلام
برای برنامه نویسی اندروید لینوکس بهتره یا ویندوز ؟!
نازنین کریمی مقدم۲۲ تیر ۱۴۰۱، ۰۳:۴۶
درود
فرقی نداره و روی هردو اندروید استودیو نصب و قابل اجراست.
۲۰ تیر ۱۴۰۱، ۱۰:۴۵
سلام خسته نباشین
میخواستم بدونم برنامه نویسی روی ویندوز بهتره یا لینوکس؟؟
نازنین کریمی مقدم۲۱ تیر ۱۴۰۱، ۰۳:۱۹
درود
بستگی به حوزه کاری داره اما در کل لینوکس در اغلبشون توصیه میشه.
علی۰۸ مهر ۱۴۰۰، ۱۷:۱۲
سلام برام جالب بود اما ای کاش با پیشرفت پلتفرمها مطالب رو توسعه بدید.پیشنهاد میکنم از هر منبعی که استفاده میکنید خواهشا خلاصه نکنید.هرکی بیاد خلاصه یه چیزی رو بگه مطلب بی کیفیت میشه و کم میشه.موفق باشید.
نازنین کریمی مقدم۱۰ مهر ۱۴۰۰، ۱۱:۲۶
درود
حقیقتا ما سعی میکنیم حجم مطالب رو در چندین مقاله بشکونیم تا خوندن مقالات و یادگیری برای دوستان راحتتر بشه. اما حتما درخواستتون رو بررسی میکنیم و ممنون که با ما همراه هستید.
امیر۰۷ شهریور ۱۴۰۰، ۱۴:۴۷
من میخام برنامه نویس اندروید رو یاد بگیرم اما هیچ پیش زمینه ای از برنامه نویسی ندارم و اینکه از مقدماتیترین بخش میخام شروع کنم ایا شما کلاس یا ویدیو اموزشی دارید یا میتونید معرفی کنید برای شروع این مطلب
نازنین کریمی مقدم۱۳ شهریور ۱۴۰۰، ۱۹:۱۱
درود
منابع انگلیسی زیادی وجود داره اما خب خیلیهاشون از پایه توضیح نمیدهند و به دردسر میفتید. آموزش ویدیویی انگلیسی زیاد هست، خود گوگل یسری دوره ویدیویی گذاشته که با سرچ میتونید از اینترنت دریافت کنید و پیش برید.
<a href="https://7learn.com/course/android-expert" target="_blank" rel="noopener nofollow ugc">دوره متخصص اندروید</a> ما هم هست که به زبان فارسی توضیح دادیم و از مقدماتیترین بخشها شروع میشه و میتونید سرفصلهایی که بنظرتون اضافه هست رو خریداری نکنید.
آقا خوش تیپ?۲۷ اردیبهشت ۱۴۰۰، ۰۲:۱۴
زبان انگلیسی اصلا بلد نیستم مثل ریاضی
میتونم برنامه نویسی شم
نازنین کریمی مقدم۲۷ اردیبهشت ۱۴۰۰، ۲۰:۳۸
درود. خیر.
امیرعباس۰۱ اسفند ۱۳۹۹، ۰۷:۵۹
سلام
خیلی مقاله خوب و مفیدی بود!
اگه میشه یه نفر یه سایتی معرفی کنه که بروزترین اخبار برنامه نویسی رو داشته باشه.
ممنون میشم.
نازنین کریمی مقدم۰۲ اسفند ۱۳۹۹، ۱۴:۵۲
درود.
پیگیری تمامی اخبار برنامه نویسی به صورت یکجا یکم کار سختیه. به همین دلیل معمولا هرزبانی به طور خاص منابع خودش رو داره.
اما به شخصه در مراجع انگلیسی بهتون <a href="https://news.ycombinator.com/" target="_blank" rel="noopener nofollow ugc">hacker news</a> رو پیشنهاد میکنم البته ممکنه اون اوایل که با محیطش آشنا نیستید براتون گیج کننده باشه. <a href="https://www.sitepoint.com/blog/" target="_blank" rel="noopener nofollow ugc">site point</a> و <a href="https://slashdot.org/" target="_blank" rel="noopener nofollow ugc">slashdot </a>هم سایتهای بسیار خوبی هستند.
در منابع فارسی متاسفانه کمی بدبین نسبت به صحت اطلاعات هستم و پیشنهاد خاصی ندارم. سایر دوستان اگر تجربه ای دارید بفرمایید که فیض ببریم :)
popba۱۲ بهمن ۱۳۹۹، ۱۰:۴۵
عالی
نازنین گودرزی۱۴ بهمن ۱۳۹۹، ۱۲:۴۶
توصیه میکنیم بعد از یادگیری برنامه نویسی اندروید و پیش نیازهای آن، <a href="https://7learn.com/blog/make-money-android" rel="noopener" target="_blank">روشهای کسب درآمد از برنامه نویسی اندروید</a> هم مطالعه بفرمایید.
محمد۰۳ آذر ۱۳۹۹، ۱۹:۱۷
سلام دوست عزیز کاتلین زبان برنامه نویسی نیست! فریمورک است./
نازنین کریمی مقدم۰۴ آذر ۱۳۹۹، ۰۹:۱۲
سلام.
کاتلین یک زبان برنامه نویسی هست و این موضوع به صورت شفاف در اولین جمله <a href="https://kotlinlang.org/" target="_blank" rel="noopener noreferrer nofollow ugc">وبسایت رسمی کاتلین</a> درج شده.
توصیه میکنم که <a href="https://7learn.com/blog/kotlin-vs-java" rel="noopener noreferrer" target="_blank">مقاله تفاوت کاتلین و جاوا چیست؟ دو زبان برنامه نویسی مطرح در توسعه اندروید</a> رو مطالعه کنید تا با تفاوتهای اون با جاوا بیشتر آشنا بشید.
علیرضا۰۸ آبان ۱۳۹۹، ۰۷:۵۶
سلام
خیلی عالی بود.
حسین۲۲ شهریور ۱۳۹۹، ۰۶:۳۹
باسلام و احترام.
می خواستم از مطلب خوبتون و همینطور وقتی که صرف تهیه آن کنید تشکر و سپاسگزاری کنم.
انشاءالله موفق باشید.
نازنین کریمی مقدم۲۲ شهریور ۱۳۹۹، ۰۸:۰۱
سلام.
ممنون که با ما همراه هستید.
پویا فرخ نیا۰۷ شهریور ۱۳۹۹، ۱۴:۰۳
خیلی ممنون از مطلب خوبتون آیا امکان برقراری تماس خصوصی هم هست
من ساکن المان هستم و چنتا سوال در مورد برنامه نویسی اندروید دارم
کیوان علی محمدی۰۷ شهریور ۱۳۹۹، ۱۶:۵۲
سلام. با پشتیبانی تلگرام سون لرن هماهنگی کنید.
همایی۳۰ مرداد ۱۳۹۹، ۰۷:۵۸
سلام.
بسیار ساده و قابل فهم و جامع نوشته بودید. به دور از اغراق گویی و یا ناامید کردن؛ واقعیات را گفته بودید. کسی که میخواهد وارد این رشته شود و این مهارت را بیاموزد با خواندن مقاله شما کاملا تکلیف خودش را میداند که وارد بشود یا خیر.
دست شما دردنکند.
نازنین کریمی مقدم۱۹ شهریور ۱۳۹۹، ۱۹:۴۴
سلام. ممنون که با ما همراه هستید.
باقری۲۰ خرداد ۱۳۹۹، ۱۷:۰۱
خیلی عالی بود و جامع
فائقه نامور۲۱ مرداد ۱۳۹۹، ۱۰:۱۰
سلام
ممنون از توجه شما.
نیما۰۴ خرداد ۱۳۹۹، ۱۴:۳۶
درود فراوان
قلم تون خیلی شیوا و جذاب هست.برقرار باشین
فائقه نامور۰۷ خرداد ۱۳۹۹، ۱۱:۲۹
خواهش میکنم، ممنون از توجه شما
رضا.۲۲ اردیبهشت ۱۳۹۹، ۰۹:۴۵
سلام آیا جنابعالی خودتان برنامه نویس هستید اگر بله من چند ایده در حوزه فناوری دارم اگه مایل به همکاری یا تشکیل یک تیم هستید اعلام فرمایید
حمید۲۰ اردیبهشت ۱۳۹۹، ۱۲:۵۶
سلام
ممنون از شما . توضیحات خوبی بود .
mohamadreza۱۰ اردیبهشت ۱۳۹۹، ۰۸:۰۱
سلام امکانش هست راهنمایی بفرمایید
من میخوام زبان جاوا اسکریپتو شروع کنم
فقط مشکلی که دارم فعلا کارت گرافیک ندارم سیستمی که دارم
cpu...corei59600k گرافیک مجتمع داره
رمش16
میشه برنامه نویسی رو شروع کرد؟
ممنون میشم پاسخ بدید
Reza۰۴ اسفند ۱۳۹۸، ۱۳:۱۷
مدتها دنبال این بودم که برنامه نویسی اندروید را از کجا شروع کنم. این مقاله شما کمکم کرد تا مسیر شروع برایم مشخص شود. از زحمات شما ممنونم.
مرتضی جوادی۲۹ دی ۱۳۹۸، ۲۳:۵۶
سلام و خسته نباشید،مرسی از مطلبهای مفیدتون که واقعا بی نظیر بود،من علاقه خیلی زیادی به برنامه نویسی دارم و میخوام شروع کنم و هیچ مهارتی ندارم در این زمینه و به عنوان مبتدی میخوام شروع کنم،البته من عاشق بازی سازی اندروید هستم،میخواستم بدونم اگر بخوام یک بازی ساز اندروید بشم،باید مطلب هایی که گذاشتین رو یاد بگیرم،یا نه بازی سازی اندروید یک فرق داره با برنامه نویسی اندروید?ممنون میشم اگر جواب بدین
ریحانه یزدانی۰۶ بهمن ۱۳۹۸، ۰۶:۵۲
سلام
برنامه نویسی اندروید شامل توسعه اپلیکیشن و بازیهای مبتنی بر اندروید میشه. در هر صورت شما باید برنامه نویسی اندروید یاد بگیرین و با توجه به علاقتون، تکنولوژیهای روز توسعه اپلیکیشن و یا بازیهای اندرویدی رو دنبال کنین
سید ساسان میری۱۶ دی ۱۳۹۸، ۱۳:۳۵
مطالب خوبی بود ممنون اما اندروید استودیو رو چه جوری میشه نصب کرد؟
علی فرمانی۲۳ تیر ۱۳۹۸، ۰۵:۰۰
زبان برنامه نویسی دارت و فریمورک flutter یادتون رفت . الان جزء بهترین هاست .
مهدی علامه۲۳ تیر ۱۳۹۸، ۱۰:۱۲
سلام علی عزیز
بله، از این زبان هم میتوان برای برناممه نویسی نرم افزارهای گوشی هوشمند استفاده کرد.
اما در حال حاضر در ایران بر روی زبان جاوا و کاتلین از نظر توسعه اپلیکیشنها تمرکز بالایی شده است.
محمد محبتی۲۳ اردیبهشت ۱۳۹۸، ۱۵:۰۱
سلام
مفید بود خیلی ممنون.
banihashem3۰۹ اردیبهشت ۱۳۹۸، ۱۰:۴۶
مطلب مفیدی بود با تشکر
راهنمای مقاله
برنامه نویسی اندروید چیست؟
پیش نیاز برنامه نویسی اندروید چیست؟
برنامه نویسی اندروید به زبان نیتیو یا استفاده از فریمورک؟
بهترین زبان برنامه نویسی اندروید چیست؟
مدت زمان یادگیری برنامه نویسی اندروید چقدر است؟
آیا یک بار یادگیری برنامه نویسی اندروید کافیست؟
راهنما و فهرست مقاله
برنامه نویسی اندروید چیست؟
پیش نیاز برنامه نویسی اندروید چیست؟
برنامه نویسی اندروید به زبان نیتیو یا استفاده از فریمورک؟