شروع 01 اولین قدم خیلی مهمه، خیلیا به خاطر ترس از شکست شروع نمیکنن
پس ترس رو بزار کنار و شروع کن
فقط شروع کن
تمرین و تکرار 02 خیلیا وارد حوزه برنامه نویسی میشن و به خاطر سختی هاش سریع جا میزنن و عقب میکشن
پس اگه میخوای موفق بشی فقط و فقط تمرین کن و پشتکار داشته باش
پشتکار
حرف اول و آخر رو میزنه
موفقیت 03 زمانی میتونی به این مرحله برسی که واقعا تلاش کرده باشی. برنامه نویسی واقعا راحت نیستش
اگه خوب تلاش کنی، مطمئن باش نتیجه زحماتت رو خیلی خوب دریافت میکنی
موفقیت رو باید به دست بیاری

موقع ساختن پروژه های اندروید از چه کتابخونه هایی استفاده میکنم؟

موقع ساختن پروژه های اندروید از چه کتابخونه هایی استفاده میکنم؟
اندروید

موقع ساختن پروژه های اندروید از چه کتابخونه هایی استفاده میکنم؟

همواره استفاده کردن از کتابخونه‌ها توی هر سیستم و پلتفرمی ممکنه باعث یکسری معضل‌ها بشه.

  • اینکه از چه کتابخونه‌هایی استفاده کنیم بهتره؟
  • برای فلان کار از چه کتابخونه‌ای باید استفاده کنم؟
  • ممکنه این کتابخونه‌ای که استفاده میکنم مشکلات امنیتی ایجاد کنه؟

این‌ها سوالاتی هستند که شاید بارها و بارها از خودتون پرسیده باشید.

استفاده از کتابخونه‌ها همیشه هم خوب نیست و ممکنه مشکلات زیادی برتون وجود بیاره.

از مشکلات ساختاری برنامه گرفته تا مشکلات امنیتی!

پس انتخاب صحیح کتابخونه‌ها یکی از اصلی ترین نکاتی هستش که باید بهش توجه کنید.

خب بعد از کلی مقدمه چینی، حالا برین سراغ اینکه من خودم از چه کتابخونه‌هایی استفاده میکنم ؟

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

کتابخونه تزریق وابستگی اندروید

برای تزریق وابستگی (Dependency Injection) کتابخونه‌های مختلفی وجود داره.

ولی من از Dagger (دَگِر) استفاده میکنم.

دگر قوی‌ترین و بینظیرترین کتابخونه برای اینکار هستش.

البته از حق هم نگذریم خیلی سخته (اگه توی StackOverFlow سرچ کنید می‌بینید که بارها و بارها عبارت سرطان رو برای این کتابخونه به کار بردن😁)

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'com.google.dagger:dagger:2.28.1'
annotationProcessor 'com.google.dagger:dagger-compiler:2.28.1'
implementation 'com.google.dagger:dagger-android:2.28.1'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.28.1'
  • برنامه نویسی ناهمزمانی

کتابخونه برنامه نویسی ناهمزمانی اندروید

مسائل ناهمزمانی در برنامه نویسی خیلی مهم هستن.

طبیعتا اندروید هم از این قضیه مستثنا نیستش.

برای من از Rx استفاده می‌کنم.

Rx هم مثل دگر خیلی سخته، اگه بخواین کل Rx رو یاد بگیرید باید 3 الی 6 ماه زمان سپری کنید.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
implementation "io.reactivex.rxjava2:rxjava:2.2.12"
  • ارتباط با اینترنت

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

اصلی‌ترین کار هنگام ساختن اپلیکیشن‌های آنلاین اینه که اپلیکیشن با سرور در ارتباط باشه.

برای اینکار هم کلی کتابخونه وجود داره.

ولی من از Retrofit (رِتروفیت) استفاده می‌کنم.

این کتابخونه واقعا قدرتمنده و به جرات میشه گفت توی ارتباط با سرور می‌تونه حرف اول رو بزنه.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:adapter-rxjava2:2.5.0"
implementation 'com.squareup.retrofit2:converter-gson:2.7.2'
  • تنظیمات بیشتربرای ارتباط با سرور

کتابخونه تنظیمات بیشتربرای ارتباط با سرور اندروید

زمانی که میخوای اپلیکیشن‌های آنلاین درست کنی، باید حواست باشه که بتونی ارتباط با سرور رو زیر نظر داشته باشی.

یا اینکه یکسری تنظیمات رو بهش اضافه کنی که اپلیکیشن توی شرایط مختلف با مشکل رو برو نشه.

برای اینکه من از OkHttp استفاده میکنم و با اون روی Retrofit میتونم یکسری تنظیمات خاصی که مدنظرم هست رو اضافه کنم.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'com.squareup.okhttp3:okhttp:3.14.9'
implementation "com.squareup.okhttp3:logging-interceptor:3.14.0"
  • بارگذاری تصاویر

کتابخونه بارگذاری تصاویر اندروید

مگه میشه اپلیکیشن آنلانی نوشت و عکسی رو از سرور دریافت کرد؟😀

برای بارگذاری تصاویر من از Glide (گِلاید) استفاده می‌کنم.

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

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
  • دیتابیس

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

به نظرم Room (روم) توی دیتابیس اندروید حرف اول رو میزنه.

سرعت خیلی خوب و عالی داره از طرفی پیاده ‌سازیش هم خیلی خیلی راحته!

به گوگل باید واسه ساختن این دیتابیس واقعا تبریک گفت.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'androidx.room:room-runtime:2.2.6'
kapt 'androidx.room:room-compiler:2.2.6'
  • ایجاد ارتباط بین صفحات

کتابخونه ایجاد ارتباط بین صفحات اندروید

من برای اینکار از کتابخونه عالی که خود گوگل ساخته استفاده میکنم.

اسم این کتابخونه Navigation هستش.

این کتابخونه یک شعار باحالی داره، اونم اینه که : <<<یک اکتیویتی و بینهایت فرگمنت>>>

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

درضمن برنامه نویسی مدرن اندروید هم به همین موضوع اشاره داره.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'android.arch.navigation:navigation-fragment:1.0.0'
implementation 'android.arch.navigation:navigation-ui:1.0.0'
  • افزایش سرعت توسعه

کتابخونه افزایش سرعت توسعه اندروید

توی همه برنامه‌های اندرویدی یه چالش خیلی بزرگ داریم.

اونم اینکه چطور میشه برنامه‌ای درست کنیم که توی همه صفحه نمایش‌ها خوب و عالی نشون بده، بدون هیچ نوع بهم ریختگی!

یا اینکه اطلاعات سَبُک برنامه (مثلا شماره موبایل، توکن یا …) چطور سریع و مطمئن ذخیره کنم؟

علاج این مشکل پیش دکتر نوریه😁

پایین 2 تا کتابخونه رو معرفی می‌کنم.

اولی برای حل مشکل ریسپانسیو بودن اپلیکیشنه، دومی هم برای ذخیره سازی اطلاعات.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'com.github.MrNouri:DynamicSizes:1.0'
implementation 'com.github.MrNouri:GoodPrefs:1.0'
  • کنترل بهتر تِرِدها

کتابخونه کنترل بهتر تِرِدها اندروید

روش‌های مختلفی رو برای عملیات MultiThreading (مالتی تِرِدینگ) یا چند نخی داریم.

ولی یکی از بهترین روش‌هاش که چند وقت اخیر معرفی شده Coroutines (کروتینز) هستش.

Coroutines یه کتابخونه خیلی سبک ولی پرقدرت توی این زمینه هستش.

حتما حتما این مبحث رو خوب یاد بگیرید که خیلی حیاتی هستش.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'
  • اعمال فونت

کتابخونه اعمال فونت اندروید

فونت‌های توی رابط کاربری تاثیر خیلی زیاده دارن.

توی اندروید هم چندین روش برای اعمال فونت روی viewها وجود داره.

که هرکدوم یکسری مشکلاتی دارن، حتی بعضی‌هاش باعث میشه اپلیکیشنت با مشکل روبرو بشن و درست اجرا نشن!

Calligraphy یه کتابخونه خیلی خوبی هستش که با چند خط کد ساده، فونت رو به مخزن اصلی پروژه‌ت اضافه میکنه.

پس خیلی راحت میتونی روی همه viewهات فونت دلخواهت رو اعمال کنی و ازش لذت ببری.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'io.github.inflationx:calligraphy3:3.1.1'
implementation 'io.github.inflationx:viewpump:2.0.3'
  • مدیریت رخداد ها

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

خیلی مواقع پیش میاد که میخوایم ارتباط های مختلفی رو بین صفحات برقرار کنیم.

یعنی اگه توی فلان صفحه اتفاقی افتاد، بلافاصله توی یه صفحه دیگه‌ای هم یه کاری به صورت خودکار انجام بگیره!

خب ارتباط بین صفحات مختلف توی اندروید یکم سخته! مخصوصا زمانی که به اون صفحات دسترسی نداشته باشیم.

EventBus (ایونت باس) یکی از اون کتابخونه‌هایی هستش که باید توی هر برنامه‌ای باشه.

چون خیلی خیلی راحت این مباحث رو هندل میکنه، بدون اینکه مشکلاتی جای دیگه‌ای بوجود بیاد.

برای استفاده از این کتابخونه این کدها رو باید به پروژه اضافه کنی

implementation 'org.greenrobot:eventbus:3.2.0'

خب اینها کتابخونه‌هایی هستن که من اکثرا ازشون توی برنامه‌هام استفاده می‌کنم.

البته ممکنه کتابخونه‌های دیگه‌ای هم باشن، ولی خب اینا جز مواردی هستن که بیشتر ساختاری هستن و توی همه پروژه‌ها ازشون استفاده می‌کنم.

شما از چه کتابخونه‌هایی استفاده می‌کنید؟

به نظرت کتابخونه‌ای بوده خیلی خوب باشه و اسمش رو نبرده باشم ؟🤔

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

1 × یک =

فیلدهای نمایش داده شده را انتخاب کنید. دیگران مخفی خواهند شد. برای تنظیم مجدد سفارش ، بکشید و رها کنید.
  • عکس
  • شناسه محصول
  • امتیاز
  • قیمت
  • در انبار
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • عرض
  • اندازه
  • تنظیمات بیشتر
  • ویژگی ها
  • Custom attributes
  • زمینه های دلخواه
مقایسه
لیست علاقه مندی ها 0