یک توسعه‌دهنده اندروید چه فناوری‌هایی را باید بداند؟

لیستی از فناوری ها و مفاهیمی که یک برنامه نویس اندروید باید با آنها آشنا باشد در اینجا آمده است:📌 الگوی معماری MVVM (Model-View-ViewModel) برای جداسازی وابستگی ها در توسعه اندروید📌 LiveData: یک( observable data holder class) که از چرخه حیات آگاه است و برای ارتباط بین اجزا استفاده می شود📌Kotlin Coroutines: چارچوبی همزمان برای نوشتن کدهای ناهمزمان و غیر مسدود کننده📌 Activity Lifecycle: حالت‌های چرخه حیات یک Activity اندروید📌 Flavor: یک ویژگی در Android Studio که برای مدیریت انواع مختلف ساخت(build types) برای محیط های مختلف (مانند توسعه، QA، تولید) استفاده می شود📌 کلاس Kotlin Data: کلاسی که در درجه اول برای نگهداری داده ها استفاده می شود و به طور خودکار متدهای ضروری را تولید می کند📌 تزریق وابستگی: تکنیک هایی مانند Dagger و Hilt برای مدیریت وابستگی ها و بهبود ماژولار بودن📌 استفاده از حالت (state)و کاربرد چند شکلی(application of polymorphic)، انتزاعی(abstract) و دیگر مفاهیم برنامه نویسی شی گرا📌 سرویس: مولفه هایی برای انجام عملیات طولانی مدت در both foreground ,background و background services📌 Broadcast Receiver: مؤلفه ای که برای ارائه رویدادهای کل سیستم یا برنامه های خاص استفاده می شود📌 مدیریت تم های روشن و تاریک: پیاده سازی و مدیریت تم های مختلف برای اپلیکیشن اندروید شما📌Memory Leak : درک چگونگی رخ دادن Memory Leak در اندروید و تکنیک های رفع آن📌 تست واحد: نوشتن و اجرای تست ها برای تایید رفتار واحدهای کد📌تغییرپذیری و تغییرناپذیری (Changeability and immutability): درک مفاهیم و فواید اجسام قابل تغییر و تغییرناپذیر📌 CI/CD (Continuous Integration/Continuous Deployment): خودکارسازی فرآیندهای ساخت، آزمایش و استقرار.📌 کش آفلاین: پیاده سازی مکانیزم کش برای ذخیره آفلاین داده ها، با استفاده از تکنیک هایی مانند Async Task، Kotlin’s Flow و WorkManager📌 R8/Proguard: ابزارهای مورد استفاده برای کوچک کردن کد، مبهم سازی و بهینه سازی برنامه های اندروید.📌WorkManager: یک API برای زمان‌بندی و مدیریت وظایف پس‌زمینه📌Flow: درک و استفاده از StateFlow، SharedFlow و کانال‌ها در Kotlin📌 Annotation Processor: استفاده از پردازشگرهای حاشیه نویسی برای تولید کد و پردازش ابرداده.📌 الگوی MVI (Model-View-Intent): یک الگوی معماری یک جهته برای برنامه های اندروید📌 کتابخانه‌های پردازش تصویر و کتابخانه‌های شبکه: درک نحوه عملکرد این کتابخانه‌ها و ادغام آن‌ها در برنامه‌های اندروید📌 پیاده سازی Viewهای سفارشی: ایجاد View های سفارشی با طراحی سفارشی و رفتارهای تعاملی📌 ExoPlayer و پخش زنده: استفاده از ExoPlayer برای پخش محتوای رسانه ای و مدیریت پخش زنده📌 NDK (Native Development Kit): توسعه و ادغام کدهای بومی در برنامه های اندروید📌 مدیریت کلیدهای مهم و رمزگذاری/رمزگشایی: مدیریت داده های حساس با تکنیک های رمزگذاری و رمزگشایی📌 کلاس های Enum و sealed: درک و استفاده از انواع enumeration و کلاس های sealed در Kot📌 توابع محدوده (Scope functions) در kotlin : توابعی مانند let، run، with، application و همچنین برای دستکاری محدوده و زمینه.📌FlatMap vs Map: تفاوت بین عملیات flatMap و Map در برنامه نویسی تابعی. 📌Local DB: استفاده از پایگاه های داده محلی مانند SQLite یا Room برای ذخیره سازی و بازیابی داده ها 📌HashMap: مدیریت سناریوهای ANR، استفاده از RxJava برای برنامه نویسی واکنشی و کار با مجموعه داده ها📌 Alarm Manager / Pagination: استفاده از Alarm Manager برای زمان بندی وظایف و پیاده سازی صفحه بندی در برنامه های اندروید.📌 معماری Single Activity: طراحی اپلیکیشن ها با یک اکتیویتی 📌 توابع Infix: تعریف توابعی که می توانند بدون استفاده از دستور نقطه یا پرانتز فراخوانی شوند📌 DataBinding: اتصال داده ها به طور مستقیم به اجزای UI در فایل های طرح بندی📌 Sensors و Tensorflow Lite در اندروید: کار با سنسورهای دستگاه و ادغام TensorFlow Lite برای وظایف یادگیری ماشین📌 Jetpack Compose: یک ابزار UI مدرن برای ساخت رابط های کاربری اندروید با استفاده از برنامه نویسی اعلانی📌 تست UI: نوشتن تست های خودکار برای تایید صحت رابط های کاربری📌 WebSocket و GraphQL: درک و استفاده از ارتباطات WebSocket و ادغام GraphQL در برنامه های اندروید📌 Serializable vs Parcelable: مکانیزم های مختلف برای انتقال داده ها بین اجزا در اندروید📌Intent Filter، Pending Intent و Intent: درک هر سه مورد برای ارتباط بین مؤلفه هااگر موردی هم هست که من جا انداختم ممنون میشم داخل کامنت بنویسید (:امیدوارم براتون مفید بوده باشه D: