آموزش تزریق وابستگی با Hilt در اندروید

آموزش تزریق وابستگی با Hilt در اندروید، اگر برنامه نویس و یا توسعه دهنده اندروید باشید تکنیک Dependency Injection و یا تزریق وابستگی بحث مهمی است که در این دوره به شکل کامل با استفاده از Hilt آن را به شما آموزش می دهیم

آموزش تزریق وابستگی با Hilt در اندروید

اشتراک گذاری:

توضیحات

اگر برنامه نویس غیر مبتدی هستید مطمعاناً در پروژه ها، آگهی های استخدام ،گروه ها و جوامع برنامه نویسی با اصطلاح و تکنیک  Dependency Injection(تزریق وابستگیDI-) روبرو شدید !پس میشه گفت از اهمیت اون اطلاع دارید یا حداقل تا الان متوجه شدید که قرار موضوع مهمی باشه. اما متاسفانه تو خیلی از بحث ها ، DI  رو به عنوان موضوع خیلی سخت و پیچیده نگاه میکنن ، شاید بشه بهشون حق داد اما نمیشه گفت درسته! این پیچیدگی که برای افراد به وجود امده رو میشه از معلول های عدم وجود منابع کافی و جامع به زبان فارسی در مورد این موضوع عنوان کرد.

اما اگر تا حالا اصطلاح تزریق وابستگی (DI) به گوشتون نخورده باید بگم که توی پروژه های کوچیک و اللخصوص بزرگ کاربرد زیادی داره و هدفش راحت تر کردن ریفکتور کردن کد و مدیریت آبجکت هاست ، البته برا توضیحات بیشتر و بهتر می تونید تزریق وابستگی(دپندنسی اینجکشن) رو گوگل کنید و نتایج مفیدی براتون پیدا میشه که اگه با این موضوع آشنایی کافی ندارید لازمه حتما مطالعه اولیه ای داشته باشید ، با این حال توی دو قسمت اول دوره به توضیح جزئیات و فواید دپندنسی اینجکشن پرداخته شده که حتی درصورت واضح نبودن موضوع بعد از مطالعه ، انتظار میره بعد از مشاهده دو ویدیو اول درک موضوع براتون راحت تر بشه.

Hilt  چیست ؟

حالا که میدونیم تزریق وابستگی چی هست و قرار چه کارایی کنه ، در این بین باید گفت با اینکه میشه این تکنیک رو به صورت کاملا دستی توی پروژه پیاده سازی کرد ولی ابزار و کتابخونه هایی هم برای ما وجود داره که بخش زیادی از این فرایند ها رو به صورت خودکار برای ما انجام میده و پیاده سازی میکنه که در این شرایط عقل حکم میکنه بجای بازنویسی کد ها ، به ماشین اجازه بدیم که خودش بخش هایی که میتونه بدون نقص برامون انجام بده و پیاده سازی کنه و خودمون رو درگیر جزئیات تکراری نکنیم ، دقیقا تو همین نقطه کتابخونه ها و فریمورک های Dependency Injection  وارد میدون میشن!

در بین کتابخونه ها و فریمورک های مختلفی که برای بحث  DI در اندروید وجود داره تقریبا میشه Hilt  رو به عنوان پر استفاده ترینشون معرفی کرد ، دلیلشم توسعه و پشتیبانی اون توسط گوگل هست ، اما ابزار دیگه ای هم مثل Koin  و یا Dagger  وجود داره که Hilt  رو بنا به دلایلی میشه تقریبا برتر دونست.

چرا Hilt ؟

همونطور که در قسمت قبل گفتیم ابزار دیگه ای بجز Hilt  وجود دارن که میشه از اونا هم برای بحث  DI در اندروید استفاده کرد ، اما برتری که Hilt نسبت به سایر اونها داره به طور خلاصه میشه گفت یک لول بالای Dagger ساخته شده به این معنی که علاوه بر اینکه از ویژگی و شیوه های 2Dagger استفاده کرده ، خودش رو بیشتر و بیشتر با فریمورک اندروید سازگار کرده ، از اون سمت هم نسبت به Koin  برتری که داره محدود به یک مورد نمیشه ، چون علاوه بر ساپرت زبان کاتلین ، از زبون جاوا هم پشتیبانی میکنه و همچنین امکان تشخیص خطا رو در زمان کامپایل فراهم کرده!

و به عنوان کلام آخر هم قابل ذکر هست که خود گوگل Hilt رو به توسعه دهنده های اندروید پیشنهاد کرده ، اما یادتون باشه که این فقط یک پیشنهاد هست و نباید مانع کنجکاوی و اشتیاق شما برای یادگیری سایر ابزار بشه.

پیش نیاز های دوره

از اونجایی که موضوع خیلی مبتدی نیست ، انتظار میره دانشجو های عزیز ، پیش نیاز های زیر رو داشته باشن:

  1. آشنایی مقدماتی با برنامه نویسی اندروید
  2. تسلط به یکی از زبان های Java  یا kotlin (ترجیحا kotlin)
  3. اشتیاق یادگیری با چاشنی کنجکاوی

سر فصل ها

مفاهیم پایه

در این فصل با مفاهیم پایه بحث تزریق وابستگی آشنا می شویم و چرایی به وجود آمدن این موضوع به طور کلی بررسی میکنیم ، همچنین در این فصل سعی شده انواع تکنیک های بحث  DI را مطرح کرده و در مورد مزایا و معایب هرکدام به طور جداگانه صحبت کنیم.

تزریق دستی وابستگی

این فصل رو با بیتی از سعدی شروع میکنم که میگه "نداند کسی قدر روز خوشی    مگر روزی افتد به سخت کشی"  که هدف منم اینه ، قبل اینکه بخواهیم از نعمت کتابخونه های DI  بهرمند بشیم ، یکبار خودمون مراحلی که قراره توسط اونا انجام بشه رو بر روی یک پروژه واعی ساده به صورت دستی انجام بدیم که نه تنها قدر اونا رو بدونیم بلکه درک عمیقی هم نسبت به عملیات های پس زمینه ای که قراره در آینده با اونا روبرو بشیم پیدا کنیم.

کتابخونه  Hiltدر اندروید

در این فصل به طور تخصصی در رابطه با کتابخونه Hilt  صحبت میکنم و سعی میکنم علاوه بر توضیح تئوری ویژگی ها و مثال های ساده ذکر شده، بررسی کنیم که در یک پروژه واقعی چطور میشه از همین ویژگی ها استفاده کرد و پروژه رو به طور کامل راه اندازی کرد.

تعامل Hilt و Jetpack

اگه جز برنامه نویس های کنجکاو باشید ، مطمعانا با کتابخونه های Jetpack که چندسالی میشه که خیلی ترند شدن آشنایی دارید و میدونیم که هرجا کلاسی باشه ، احتمالا دپندنسی هم وجود داره ، پس در این فصل قرار بر روی این کتابخونه ها متمرکز بشیم و بررسی کنیم که به چه شکلی میتونیم برای کلاس های متفاوت این کتابخونه ها ، وابستگی  ها رو فراهم کنیم.

سوالات متداول

?

زبان برنامه نویسی مورد استفاده در دوره چیه؟

زبان انتخاب شده در این دوره با توجه به گرایش کامیونیتی اندروید به سمت کاتلین سعی شده زبان کاتلین انتخاب بشه، اما از اونجایی که از ویژگی خاصی از زبان کاتلین استفاده نشده و تفاوتی بین دو زبان در شیوه استفاده اونها در Hilt  نیست، دوستانی که فقط به زبان جاوا تسلط دارند هم میتونن به راحتی متوجه چگونگی استفاده بشن

?

آیا این دوره صرفا برای افراد با تجربه هست؟

اصراری برای دسته بندی مخاطب‌های دوره وجود نداره و هرکسی که فکر می‌کنه تکنیک و کتابخونه آموزش داده شده در پروژه‌هاش می‌تونه کاربرد داشته باشه و مشکلی با درک مفهوم DI  نداره به راحتی می‌تونه این دوره رو ببینه و درک کنه و از اون استفاده کنه.

?

آیا دیدن این دوره برای تسلط به Hilt کافیه؟

جواب این سوال خیر هست! چون شما باید دائما در حال یادگیری مباحث جدید باشید و سعی کنید تا جای ممکن بعد از یاد گرفتن یک موضوع یک پروژه هرچند کوچک با اون پیاده‌سازی کنید و همچنین code review فراموش نشه!

?

چطور میشه نمونه کد‌های بیشتری در رابطه با این موضوع دید؟

همونطور که می‌دونیم code review  یکی از اصل‌های اساسی در توسعه دانش برنامه نویسی هست و شما هم اگر جزو اون دسته از افراد کنجکاوی هستید که مایلید کدهای مختلف افراد رو ببینید و از اونها یاد بگیرید، توصیه میشه در سایت github  عبارتHilt   یا Hilt sample code رو سرچ کنید و از خوندن کدهای بقیه لذت ببرید!

جلسات دوره

بخش سوم کتابخونه Hiltدر اندروید
بخش چهارم تعامل Hilt و Jetpack

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

تکمیل ضبط
خیلی بد
بد
متوسط
خوب
عالی
3.5 از 6 رای
مدت دوره 05:25:45
تعداد جلسات: 51
نوع دوره: رایگان
شرکت‌کنندگان: 134 نفر
گواهی پایان دوره
وضعیت: ابتدا وارد سایت شوید
گواهی پایان دوره راکت چیست؟
سینا دالوند
مدرس دوره

سینا دالوند هستم،‌ کارشناس نرم افزار و بیش از 7 سال تجربه کار در حوزه برنامه نویسی و توسعه نرم افزار دارم. از سال 96 تمرکزم رو به صورت کاملا تخصصی معطوف اندروید کردم و طی چند سال گذشته تجربه کار بر روی پروژه های مختلفی از جمله اپلیکیشن اندروید وبسایت...