نوشته‌ها، انگلیسی

مقاله‌ها

مقاله‌های کاروسلی که اول در لینکدین منتشر کردم — دربارهٔ معماری، هزینهٔ تجاری تصمیم‌های فنی، و اینکه اندروید زیر پوسته چطور کار می‌کند.

دنبال کردن در لینکدین

طراحی سیستم: از کد تا ارزش تجاری

تصمیم‌های معماری به زبان هزینه، ریسک و سرعت — برای مهندس‌ها و کسانی که هزینه‌اش را می‌دهند.

درون AOSP

اندروید زیر لایهٔ اپ چطور کار می‌کند: Zygote، HAL، درایور Binder، مدیریت مصرف انرژی و فشار حافظه.

اصول معماری اندروید

مقایسه‌های کوتاه از انتخاب‌های ساختاری‌ای که هر تیم اندروید با آن روبه‌روست: روش DI، الگوی لایهٔ نمایش و مدل ناوبری.

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

اولین مجموعهٔ ۳۰ روزه‌ام (فروردین تا خرداد ۱۴۰۴): بررسی‌های عمیق و مفصل از Activity و Context تا Compose، کوروتین‌ها، تست و CI/CD — و در بیشتر موارد تا جایی که AOSP پیاده‌شان می‌کند.

۶ اردیبهشت ۱۴۰۴، ۱۱ اسلایدروز ۱: Activity و چرخهٔ عمر آن۷ اردیبهشت ۱۴۰۴، ۱۲ اسلایدروز ۲: معماری ناوبری: Task، Back Stack و Launch Mode۸ اردیبهشت ۱۴۰۴، ۱۷ اسلایدروز ۳: ViewModel و تغییرات پیکربندی۹ اردیبهشت ۱۴۰۴، ۱۴ اسلایدروز ۴: Context: پیوند حیاتی اپ و سیستم‌عامل۱۰ اردیبهشت ۱۴۰۴، ۱۵ اسلایدروز ۵: Resource و Qualifier: تسلط بر پیکربندی‌های مختلف۱۱ اردیبهشت ۱۴۰۴، ۲۴ اسلایدروز ۶: Intent و Intent Filter: از ارتباط کامپوننت‌ها تا لایه‌های زیرین AOSP۱۲ اردیبهشت ۱۴۰۴، ۲۳ اسلایدروز ۷: دورهٔ جامع Broadcast Receiver۱۴ اردیبهشت ۱۴۰۴، ۱۷ اسلایدروز ۸: Foreground Service و جایگاهش در AOSP۱۵ اردیبهشت ۱۴۰۴، ۱۸ اسلایدروز ۹: WorkManager: مهار پیچیدگی کارهای پس‌زمینه۱۷ اردیبهشت ۱۴۰۴، ۱۷ اسلایدروز ۱۰: کالبدشکافی URI در اندروید۱۹ اردیبهشت ۱۴۰۴، ۱۷ اسلایدروز ۱۱: Content Provider: فراتر از یک پوستهٔ دیتابیس۲۰ اردیبهشت ۱۴۰۴، ۱۶ اسلایدروز ۱۲: ورود به دنیای Jetpack Compose۲۱ اردیبهشت ۱۴۰۴، ۱۸ اسلایدروز ۱۳: مدیریت state در Compose: از remember تا ViewModel و UDF۲۲ اردیبهشت ۱۴۰۴، ۱۸ اسلایدروز ۱۴: Layoutهای پیچیده در Compose: ConstraintLayout و Layout سفارشی۲۳ اردیبهشت ۱۴۰۴، ۱۶ اسلایدروز ۱۵: Jetpack Navigation: جریان‌های ناوبری مطمئن و مقیاس‌پذیر۲۴ اردیبهشت ۱۴۰۴، ۱۷ اسلایدروز ۱۶: Jetpack DataStore: خداحافظی با SharedPreferences۲۸ اردیبهشت ۱۴۰۴، ۲۲ اسلایدروز ۱۷: تزریق وابستگی، بخش ۱: از مشکل coupling تا DI دستی، Hilt و Dagger۲۹ اردیبهشت ۱۴۰۴، ۲۲ اسلایدروز ۱۸: تزریق وابستگی، بخش ۲: Scope، Binding، Qualifier و تست۳۰ اردیبهشت ۱۴۰۴، ۲۰ اسلایدروز ۱۹: مجوزهای زمان اجرا: فراتر از اصول، به‌سوی اعتماد۱ خرداد ۱۴۰۴، ۲۰ اسلایدروز ۲۰: کوروتین و Flow در کاتلین: پایان جهنم callback۲ خرداد ۱۴۰۴، ۲۴ اسلایدروز ۲۱: برنامه‌نویسی ناهمگام پیشرفته با کوروتین و Flow۵ خرداد ۱۴۰۴، ۱۷ اسلایدروز ۲۲: نگاهی عمیق به MVVM و MVI۷ خرداد ۱۴۰۴، ۱۷ اسلایدروز ۲۳: انقلاب بصری با Jetpack Compose: انیمیشن‌ها۸ خرداد ۱۴۰۴، ۲۳ اسلایدروز ۲۴: غلبه بر هم‌روندی: چندنخی در اندروید۱۲ خرداد ۱۴۰۴، ۲۲ اسلایدروز ۲۵: مدیریت حافظه و بهینه‌سازی کارایی۱۳ خرداد ۱۴۰۴، ۱۸ اسلایدروز ۲۶: بهترین روش‌های امنیتی برای اپ‌های اندروید۱۷ خرداد ۱۴۰۴، ۱۹ اسلایدروز ۲۷: استراتژی‌های تست، بخش ۱: Unit، Integration و UI۱۷ خرداد ۱۴۰۴، ۲۲ اسلایدروز ۲۸: استراتژی‌های تست، بخش ۲: تکنیک‌های پیشرفته۱۸ خرداد ۱۴۰۴، ۲۰ اسلایدروز ۲۹: افزایش مقیاس‌پذیری با ماژولار کردن۱۸ خرداد ۱۴۰۴، ۲۳ اسلایدروز ۳۰: CI/CD: یکپارچه‌سازی و استقرار مداوم