arezoshomali
کاربر تایید شده
وقتی که عزم یادگیری هر مهارتی در ما جوانه می زند خوب است که دو مورد را مد نظر قرار دهیم تا آن مهارت جدید را بهتر و راحتر و سریع تر آموزش ببینیم.
در هر قدم از مراحل آموزش سعی کنیم یک نمونه عملی با آن آموزش پیاده سازی کنیم به طور مثال اگر ساز است یک قطع موسیقی با آن بنوازیم اگر زبان است تمرین های آن را حل کنیم و اگر برنامه نویسی اندروید است، یک برنامه کوچک با آن بسازیم. همچنین می توان یک موضوع را در نظر گرفت تا تمام مراحل آموزش را حول همان موضوع پیاده کرد. برای آموزش هایی که حول یک پروژه پیش می روند از اصطلاح پروژه محور استفاده می شود.
سعی کنید مسیر آموزش را بشناسید سپس مسیر را به چند هدف کوتاه مدت تقسیم کنید، به طور مثال در آموزش گیتار همه ابتدا تا یک سطح تقریبا مشخصی گیتار را می آموزند سپس تصمیم می گیرند که می خواهند کدام سبک از گیتار را پیش ببرند. در آموزش برنامه نویسی اندروید هم با ما همراه باشید تا مسیر آموزش را بشناسید و بدانید که قصد دارید به کجا برسید تا بتوانید سریع تر حرکت کنید.
برای شناخت مسیر آموزش برنامه نویسی اندروید ابتدا ببینیم که چند نوع اپلیکیشن اندروید داریم تا بدانیم برای ساخت هر اپلیکیشن اندروید به چه مهارت هایی نیاز می باشد سپس انواع دوره های آموزشی اندروید معرفی می شود و چون شما می دانید که به چه مهارت هایی نیاز دارید بهتر مسیر خود را برای تبدیل شدن به یک برنامه نویسی حرفه ای طی می کنید.
به طور کلی چهار نوع اپلیکیشن موبایل داریم.
۱. اپلیکیشن های بدون سرور و بدون دیتابیس
تمام بازی هایی که بدون اینترنت کار می کنند از این نوع اپ ها هستند این اپ ها از کاربر اطلاعاتی را نمی گیرند که بعدا به خواهند به اون نشان دهند.
به طور مثال اپلیکیشن camscanner که برای عکس گرفتن از کاغذ است، سعی می کند مثل اسکن عمل کند. این اپ بدون اینترنت کار می کند قرار است یک عکس از یک صفحه متنی بیگیرد و با کمک الگورتیم هایش آن را پردازش کند تا شبیه اسکن واقعی شود و یک خروجی عکس یا پی دی اف بدهد. برای ساخت چنین اپی شما فقط باید به اندروید مسلط شوید ( البته این مثال اگورتیم های پیچده پردازش تصویر هم دارد).
۲. اپلیکیشن بدون سرور و با دیتابیس
به طور مثال یک اپلیکیشن که کار های روزانه شما از شما می گیرد و در زمان مشخصی به شما هشدار می دهد که الان باید این کار را انجام دهید. این اپ، یک دیتابیس داخلی دارد که اطلاعات را درون آن ذخیره می کند و مطابق اطلاعات ذخیره شده در دیتابیس به شما هشدار می دهد.
هر اپی که از شما اطلاعاتی بگیرد و آن را ذخیره کند یا دارد آن را درون دیتابیس ذخیره می کند یا دارد آن را برای سرور می فرستد تا ذخیره کند.
اگر اپ اطلاعات را بگیرد و بدون اینترنت ذخیره کند یعنی بدون سرور است.
۳. اپلیکیشن اندروید در ارتباط با سرور و در ارتباط با دیتابیس
این اپلیکیشن ها برای کار کردن به اینترنت لازم دارند، این اپ ها معمولا از کاربر می خواهند که عضو و لاگین شوند. شیوه کار به این صورت است که وقتی شما وارد اپ می شود اطلاعات درون صفحه تماما از طریق اینترنت در صفحه لود می شود مثل اپلیکیشن اینستاگرام.
بیاید یک اپ کتاب خوانی را بررسی کنیم. شما وقتی وارد صفحه اصلی می شوید تمام کتاب ها و عکس های آن از سرور درون اپ لود می شود. حال شما سه کتاب می خرید و اینترنت را قطع می کنید و وارد اپ می شوید در این حالت لیست کتاب های خریداری شده را می بینید این لیست در دیتابیس داخلی ذخیره شده است.
۴. بازی
بازی هم مانند سه حالت قبل می تواند باشد یعنی می تواند دیتابیس داخلی یا سرور نداشته باشد یا از هر دو استفاده کند همچنین بازی ها معمولا از موتور های بازی سازی استفاده می کنند یکی معروف ترین موتور های بازی سازی موبایل unity است که البته unity موتور برای ساخت بازی در دیگر کنسول ها هم عرضه می کند.
بازی های که دارای گرافیک خوب هستند با موتور بازی سازی ساخته می شوند.
ما در این مقاله در مورد ساخت بازی اندروید دوره ای نداریم ولی بازی های بدون گرافیک مثل quiz of kings معمولا در دسته سوم از اپ های اندروید قرار می گیرد که در این مسیر آموزشی توضیح داده خواهد شد.
زبان برنامه نویسی اندروید
در حال حاضر دو زبان برای برنامه نویسی اندروید مطرح هستند. جاوا و کاتلین
جاوا یا کاتلین؟
اگر جاوا بلد هستید با جاوا برنامه نویسی اندروید را شروع کنید این سوال برای کسی مطرح است که تجربه ای در جاوا و کاتلین ندارد.
جاوا زبان برنامه نویسی اصلی برای برنامه های اندرویدی است ولی کاتلین به قدری خوب پیاده سازی شده است که نهایت گوگل آن را برای برنامه نویسی اندروید تایید کرده است.
مزیت جاوا
اگر جاوا بلد باشید، جاوا بلد هستید! جاوا بزرگ ترین جامعه برنامه نویسی را دارد و برنامه های بزرگی با آن نوشته شده است و خود جاوا به تنهایی می تواند مهارتی ازشمند باشد.
اگر در برنامه نویسی به مشکل بخورید جواب سوال خود را به راحتی پیدا می کنید.
تعداد آموزش برای برنامه نویسی اندروید با جاوا خیلی بیشتر است (به خصوص آموزش برای نیاز های خاص شما و برای برنامه های خاص)
جامعه برنامه نویسی جاوا بسیار بزرگ است.
مزیت کاتلین
کاتلین درست شده است تا با آن اندروید بنویسید، برنامه نویسی با آن راحتر است.
برنامه نویسی با کاتلین سریع تر است و زودتر اپلیکیشن آماده می شود.
عملکرد کاتلین از جاوا ضعیف تر نیست و کاملا قابل رقابت است.
نتیجه گیری برای انتخاب کاتلین یا جاوا
در حال حاضر انتخاب جاوا برای برنامه نویسی منطقی تر است ولی در اینده که قرار است کاتلین برنامه نوسی برای ios و وب هم ارائه دهد شاید انتخاب کاتلین بهتر باشد.
مسیر آموزش برنامه نویسی اندروید
یک اپ بدون سرور بدون دیتابیس بنویس و آن را روی گوشی خود نصب کن تا شیرینی برنامه نویسی اندروید را بچشی. (آموزش مقدماتی اندروید) به طور مثال می توانید یک اپ ساده برای یک دوست خوب خود بسازید که مثل یک کارت پستال پیامی را به او بدهد.
دیتابیس sqlite را بیاموز و سپس یک آموزش برنامه نویسی پیشرفته اندروید را که شامل کار با دیتابیس است را پشت سر بگزار و یک اپ که با دیتابیس کار می کند را پیاده سازی کن.
حالا آماده ای به سراغ یک اپلیکیشنی برویم که با سرور کار می کند. در این حالت می توانی با کسی همکاری کنی که زبان سمت سرور بلد است و شما فقط بخش ارتباط با سرور در اندروید را بیاموزید.
زبان های سمت سروی خود دنیا جدیدی هستند که نیاز به آموزش جداگانه دارند و مربوط به اندروید نمی شوند و فقط با اپ اندروید در تعامل هستند . معروف ترین زبان های سمت سرور php و asp می باشد.
در هر قدم از مراحل آموزش سعی کنیم یک نمونه عملی با آن آموزش پیاده سازی کنیم به طور مثال اگر ساز است یک قطع موسیقی با آن بنوازیم اگر زبان است تمرین های آن را حل کنیم و اگر برنامه نویسی اندروید است، یک برنامه کوچک با آن بسازیم. همچنین می توان یک موضوع را در نظر گرفت تا تمام مراحل آموزش را حول همان موضوع پیاده کرد. برای آموزش هایی که حول یک پروژه پیش می روند از اصطلاح پروژه محور استفاده می شود.
سعی کنید مسیر آموزش را بشناسید سپس مسیر را به چند هدف کوتاه مدت تقسیم کنید، به طور مثال در آموزش گیتار همه ابتدا تا یک سطح تقریبا مشخصی گیتار را می آموزند سپس تصمیم می گیرند که می خواهند کدام سبک از گیتار را پیش ببرند. در آموزش برنامه نویسی اندروید هم با ما همراه باشید تا مسیر آموزش را بشناسید و بدانید که قصد دارید به کجا برسید تا بتوانید سریع تر حرکت کنید.
برای شناخت مسیر آموزش برنامه نویسی اندروید ابتدا ببینیم که چند نوع اپلیکیشن اندروید داریم تا بدانیم برای ساخت هر اپلیکیشن اندروید به چه مهارت هایی نیاز می باشد سپس انواع دوره های آموزشی اندروید معرفی می شود و چون شما می دانید که به چه مهارت هایی نیاز دارید بهتر مسیر خود را برای تبدیل شدن به یک برنامه نویسی حرفه ای طی می کنید.
به طور کلی چهار نوع اپلیکیشن موبایل داریم.
۱. اپلیکیشن های بدون سرور و بدون دیتابیس
تمام بازی هایی که بدون اینترنت کار می کنند از این نوع اپ ها هستند این اپ ها از کاربر اطلاعاتی را نمی گیرند که بعدا به خواهند به اون نشان دهند.
به طور مثال اپلیکیشن camscanner که برای عکس گرفتن از کاغذ است، سعی می کند مثل اسکن عمل کند. این اپ بدون اینترنت کار می کند قرار است یک عکس از یک صفحه متنی بیگیرد و با کمک الگورتیم هایش آن را پردازش کند تا شبیه اسکن واقعی شود و یک خروجی عکس یا پی دی اف بدهد. برای ساخت چنین اپی شما فقط باید به اندروید مسلط شوید ( البته این مثال اگورتیم های پیچده پردازش تصویر هم دارد).
۲. اپلیکیشن بدون سرور و با دیتابیس
به طور مثال یک اپلیکیشن که کار های روزانه شما از شما می گیرد و در زمان مشخصی به شما هشدار می دهد که الان باید این کار را انجام دهید. این اپ، یک دیتابیس داخلی دارد که اطلاعات را درون آن ذخیره می کند و مطابق اطلاعات ذخیره شده در دیتابیس به شما هشدار می دهد.
هر اپی که از شما اطلاعاتی بگیرد و آن را ذخیره کند یا دارد آن را درون دیتابیس ذخیره می کند یا دارد آن را برای سرور می فرستد تا ذخیره کند.
اگر اپ اطلاعات را بگیرد و بدون اینترنت ذخیره کند یعنی بدون سرور است.
۳. اپلیکیشن اندروید در ارتباط با سرور و در ارتباط با دیتابیس
این اپلیکیشن ها برای کار کردن به اینترنت لازم دارند، این اپ ها معمولا از کاربر می خواهند که عضو و لاگین شوند. شیوه کار به این صورت است که وقتی شما وارد اپ می شود اطلاعات درون صفحه تماما از طریق اینترنت در صفحه لود می شود مثل اپلیکیشن اینستاگرام.
بیاید یک اپ کتاب خوانی را بررسی کنیم. شما وقتی وارد صفحه اصلی می شوید تمام کتاب ها و عکس های آن از سرور درون اپ لود می شود. حال شما سه کتاب می خرید و اینترنت را قطع می کنید و وارد اپ می شوید در این حالت لیست کتاب های خریداری شده را می بینید این لیست در دیتابیس داخلی ذخیره شده است.
۴. بازی
بازی هم مانند سه حالت قبل می تواند باشد یعنی می تواند دیتابیس داخلی یا سرور نداشته باشد یا از هر دو استفاده کند همچنین بازی ها معمولا از موتور های بازی سازی استفاده می کنند یکی معروف ترین موتور های بازی سازی موبایل unity است که البته unity موتور برای ساخت بازی در دیگر کنسول ها هم عرضه می کند.
بازی های که دارای گرافیک خوب هستند با موتور بازی سازی ساخته می شوند.
ما در این مقاله در مورد ساخت بازی اندروید دوره ای نداریم ولی بازی های بدون گرافیک مثل quiz of kings معمولا در دسته سوم از اپ های اندروید قرار می گیرد که در این مسیر آموزشی توضیح داده خواهد شد.
زبان برنامه نویسی اندروید
در حال حاضر دو زبان برای برنامه نویسی اندروید مطرح هستند. جاوا و کاتلین
جاوا یا کاتلین؟
اگر جاوا بلد هستید با جاوا برنامه نویسی اندروید را شروع کنید این سوال برای کسی مطرح است که تجربه ای در جاوا و کاتلین ندارد.
جاوا زبان برنامه نویسی اصلی برای برنامه های اندرویدی است ولی کاتلین به قدری خوب پیاده سازی شده است که نهایت گوگل آن را برای برنامه نویسی اندروید تایید کرده است.
مزیت جاوا
اگر جاوا بلد باشید، جاوا بلد هستید! جاوا بزرگ ترین جامعه برنامه نویسی را دارد و برنامه های بزرگی با آن نوشته شده است و خود جاوا به تنهایی می تواند مهارتی ازشمند باشد.
اگر در برنامه نویسی به مشکل بخورید جواب سوال خود را به راحتی پیدا می کنید.
تعداد آموزش برای برنامه نویسی اندروید با جاوا خیلی بیشتر است (به خصوص آموزش برای نیاز های خاص شما و برای برنامه های خاص)
جامعه برنامه نویسی جاوا بسیار بزرگ است.
مزیت کاتلین
کاتلین درست شده است تا با آن اندروید بنویسید، برنامه نویسی با آن راحتر است.
برنامه نویسی با کاتلین سریع تر است و زودتر اپلیکیشن آماده می شود.
عملکرد کاتلین از جاوا ضعیف تر نیست و کاملا قابل رقابت است.
نتیجه گیری برای انتخاب کاتلین یا جاوا
در حال حاضر انتخاب جاوا برای برنامه نویسی منطقی تر است ولی در اینده که قرار است کاتلین برنامه نوسی برای ios و وب هم ارائه دهد شاید انتخاب کاتلین بهتر باشد.
مسیر آموزش برنامه نویسی اندروید
یک اپ بدون سرور بدون دیتابیس بنویس و آن را روی گوشی خود نصب کن تا شیرینی برنامه نویسی اندروید را بچشی. (آموزش مقدماتی اندروید) به طور مثال می توانید یک اپ ساده برای یک دوست خوب خود بسازید که مثل یک کارت پستال پیامی را به او بدهد.
دیتابیس sqlite را بیاموز و سپس یک آموزش برنامه نویسی پیشرفته اندروید را که شامل کار با دیتابیس است را پشت سر بگزار و یک اپ که با دیتابیس کار می کند را پیاده سازی کن.
حالا آماده ای به سراغ یک اپلیکیشنی برویم که با سرور کار می کند. در این حالت می توانی با کسی همکاری کنی که زبان سمت سرور بلد است و شما فقط بخش ارتباط با سرور در اندروید را بیاموزید.
زبان های سمت سروی خود دنیا جدیدی هستند که نیاز به آموزش جداگانه دارند و مربوط به اندروید نمی شوند و فقط با اپ اندروید در تعامل هستند . معروف ترین زبان های سمت سرور php و asp می باشد.