Android & iOS Dev Together

Thinking in Android & iOS at same time

Siamak (Ash) Ashrafi
4 min readMay 16, 2024
Android Studio & XCode

Reach

Both Android and iOS have broad reach.

https://explodingtopics.com/blog/iphone-android-users

Why build for native iOS (not KMP?)

Why build for native iOS with Apple toolchain when we have Kotlin Multiplatform technology?

One issue with Kotlin Multiplatform technology …

Apple understands it is an innovation company.

visionOS has great potential.

KMP is maybe not going to support visionOS (for now)

Not even assigned yet!

We can’t afford having any layers between us and innovation.

AI/ML mind blowing 🤯 projects Android & WearOS | iOS & watchOS & visionOS | Robotics & IoT (Rust):

And if we have issues we hammer on Apple … and they must respond!

Open bug report with Apple

In these series of articles we look at Android & iOS dev in one thought.

Once you choose the language the rest just follows

Key: “→” means “leads to”

Choosing: Language → Architecture → Package Manager → Database → Declarative UI → Development Env. → Testing → Frameworks → Stores

Android & iOS Dev: Thinking Holistically

&Thinking about them together.

This series of articles dives into the world of mobile development, exploring both Android and iOS development from a unified perspective. We’ll guide you through the essential decisions and tools you’ll encounter, helping you think strategically about building mobile apps for both platforms.

Beyond Language: A Connected Development Journey

While choosing a language is an important first step, it’s just the beginning. We’ll trace the interconnected development process, showing how each decision leads to the next:

  • Language: Kotlin & Swift
  • Architecture: OOP & POP paradigms
  • Package Management: Gradle / TOML (Android) & Swift Package Manager (iOS)
  • Data Persistence: RoomDB (Android) & SwiftData (iOS)
  • User Interface: Compose with Material Design 3 (Android) & SwiftUI with Apple HIG (iOS)
  • Development Environment: Android Studio & Xcode
  • Testing: Testing with Hilt (Android) & XCTest (iOS)
  • App Functionality: Frameworks for payment, sensors, fitness, AR/VR, and AI/ML
  • Deployment: Navigating the Google Play Store and Apple App Store

Structured Learning for Maximum Impact

We’ve divided this series into three comprehensive sections to ensure you gain a well-rounded understanding of mobile development:

Section 1: AndiOSDev Foundation

  • Languages & Features: Kotlin & Swift, including key features like functions, extensions, concurrency (coroutines/Swift structured concurrency).
  • Architecture Paradigms: Object-Oriented Programming (OOP) and Protocol-Oriented Programming (POP).
  • Package Management: Learn how to manage dependencies for each platform.

Section 2: AndiOSDev Building

  • Data Persistence: Dive into the world of databases with RoomDB (Android) and SwiftData (iOS).
  • User Interface: Explore the power of declarative UI with Compose and SwiftUI, including state management and navigation.
  • Development Environment: Set up your development environment with Android Studio or Xcode, and explore additional tooling options.
  • Project Structures: Understand how to organize your project effectively.

Section 3: AndiOSDev Deployment

  • App Functionality: Explore a range of frameworks to enhance your app’s capabilities in various domains like payments, sensors, and AR/VR, AI/ML.
  • Testing: Learn best practices for testing your app with Hilt Test (Android) and XCTest (iOS).
  • Deployment: Learn the ropes of publishing your app on the Google Play Store and Apple App Store.

By delving into these topics, you’ll gain a holistic understanding of mobile development and be well-equipped to build native platform applications specializing in both Android and iOS.

This should be recored …

~Ash

DeSign of Mobile

Jetpack Compose (Kotlin Flow) & SwiftUI (Combine Framework)

--

--