این بسته آموزش اندروید با کاتلین در واقع فصل اول از بسته جامع آموزش برنامه نویسی اندروید با کاتلین و استاندارد گوگل (+) است. البته شما میتوانید این بسته را به صورت مستقل نیز استفاده کنید. ما در اینجا یک آموزش سریع اندروید را تجربه میکنیم.
چرا اندروید با کاتلین؟
در توسعه اندروید اولویت اول با کاتلین است؛ این نکته ای بود که در همایش سالانه گوگل در سال ۲۰۱۹، رسما اعلام شد. البته گوگل همچنان پشتیبانی از جاوا را حفظ میکند. خبر خوب هم این است که کدهای جاوایی در کاتلین قابل استفاده هستند. برای مطالعه بیشتر دعوت میکنیم این مقاله اندروید با جاوا یا کاتلین را مطالعه کنید.
آنچه میآموزید:
این بسته شامل 17 درس است. در ابتدا شیوه نصب اندروید استودیو (Android Studio) در ویندوز و لینوکس آموزش داده میشود. آنگاه یک پروژه واقعی را شروع میکنیم. ماشین مجاری (Android Virtual Device) یا AVD اندروید را به صورت استاندارد نصب و تنظیم میکنیم.
در ادامه فرا میگیرید که چطور یک پروژه اندروید را روی دستگاه واقعی و ماشین مجازی اندروید اجرا و مشاهده کنید. همچنین با معماری یک پروژه اندروید و مفهوم بخش layout و بخش کد و Inflate کردن لیوت در کد آشنا خواهید شد.
در بخش دوم این بسته وارد یک پروژه جذاب واقعی میشوید. یک اپلیکیشن خواهیم ساخت که میتواند تاس بریزد و یک عدد تصادفی برای تاس نمایش دهد. به واسطه ساخت این اپ پرتاب تاس شما با مفهوم findViewById و ٍEvent آشنا میشوید. یک لایه LinearLayout را با گذاشتن دکمه و تصویر طراحی میکنید. با کاتلین کدنویسی میکنید و با استفاده از کلاس Random در اندروید به شبیه سازی پرتاپ تاس میپردازید.
در بخش سوم این آموزش وارد مراحل خروجی گیری و تولید APK امضا شده در اندروید میشویم. با مفهوم گریدل در اندروید آشنا میشوید و سازگار کردن یک اپ با نسخههای مختلف اندروید و دستگاههای مختلف را میآموزید. سرانجام اپلیکیشن پرتاپ تاس خودتان را امضا میکنید.
این آموزش اندروید با کاتلین بی نظیر است زیرا :
- بر اساس سرفصل های استاندارد گوگل است.
- برنامه نویسی اندروید را با معماری MVVM می آموزید.
- یک تدوین حرفه ای و زمان بندی کوتاه دارد تا خسته نشوید.
- علاوه بر کد نویسی مفاهیم پایه با شکل توضیح داده می شود.
پیشنیاز
آشنایی مقدماتی با اصول زبان کاتلین
کلیدواژگان
آموزش اندروید با کاتلین – برنامه نویسی اندروید با کاتلین – اندروید با kotlin – کاتلین یا کوتلین – اندروید با کاتلین یا جاوا – اندروید با استاندارد گوگل – آموزش برنامه نویسی اندروید در اندروید استودیو
mohammadhoseinjerban@gmail.com (خریدار محصول) –
اقا من اشتباه کردم درمورد اموزش درسته یخورده قدیمیه ولی نوع اموزش و کلا اموزنده خیلی خوب و با حوصله مثل یک معلم دانشگاه صحبت میکنند چون قسمت های بیشتر رو دیدم بیشتر خوشم اومد تشکر میکنم از استاد محترم👏🙏🙏
مصطفی آصفی –
سلام مجدد. ممنونم که دوباره وقت گذاشتین و نگاه تازه خودتون رو به بنده و دوستان دیگه اطلاع دادین. خوشحالم که براتون مفید بوده. حدود ۱ سال پاره وقت این آموزش از بنده زمان برد و هدف اصلیم که تو فصل های بعد بهتر متوجه میشین این بود که کنار یادگیری اندروید، معماری MVVM معرفی بشه. با این معماری بچه ها پشتیبانی اپ براشون راحت تره.
mohammadhoseinjerban@gmail.com (خریدار محصول) –
از نظر خود اموزش یخورده قدیمیه چون الان با نسخه اندروید استودیو سازگاری نداره و یکم به مشکل میخورید در مورد محتوای اموزش هم باید بگم اگه یکم ساده تر و مفصل تر توضیح میدادید بهتر بود ممنون
مصطفی آصفی –
سلام و ممنون برای ارسال نظرتون. درست می فرمایید اندروید استودیو و sdk اندروید به سرعت تغییر می کنه ولی اصول قابل استفاده ست. لطفا خطایی که برخورد کردین رو اینجا بگذارین تا هم فکری کنیم. در مورد نحوه توضیح این آموزش تو فصل های بعدی به صورت مفصل دنبال میشه. این فصل صرفا یک پرش به موضوع هست.
عطیه فریدونی (خریدار محصول) –
سلام استاد. من چند وقتیه که شروع کردم به دیدن آموزشهای شما. یعنی شما یکی از بی نظیرترین ها هستید در ایران. کاش شماره تماسی از شما داشتیم که با شما ارتباط داشته باشیم. اگر ممکنه آدرس ایمیل یا شماره تماستون رو برای تماس و ارتباط با شما در اختیار ما قرار بدهید.
مصطفی آصفی –
سلام به شما خانم فریدونی. لطف شماست. خوشحالم که آموزش برای شما انگیزه بخش و احتمالا مفید بوده. در مورد پشتیبانی منم راستش خوشحال میشم که بتونم به تک تک عزیزان کمک کنم ولی خب هم رویش خیلی فراگیر داره و زمان محدود بنده به راهنمایی تک تک عزیزان نمیرسه. با این حال این بخش نظرات رو چند نوبت در هفته بررسی می کنم. سوال یا مشکلی اگه از محتوای آموزشها داشتین میتونید مطرح کنید، خدمتتون هستم.
امیر محمد کهنگی –
سلام استاد آصفی.
سوالی در مورد این آموزش داشتم.
شما در این آموزش شما نحوه ی استفاده از Kotlin را برای توسعه ی Android تدریس کرده اید یا خود Kotlin را هم تدریس کرده اید؟
همچنین اگر قرار بر گزینه ی اول است آیا در سایت خوبتان تصمیمی برای انتشار خود Kotlin هم دارید؟
مصطفی آصفی –
سلام به شما. برای این دوره فرض بر اینه که شما دانش پایه از کاتلین دارید. شناخت سینتکس در حد تعریف متغیر و تابع و کلاس برای شروع کافی هست.
بله به امید خدا یک آموزش سریع کاتلین هم برای این مجموعه آماده میشه. پایان فصل هفتم انشالله. در اون بسته موارد خاص کاتلین در رابطه با اندروید رو هم قرار خواهیم داد.
رامین حاتم زاده (خریدار محصول) –
سلام استاد
برای آموزش کاتلین هم برنامه ای دارید ؟
و اینکه من آموزش کاتلین تهیه کردم اما اصلا بازدهی و کیفیت مطلوبی نداشت متاسفانه اگر امکانش هست آموزش کاتلینی رو معرفی کنید که مورد تایید شما باشه
مصطفی آصفی –
سلام به شما. انشالله بعد از فصل 6 این دوره که این بخش جمع میشه یک آموزش ورود سریع به کاتلین برای اندروید برنامه ریزی می کنم.
از آموزش های فارسی موردی که خودم بررسی کرده باشم نه متاسفانه که توصیه کنم ولی این آموزش کاتلین گوگل (+) که ویژه اندروید کارها هست رو پیشنها می کنم که مستمر پیش ببرید.
با یک ثبت نام رایگان می تونید استفاده کنید. اگر زبانتون ضعیف هست توصیه می کنم که حتما این رو ببینید چون زبان به هر حال شرط مهم برای برنامه نویسی هست و شما رو با کلیدواژه های اصلی برنامه نویسی آشنا می کنه. می تونید زیرنویس هوشمند انگلیسی یوتیوب رو هم فعال کنید و بعد واژه ها رو تک تک ترجمه کنید تا کم کم راه بیفتید.
سعید رضایی –
آموزش بسیار روان و خوبی بود. استاد بهتر نبود همه آموزش را در یک بسته جمع آوری میکردید؟
مصطفی آصفی –
سلام به شما و ممنون از محبتتون.
چرا قصد همین کار رو دارم. انشالله فصل های 5 (که در حال نوشتن این پیام در حال ضبط اون هستم) و 6 رو که تمام کنم یک بسته خواهیم داشت از صفر تا پیاده سازی یک اپ با کاتلین و معماری استاندارد که یکجا هم به هم رویش می سپرم برای انتشار.
من برای این که شادابی آموزش حفظ بشه و همین طور رفته رفته بازخورد فراگیران رو بگیرم برای ضبط های بعدی، به این صورت فصل به فصل منتشر کردم این کار رو.
بعد از این بسته انشالله یک آموزش شروع سریع کاتلین و همین طور آموزش های مبانی تخصصی مثل API در اندروید و … رو با مرجع قرار دادن این بسته منتشر می کنم. امیدوارم که مرجع استانداری بشه برای نسل بعدی اندروید کارهای کشور تا اپ های قابل نگهداری و استانداردی برای تیم کاری، بنویسند.
امیر –
سلام و عرض ادب و تبریک سال جدید
1- آیا با وجود برنامه ای مثل Kotlin برای ساخت اپلیکیشن موبایل دیگه احتیاجی به زبان برنامه نویسی java script یا java هست؟ آیا زبان Kotlin جایگزینی هست برای زبانهای دیگر برنامه نویسی موبایل که خدمتتون عرض کردم. کلا این زبان کفایت میکنه؟
2-آیا با زبان Kotlin میشه اپلیکیشنهای حرفه ای تولید کرد.(مثلا اپلیکیشن فروشگاهی (دیجی کالا) یا اپلیکیشن تب سی یا حتی حرفه ای تر از اینها. توان این برنامه تا چه حد هست؟
3- و اینکه فرق بین Flutter با Kotlin در چی هست؟ باید هر جفت این زبانها رو یاد بگیریم یا یکی از اینها کفایت میکنه؟مثلا همین زبان Kotlin میشه باهاش هم رابط کاربری اپلیکیشن و سمت یروز رو طراحی کرد ؟در اصل میشه باهاش فرانت اند و بک اند را درست کرد؟ که احتیاج به هیچ گونه زبان یا برنامه دیگه نداشته باشیم.؟ یعنی یک پروژه اپلیکیشن مثلا مثل تب سی یا اپ فروشگاهی مثل دیجی کلارو رو میشه کلا فقط با همین Kotlin از صفر تا صدش رو طراحی کرد ؟بدون دخالت هیچ نرم افزار دیگه ای؟
4. استاد میشه برفمایید من دقیقا باید چه کار کنم؟ نمیخوام اطرافم با انواع برنامه ها شلوغ باشه و سردرگم بشم. میخوام با یک برنامه و یا یک زبان برنامه نویسی به کل هدفم و مقاصد طراحی اپلیکیشن برسم.یعنی برنامه ای جامع که همه چیز رو در خودش داشته باشه از صفر تا صد طراحی یک پروژه؟ و اینکه از زبانهای جاوا و جاوا اسکریپت هم اصلا استفاده نشه؟ نظر شما چیه استاد. میشه لطفا راهنمایی بفرمایید با سپاس
مصطفی آصفی –
سلاه به شما. دوست عزیزم اجازه بدین اول مفاهیم زیر رو براتون تعریف کنم:
1- در حال حاضر اگر بخواهید صرفا اپ اندروید بسازید میتونید از زبان کاتلین و یا جاوا استفاده کنید. اگر بخواهید همون اپ در گوشیهای iOS اپل هم کار بکنه باید اون رو با زیان سوئیفت در محیط مک بوک بازنویسی کنید.
یعنی اگر شما بخواهید یک اپلیکیشن بسازید که فقط در اندروید کار کنه، کاتلین برای شما کافی هست. اگر بخواهید صرفا در iOS کار کنه باید توسعه iOS با سوئیفت رو یاد بگیرید.
2- پس میبینیم که اگر ما بخواهیم یک اپلیکیشن بسازیم که هم در اندروید و هم در گوشیهای iOS کار کنه باید دوبار این اپ رو کدنویسی کنیم.
3- حالا یک سری پلتفرمهایی در چند سال گذشته معرفی شدند که سعی دارن به شما امکاناتی بدن که با یک بار کدنویسی بتونید از کدتون خروجی اندروید و iOS بگیرید:
—- مثلا Flutter که خودتون هم پرسیده بودین، یک پلتفرمی هست که گوگل درست کرده تا بتونید با زبان Dart کدهایی بنویسید و اپلیکیشنی طراحی کنید که خروجی همزمان برای اندروید و iOS بگیرید.
—- یا مثلا React Native یک پلتفرمی هست که فیسبوک درست کرده برای این که بتونید با جاوااسکریپت کدهایی بنویسید و اپلیکیشنی طراحی کنید که خروجی همزمان برای اندروید و iOS بگیرید.
—- یا مثلا Kiy یک پلتفرمی هست که با حمایت بنیاد پایتون برای این درست شده که بتونید با زبان پایتون کدهایی بنویسید و اپلیکیشنی طراحی کنید که خروجی همزمان برای اندروید و iOS بگیرید.
4- در مقابل ما سرور رو داریم. مثلا در اپلیکیشنی مثل دیجی کالا اطلاعات محصولاتی که ما در اپ می بینیم از سرور واکشی و در اپ نمایش داده میشه. داستان سرور جداست اما معمولا اگر شما بخواهید هم اپ و هم سرور رو بزنید، اگر چه با کاتلین هم می تونید سرور بزنید اما زبان هایی که معمولا امکانات راه دستی برای سرورنویسی اپ دارند و به خصوص API هم میشه با اون ها تولید کرد در حال حاضر شامل php و جاوا و سی شارپ و پایتون هستند.
دقت کنید که حتی اگر شما سرور رو با کاتلین هم بزنید باز هم خیلی کار ساده نیست. زبان برنامه نویسی یک بخش کوچکی از کاره. بخش عمده یادگیری کتابخونهها، پلتفرمها و توابع اون ها هستند. مثلا توابع کاتلینی که شما در اندروید فراخوانی می کنید درسته که با زبان کاتلین فراخوانی می کنید اما مخصوص اندروید هستند. در سرور بسته به پلتفرمی که استفاده می کنید باز توابع خاصی دارید که باید بشناسید.
اپ های بزرگی مثل دیجی کالا توسط یک تیم نوشته و مدیریت میشن. گروه اندروید و گروه iOS و گروه سرور و … همه مجزا هستند. چون هر کدوم ریزه کاری زیاد دارند.
***جمع بندی:
با توجه به صحبت هایی که شما کردین ظاهرا شما در آغاز راه هستید. اگر بخواهید یک اپ فروشگاهی بنویسید که کار بکنه و خودتون بتونید نگاهداریش هم بکنید. اولا باید بدونید که دست کم از حالا اگر خیلی خوب وقت بگذارید 1 سال زمان نیاز دارید. من به شما این طور پیشنهادم رو جمع بندی می کنم:
اول قطعا نمی تونید سراغ توسعه کراس پلتفرم برید. با اندروید ساده و نه حتی سرور دار شروع کنید. به عنوان گام اول، یک آموزش برنامه نویسی کاتلین تهیه کنید. دقت کنید آموزشی رو تهیه کنید که در سرفصل های اون تا سطح کلاس ها و شی گرایی پیش رفته باشه. بعد از حدود دو تا سه هفته فشرده با اون آموزش، بیایید اینجا و همین آموزشهای اندروید با استاندارد گوگل رو گام به گام و با صبوری و دقت با من جلو بیایید. تا حدود دو ماه آینده به فصل ارتباط با اینترنت در اندروید هم می رسیم. اونجا وقتی در مورد خوندن API صحبت کنیم خواهید فهمید که سرور چی هست و چه چیزی رو قراره از سرور بیرون بکشید.
در اون لحظه برگردین به این بخش و در قالب ارسال یک نظر به من بگید که چه کردید و در چه سطحی هستید و ایده پخته شده خودتون و هدفتون رو در اون لحظه مطرح کنید تا راهنمایی کنم چطور ادامه بدین.
W148outabc (خریدار محصول) –
سلام استاد عزیز، من همیشه پیگیر آموزش های خوب بعدی شما هستم، فقط خواستم بابت آموزش هاتون تشکر کنم.
مصطفی آصفی –
سلام به شما و ممنون از لطفی که دارید. فصلهای دوم (+) و سوم (+) هم به مدد لطف عزیزانی مثل شما منتشر شده. انشالله بتونم همه فصلهای آموزش گوگل رو برای برنامهنویسان جوان کشور بازتولید و منتشر کنم.
Aida –
سلام من این آموزش دیدم و منتظر قسمت بعد هستم لطفاً زودتر منتشر کنید.
مصطفی آصفی –
سلام و ممنون از همراهی شما. فصل دوم در نشانی پایین منشر شد:
آموزش اندروید با استاندارد گوگل (فصل 2: طراحی UI)
اگه عمری باشه فصلهای بعدی هم تا فصل دهم کامل میکنم که کل سرفصل استاندارد یوداسیتی پوشش داده بشه.