Skip to content
tezvyn:

📱Mobile Dev

Mobile app development across platforms

662 bites

Test yourself: Top 30 Mobile Dev concepts questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Concepts in Mobile Dev, page 30

intermediate2 min read

CoroutineWorker: Background Tasks with Coroutines

CoroutineWorker simplifies background tasks by letting you use suspend functions inside a WorkManager job. It's for deferrable work, like syncing data, that needs to survive process death.

intermediate2 min read

React Native Offline Sync Strategies

React Native offline sync writes to local storage first, then reconciles with the server later. It keeps forms and messages working offline. The footgun is non-idempotent mutations replayed, creating duplicates or overwriting fresh data.

intermediate2 min read

Swift Properties: Accessors in Disguise

A Swift property runs code on every read or write. Use stored properties for state, computed properties for derived values, and observers for side effects. The footgun is heavy work in a computed getter, turning innocent dot syntax into a performance trap.

intermediate2 min read

Find Jank with Flutter's CPU Flame Charts

A flame chart visualizes CPU usage, showing which function calls are slowest. Use it to diagnose jank in Flutter. The footgun is misreading the x-axis: it's for sorting calls alphabetically, not showing execution order.

intermediate2 min read

Isolating Units for Tests with Mockito-Kotlin

Mockito-Kotlin creates fake objects (mocks) to stand in for real dependencies in your tests. This lets you test a class in isolation, for example, testing a ViewModel without making a real network call. The footgun is testing implementation, not behavior.

intermediate2 min read

Reanimated Layout Animations: Auto-Morphing Views

Reanimated's layout prop auto-animates view bounds between layout passes. Use it when state changes make views shift, expand, or reorder so you avoid manual measurement code. It conflicts with gesture-driven transforms, causing jumps if mixed.

intermediate2 min read

Protocol-Oriented Programming in Swift

Protocol-oriented programming swaps inheritance for composable capabilities via protocol extensions. Use it to share behavior across structs without forcing a superclass. The footgun is protocol bloat: indirection without reuse is bureaucracy.

intermediate2 min read

Find Flutter Memory Leaks with DevTools

Think of the DevTools Memory view as an MRI for your app's RAM. It helps you find objects that aren't being garbage collected, diagnose bloat, and fix crashes.

Android Network Security Configuration
intermediate2 min read

Android Network Security Configuration

Define your app's network trust rules in a simple XML file instead of writing complex code. Use it to block cleartext (HTTP) traffic, trust self-signed certs in debug builds, or pin certificates.

intermediate2 min read

AsyncStorage: React Native's Async Key-Value Store

AsyncStorage is React Native's bare-bones key-value closet: strings on disk, retrieved asynchronously. Use it for auth tokens, onboarding flags, or cached JSON that survives app restarts. It is plain text and unencrypted; never store passwords or PII here.

intermediate2 min read

Swift Existential Types: The Polymorphism Box

An existential type is a boxed protocol: you see the interface, not the concrete type inside. Use it to store mixed concrete types behind one protocol, like [any Logger]. Prefer generics; existentials hide types and add dynamic dispatch overhead.

Doze and App Standby: Android's Battery Savers
intermediate2 min read

Doze and App Standby: Android's Battery Savers

Doze and App Standby are Android's battery-saving modes that restrict background work. Doze activates when a device is idle, while App Standby targets unused apps. The footgun is assuming background jobs run on time; they are deferred and batched.

intermediate2 min read

React Native IAP: The Store Bridge

React Native IAP is a bridge, not a store. You ask Apple or Google to charge the user and listen for a receipt. Use it for subscriptions or feature unlocks. The footgun is forgetting to finish transactions natively, leaving users charged but stranded.

intermediate2 min read

Build Custom Instruments with os_signpost

os_signpost turns code intervals into Instruments graphs by pairing begin-end markers with a visualization package. Use it to correlate app work like model hydration with system CPU and memory metrics. Unmatched begin-end calls break tracks and ruin the view.

APK Signature Scheme: Verifying App Integrity
intermediate2 min read

APK Signature Scheme: Verifying App Integrity

An APK signature is a tamper-evident seal, proving an app is from a specific developer and hasn't been altered. Android uses it to trust app updates and prevent malware. The footgun: losing your signing key means you can never update your app again.

intermediate2 min read

React DevTools Profiler: Find Slow Renders

The Profiler is a stopwatch for your component tree. It records why each render happened and how long it took, so you can spot unnecessary re-renders in React Native. The footgun is chasing render counts instead of actual frame time.

intermediate2 min read

TCA: Unidirectional State for SwiftUI

TCA is a strict pipeline for SwiftUI: state and actions enter a pure reducer, emitting new state and effects. Use it when complex flows need reproducible tests without launching the app.

Higher-Order Functions: Passing Code as Data
intermediate2 min read

Higher-Order Functions: Passing Code as Data

Higher-order functions treat code as data, accepting other functions as arguments. Lambdas are a concise syntax for creating these function arguments inline, powering collection operations like map and filter or UI listeners.

intermediate2 min read

Building Android Native Modules in React Native

Native modules let JavaScript invoke Android APIs in Kotlin or Java. You build them when no library covers a device capability or you must reuse native code. The classic mistake is blocking the UI thread inside a @ReactMethod or mismatching getName() in JS.

intermediate2 min read

SwiftUI Sheets: State-Driven Modal Overlays

A SwiftUI sheet is a temporary, state-bound overlay that slides over your current view. Use it for focused tasks like composing a message or picking a date. State and environment values do not automatically propagate into its isolated view hierarchy.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles