Cheat sheet · Build products
Mobile development cheat sheet (Android)
Opens with creditsA quick-revision companion to the mobile roadmap for Kotlin 2 and Jetpack Compose, from composables to shipping on Google Play. Read a chapter top to bottom to refresh a stage, or jump to one concept for its definition, a snippet and the classic mistake.
Chapters
7 chapters · 66 concepts
1Kotlin essentialsThe Kotlin 2 that Android code relies on: null safety, data and sealed classes, lambdas, collections, coroutines and Flow, plus the Gradle build.10 concepts
- 1val, var and type inference
valis a read-only reference,varcan be reassigned, and the compiler infers types when they are obvious. - 2Null safetyTypes are non-null by default;
String?may be null. - 3Functions, lambdas and extensionsFunctions support default and named arguments.
- 4Data classesA
data classgeneratesequals,hashCode,toString,copyand destructuring from its constructor properties. - 5Sealed classes and whenA
sealedclass or interface has a fixed set of subtypes known at compile time. - 6Collections and their operationsKotlin separates read-only
List,SetandMapfromMutableListand friends, and offers functions such asmap,filter,groupBy,associateByand… - 7Coroutines and suspend functionsA
suspendfunction can pause without blocking a thread. - 8Dispatchers and withContextA dispatcher decides which threads a coroutine runs on:
Dispatchers.Mainfor UI,Dispatchers.IOfor blocking I/O andDispatchers.Defaultfor CPU work. - 9Flow and StateFlowA
Flowis a cold stream of values produced by a suspend block and read withcollect. - 10Gradle and version catalogsGradle builds Android apps.
10 in this chapterOpen this chapter- 1val, var and type inference
2UI and layoutTurning a design into screens: small composable pieces, layout containers, long lists, forms, theming and fitting every screen size.10 concepts
- 1Declarative UIYou describe what the screen should look like for the current state, and the framework works out what to change on screen.
- 2ModifiersA
Modifieris an ordered chain that decorates a composable with size, padding, background, click handling, semantics and more. - 3Recomposition and side effectsWhen state a composable reads changes, Compose runs that composable again (recomposition).
- 4Rows, columns and stacksThe basic layout containers place children horizontally, vertically or on top of each other, with spacing and alignment options.
- 5Lazy listsA lazy list only builds the rows currently on screen, plus a few ahead, and recycles them as you scroll.
- 6Text input and formsA text field shows a value from state and reports every change back.
- 7Theming and dark modeA theme defines colours, typography and shapes in one place.
- 8Platform design guidelinesMaterial Design 3 is Google's design system for Android, and the Human Interface Guidelines are Apple's rules for iOS.
- 9Safe areas and screen sizesSafe areas, or insets, are the parts of the screen not covered by the notch, status bar, camera cutout or gesture bar.
- 10Hot reload and previewsTools that show code changes in a running app or an editor preview within a second or two, without rebuilding the whole app.
10 in this chapterOpen this chapter- State and navigationWhere state lives, how screens share it and how users move between screens, including tabs, sheets and deep links.9 conceptsOpens with credits
- Networking and local dataCalling APIs, storing data on the device and keeping the app useful on a slow or missing connection, with tokens kept safe.9 conceptsOpens with credits
- Device features and notificationsWhat makes a phone a phone: the app lifecycle, permissions, camera, location, notifications, background work and calling native code.8 conceptsOpens with credits
- Testing, performance and accessibilityProving the app works and keeps working: unit and UI tests, profiling a release build, accessibility with real screen readers and a security check.10 conceptsOpens with credits
- Publishing and releasesGetting the app to real users: IDs and versions, release builds and signing, beta testing, privacy declarations, store review, crash reporting and rollouts.10 conceptsOpens with credits
- 8Glossary, A to ZEvery concept in the sheet and the smaller terms it uses, in one list.145 terms
About this sheet
Apps for Android and iOS.
Related on Sefism
Picked from the other libraries by shared topics.
Best practices
See all- React Native Best PracticesReact Native best practices for 2026: Expo and the New Architecture, fast lists, smooth animations, safe storage, deep links, accessibility and release builds.
- Flutter Best PracticesFlutter best practices for 2026: sound null safety, cheap build methods, layered architecture, smooth frames, go_router, accessibility, testing and safe releases.
Checklists
See all- App Store and Google Play Launch ChecklistLaunch a mobile app on the App Store and Google Play: accounts, build rules, review guidelines, privacy labels, Data safety, listing, in-app purchases, testing, crashes and staged rollout.
- Mobile App Security ChecklistCheck an Android or iOS app against OWASP MASVS: data storage, network security, authentication, platform interaction, code quality, resilience and privacy.
Project structures
See all- Flutter project structureFor anyone building one Dart app for Android, iOS and the web. The tree starts from what flutter create gives you and grows into a feature-first lib/ folder, where each feature keeps its own data, domain and presentation code, then adds tests at every level, flavors, release signing, crash reporting and, for large teams, a melos workspace of local packages.
- React Native with Expo project structureFor web developers who know React and want one TypeScript codebase for Android, iOS and the web. Routes are files in src/app (Expo Router), the business logic lives in feature folders under src/features split into data, domain and presentation, and the native android and ios folders are generated, not hand-written.
- Android with Kotlin and Compose project structureFor anyone building a native Android app the way Google recommends in 2026: Kotlin, Jetpack Compose, a ViewModel per screen, repositories over Room and the network, and Hilt wiring it together. The tree starts from Android Studio's Empty Activity template, grows into feature packages with data, domain and presentation, adds signing, shrinking, CI and crash reporting for production, and ends as a multi-module build with convention plugins, Baseline Profiles and staged rollouts.
Career questions
See allWork with me
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
- 1:1 Mentorship
- Fresh Graduate Mentorship
- Career Guidance
Brand deals, promos and partnerships: tauseeffayyaz@gmail.com