Sahar Asadian

Mobile Developer

tehran, ایران

سابقه کاری

Mobile Developer

۹ تیر ۱۴۰۲
فعلی

Developed new features based on product requirements, migrated the UI from XML to Jetpack Compose, and contributed to the transition to Kotlin Multiplatform (KMP). Implemented an Analytics Broker, refactored and improved the codebase, fixed bugs, and optimized the download functionality.

java
kotlin

مهارت‌ها و تکنولوژی‌ها

java
kotlin

مقالات و مشارکت‌ها

How does Coroutine work under the hood?

This article explains how Kotlin Coroutines work under the hood, including how suspension, continuations, and dispatchers work. It provides a deeper understanding of the mechanisms behind coroutines and how they manage asynchronous tasks.

شهریور ۱۴۰۵

Focus Management In Android TV

This article explains focus management in Android TV using Jetpack Compose and how focus affects navigation with a remote control. It covers practical techniques for handling, controlling, and improving focus behavior in TV applications.

شهریور ۱۴۰۵

Designing Android TV UIs with Jetpack Compose: Content Cards, Hero Elements, and Carousels

This article explains how to design Android TV UIs using Jetpack Compose, focusing on content cards, hero elements, and carousels. It covers practical approaches to creating responsive and user-friendly interfaces for TV applications.

شهریور ۱۴۰۵

Navigation Drawer with Jetpack Compose on Android TV

The article explains the differences between Standard and Modal Navigation Drawers and demonstrates how to implement them using Jetpack Compose and Android’s Navigation Component.

شهریور ۱۴۰۵

Baseline Profile in Android

This article explains how Baseline Profiles improve Android app startup and scrolling performance by pre-compiling frequently used code paths, building on background concepts like ART, Dalvik, and profile-guided optimization. It then walks through generating and testing a Baseline Profile, including special handling for lazy columns with images.

شهریور ۱۴۰۵

Mastering Unit and Integration Testing in KMP and CMP with Kotest

Testing is crucial in Kotlin Multiplatform (KMP) to ensure reliability across platforms. This codelab explores Kotest, a powerful testing framework for Kotlin, covering test source sets (commonTest, jvmTest, iosTest) and Kotest’s integration with JUnit (JVM) and Mocha (JS). You'll set up Kotest in a KMP and Compose Multiplatform (CMP) project, run tests across platforms, and learn different test styles (FunSpec, DescribeSpec, etc.). Through hands-on exercises, you'll write unit tests using Kotest matchers, implement lifecycle hooks, explore property-based testing, configure test parallelism and timeouts, and test coroutines and concurrency. By the end, you'll have a solid foundation in multiplatform testing with Kotest to build robust, scalable applications.

شهریور ۱۴۰۵

Koin Dependency Injection in Kotlin Multiplatform (KMP)

This article explains how to set up Koin dependency injection in a Kotlin Multiplatform project, covering module definitions (single, factory, scoped) and how to initialize Koin across Android, iOS, and Android .TV. It also shows a practical example of passing platform-specific parameters (like OsType) from each platform into shared business logic via Koin.

شهریور ۱۴۰۵

Understanding Android Architecture Patterns: MVC, MVP, MVVM, and MVI

This article breaks down four major Android architecture patterns—MVC, MVP, MVVM, and MVI—using a restaurant analogy to show how each one handles the flow between the Model and View. It highlights the key evolution: from tightly-coupled Controllers, to strict Presenters, to reactive ViewModels, and finally to MVI's unidirectional Intent-State model.

شهریور ۱۴۰۵