پکیج برنامه نویسی اندروید بخش دوم - کاتلین -jetpack - livedata - معماری mvp - معماری mvvm
سلام به کاربران سایت نوین دولوپرز. امیدواریم حال همه شما خوبه خوب باشه و پر از انرژی باشید.
همانطور که در دورهای آموزشی جاوا و آموزش مقدماتی – تکمیلی بخش اول مشاهده کردید، مباحث پایه و بسیار کاربردی برنامه نویسی اندروید را از صفر خدمت شما عزیزان تدریس کرده ایم و سعی کردیم کسانی که میخواهند به صورت حرفه ای وارد برنامه نویسی اندروید بشوند را اصولی و استاندارد آموزش دهیم.
ولی دوره های ذکر شده بخشی از مبحث اندروید را پوشش می دهند که برای شروع کار و تا رسیدن به سطح حرفه ای برای شما لازم و کاربردی است.
ولی با توجه به حجم مباحث اندروید ، تصمیم بر این گرفتیم که با ارائه پکیج تکمیلی اندروید بخش دوم تمامی سرفصل های مهم و کاربردی اندروید را پوشش دهیم تا دیگر جای ابهام یا سوالی برای شما عزیزان تا رسیدن به سطح حرفه ای باقی نماند .
این دوره شامل مباحث بسیار ویژه ای است که هر برنامه نویس حرفه ای باید از آن ها مطلع باشد و تجربه لازم را در این زمینه به دست آورد.
یکی از مباحثی که در ابتدای کار به صورت جامع به آن می پردازیم مبحث بسیار مهم کاتلین (Kotlin) است .
کاتلین به صورت کلی یک زبان برنامه نویسی شی گرا و سطح بالاست که از سال 2017 به عنوان زبان رسمی برنامه نویسی اندروید توسط گوگل انتخاب شد.
کاتلین با استفاده از ویژگی های فوق العاده ای که دارد روند توسعه تولید نرم افزار ها را بسیار آسان تر و سریع تر کرده است.
پکیج مقدماتی – تکمیلی بخش دوم به طور کلی به چند بخش تقسیم می شود . در ادامه شما را با این بخش ها آشنا خواهیم کرد .
مباحث تدریس شده در بخش اول – کاتلین:
- مقدمه و پیش نیاز ها در کاتلین
- تعریف متغیرها و انواع داده ها در کاتلین
- عبارت های شرطی در کاتلین
- کار با آرایه ها در کاتلین
- کار با حلقه ها در کاتلین
- کار با توابع و متد ها در کاتلین
- برنامه نویسی شئ گرایی در کاتلین
- Lambda Expressions در کاتلین
- Null Safety در کاتلین
- کلاس های Nested و Inner در زبان کاتلین
- Data Class در کاتلین
- آموزش کار با Coroutines در زبان کاتلین
- برنامه نویسی اندروید با کاتلین
- کار با لایه ها و ویجت ها در کاتلین
- رویداد کلیک در کاتلین
- کار با دیالوگ ها در اندروید با کاتلین
- کار با SharedPrefences در کاتلین
- آموزش کار با ریسایکلرویو در کاتلین
- کار با Therad ها در کاتلین
- کار با دیتابیس Room در کاتلین
- کار با RunTime Permission ها در کاتلین
- کار با انیمیشن ها در کاتلین
- و ...
مباحث تدریس شده در بخش دوم – Retrofit :
بعد از آشنایی با مباحث مربوط به کاتلین لازم است با مباحث بخش دوم اتصال به سرور آشنا بشوید.
در دوره آموزشی مقدماتی – تکمیلی اندروید بخش اول با کتابخانه قدرتمند والی Volley برای مباحث سمت سرور آشنا شدید.
اما یک کتابخانه بسیار قدرتمند دیگر نیز برای مباحث سمت سرور به اسم رتروفیت (Retrofit) وجو دارد که دارای پتانسیل بالا و عملکرد بالایی در انجام وظایف سمت سرور است.
در این پکیج ما نحوه کار با این کتابخانه را به صورت کامل به شما آموزش خواهیم داد تا برای ساخت هر پروژه ای با این کتابخانه به راحتی از پس آن بربیاید.
سرفصل های دوره:
- مقدمه کار با Retrofit
- ساخت مدل و APIInterface
- آشنایی و بررسی Json
- معرفی کتابخانه مبدل Gson Converter
- نحوه دریافت اطلاعات با فرمت JSON از وب سرور و نمایش آنها
- آشنایی با متدهای GET و Call و addConverterFactory در رتروفیت
- آشنایی با متد enqueue و دو حالت onResponse و onFailure
- کار با Annotation مختلف در Retrofit
مباحث تدریس شده در بخش سوم – RxJava :
مسلما کاتلین یکی از مهم ترین و بروز ترین مباحثی است که بین اکثر برنامه نویسیان پرطرفدار شده است و دارای اهمیت ویژه ای است .
اما باز هم برای متخصص شدن در اندروید شما باید با مباحث جدید دیگری که در ورژن های جدیدتر اندروید قابل پیاده سازی هستند آشنا باشد.
یکی از این موارد مباحث RxJava است .
لایبرری RxJava یکی از بهترین نوع های برای پیاده سازی Event Driven Architecture است ، که دارای مزایا و کاربردهای بسیار زیادی است و امروژه استفاده از این کتابخانه جزو نقاط قوت یک برنامه نویس حرفه ایمحسوب می شود.
اما مفاهیم پیچیده و بعضا ترسناک این لایبرری فراگیری آن را سخت می کند!!
در این دوره با انواع مفاهیم ساده و پیچیده این ابزار آشنا خواهید شد.
سرفصل های دوره:
- آشایی با RxJava و مفاهیم آن
- ترکیب Retrofit و RxJava
- - معرفی انواع Operator و Schedulers و نحوه استفاده از آن ها
- آشنایی با Subject های Reply, Publish و Behavior در RxJava
- و ...
مباحث تدریس شده در بخش چهارم – معماری mvp :
مسلما یادگیری RxJava میتواند نقش مهمی در مهارت برنامه نویسی شما داشته باشد .
اما پیاده سازی این کتابخانه در قالب معماری هایی مانند Mvp و MVVM نقش اساسی دارد .
معماری ها جزو جدایی ناپذیر برنامه نویسی نوین هستند و این الگوها براساس تجارب برنامه نویس های حرفه ای ایجاد شده اند.
اپلیکیشن هایی که از طریق معماری ها نوشته می شوند دارای عملکرد بهتر،کدنویسی بهینه تر و همچنین قابلیت ارتقاء راحت تری هستند .
در مرحله اول کار با معماری ها ، معماری Mvp را در قالب یک پروژه کاربردی به شما آموزش خواهیم داد.
به طور کل معماری Mvp یا الگوی (Model-View-Presenter) از طریق Model ، داده های ما را مدیریت می کند ، لایه View نمایش داده ها را به عهده می گیرد . Presenter پل رابط بین Model و View است.
دوره آموزش معماری Mvp – در قالب اپلیکشین خبری :
- آشنایی با معماری Mvp و بررسی لایه های مختلف آن
- کار با Retrofit و RxJava
- ساخت باتوم نویگیشن شخصی سازی شده
- کار با فرگمنت ها و نگه داری state آنها
- ساخت بنر اسلایدر
- گرفتن آخرین خبرها از سرور و نمایش در صفحه اصلی
- گرفتن دسته بندی های مختلف از سرور و نمایش در فرگمنت مربوطه
- نمایش زیر دسته خبرها با طراحی متفاوت
- کار با دیتابیس Room
- اصافه کردن خبر به لیست علاقه مندی ها
- کار با لایه Empty state
- proguard
- ساخت صفحه سرچ پیشرفته
- پیاده سازی و نمایش فایل های تصویری و ویدئویی
- ساخت یک پنل ادمین از صفر و ایجاد صفحات مورد نیاز مانند ورود ، فراموشی رمز عبور ، پنل کاربری ، داشبورد ، دیدگاه ها
- دریافت اطلاعات از سرور براساس فیلترهای گوناگون و بررسی انواع فیلتر ها
- امنیت ، توکن ها ، hash کردن و رمز گذاری اطلاعات
مباحث تدریس شده در بخش پنجم – Navigation Component :
یکی ازهیجان انگیز ترین بخش های jetpack چیزی نیست جز navigation component که در واقع مجموعه ای از کتابخانه ها , پلاگین ها و ابزار هاست که ‘جا به جایی’ را متحول می کند.
دیگر نیازی به FragmentManager و … نیست !!
استفاده از Navigation Component بهترین راه حل برای پیاده سازی Navigation Pattern اپ و اتصال فرگمنت هاست که در سال ۲۰۱۹ به بلوغ رسید ! و در بسیاری از اپلیکیشن های امروزی مورد استفاده قرار می گیرد.
مباحث آموزشی Navigation Component :
- آشنایی با Navigation Component در اندروید
- پیاده سازی Navigation Graph
- کار با NavController
- انتقال داده از مقصدی به مقصد دیگر به عنوان Argument با NavController
- بررسی و حالت های مختلف Navigation Component
مباحث تدریس شده در بخش ششم – JetPack و معماری مقدماتی MVVM :
در سال 2018 شرکت گوگل در مراسم سالیانه خود ابزارهایی را در قالب JetPack معرفی کرد که با استقبال زیادی مواجه شد.
یکی از مهمترین مسائل در رابطه با برنامه نویسی اندروید توسعه پذیر بودن اپلیکیشن ، خوانایی کد و تست پذیری آن است .
که گوگل با ارائه JetPack تمام تمرکز خود را بر روی Android Architecture Component قرار داد تا در نهایت خروجی کار یک اپلیکیشن بهینه و با کیفیت باشد.
در این بخش از دوره آموزشی مباحث مربوط به JetPack ها را با ترکیب معماری مهم و کاربردی MVVM پیش خواهیم برد تا شما با جدیدترین و بهترین معماری ، که توسط گوگل هم مورد تاکید است ، آشنا شوید و با تلفیق مباحثی مانند LiveData ها سبک کدنویسی خود را تغییر دهید.
این بخش دارای مباحث زیادی است ، که مسلما با یادگیری آن ها با ساختارها و مباحث جدیدی در اندروید آشنا خواهید شد.
مباحث تدریس شده در بخش هفتم – Firebase Analytics and Crashlytics :
مسلما تا به حال به پیام های ارسالی از طریق تلگرام یا اینستاگرام و اپلیکیشن های دیگر که برای شما ارسال می شوند ، برخورده اید .
به این پیام ها به اصطلاح پوش نوتیفیکیشن گفته می شود .
شرکت گوگل در قالب FireBase این ویژگی مهم و جذاب را در اختیار ما قرار می دهد.
در این بخش از آموزش نحوه کار با سرویس های در دسترس FireBase برای ایران را آموزش خواهیم داد.
مباحث دوره Firebase Analytics and Crashlytics
- آشنایی با سرویس FireBase و بخش های مختلف آن
- اتصال اپلیکیشن به سرویس FireBase
- کار با Event Log ها در فایربیس
- ارسال نوتیفیکیشن از طریق فایربیس
- دسته بندی کردن کاربران جهت ارسال نوتیفیکیشن هدف
- سرویس Google Analytics
آپدیت های اضافه شده به دوره :
- آموزش کار با طراحی Neumorphism
- ساخت اپلیکیشن موزیک پلیر به همراه کد نویسی کاتلین و Neumorphism
علیرضا –
سلام خدمت اساتید مجترم
بنده قصد دارم جت پک کامپوز یاد بگیرم. شما آموزشی در این زمینه دارید؟
زهرا فریدونی –
سلام.وقت بخیر.
در حال آماده سازی برای ضبط دوره جت پک هستیم که در اینده نزدیک توی پکیج پیشرفته قرار میگیره دوست عزیز
علیرضا –
سلام خسته نباشید
چرا بعضی از بخش ها با جاوا استفاده شده ؟
کدام بخش ها با جاوا هست و کدام بخش ها با کاتلین؟
چرا همه بخش ها رو با کاتلین آموزش ندادین که دوره یکپارچه باشه؟
چرا دموی از دوره نیست که ما برای خرید اطمینان بیشتری داشته باشیم؟
علی کمائی –
سلام.وقت بخیر.
نزدیک ۴۰ درصد دوره با کاتلین هست و مابقی مباحث پیشرفته با جاوا و بخشی هم با کاتلین گفته شده چون باید موضوعات جدید و تکنولوژیهای جدید رو ابتدا با جاوا یاد گرفته بشه و با توجه به مباحثی که در همین پکیج هست پیاده سازی کاتلین هم برای این بخش ها میتونید انجام بدید.
تمامی دوره های ما دارای دمو معرفی دوره و به صورت پروژه محور و عملی هستند که در تمامی صفحات دوره های اموزشی سایت میتونید مشاهده کنید.
عارف –
سلام خسته نباشید
چند درصد دوره با کاتلین تدریس شده و چند درصد با جاوا (حدود هم بگید خوبه)
علی کمائی –
سلام. وقت بخیر. نزدیک چهل درصد مباحت کاتلین میباشد.
و مابقی به دیگر سر فصل ها میپردازیم، هر چند که بعضی سر فصل ها هم با جاوا توضیح دادیم و هم کاتلین
حسن بازای –
من این دوره رو گرفتم و شروع کردم.
باید گفت مثل همیشه یه شاهکاره.
دمتون گرم
زهرا فریدونی –
سلام خوشحالیم براتون مفیده . موفق باشید مهندس
bb aa –
با سلام و وقت بخیر
در این اموزش در مورد مبحث ریجستر و لاگین کاربر با jwt استفاده میشه ؟
در مورد مباحث authorization و authentication هم پوشش میدین ؟
علی کمائی –
سلام وقت بخیر.
دوره در حال ضبط می باشد و مباحث mvp و mvvm توضیح میدیم کامل و مباحث jwt هم احتمالا بخشی از این پکیج اموزش بدیم
نسترن بهاری –
باسلام.
آیا کل این دوره با زبان کاتلین آموزش داده شده ؟
اگر از جاوا هم استفاده شده , در کدام بخش ها؟
علی کمائی –
سلام.وقت بخیر.
آموزش در حال ضبط هست و در هفته جاری پیش فروش آن قرار میدهیم.
در این دوره فصل کاتلین کاملا مباحث مهم و پایه و اساس کاتلین میگیم و در فصل های بعدی بخشی از آموزش ها که جدید هستند با جاوا گفته میشه و بعضی از موارد مثل معماری mvvm و liveData با کاتلین هست.
مطمینا خروجی کار یه پکیج جامع در مورد کاتلین و جاوا خواهد بود