لیستی از فناوری ها و مفاهیمی که یک برنامه نویس اندروید باید با آنها آشنا باشد در اینجا آمده است:
📌 الگوی معماری 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: