🌍 Mobile App Development · subject

Mobile App Development Mobile Development Foundations Syllabus

The Mobile Development Foundations syllabus for Mobile App Development in full: 5 chapters and 19 topics, every one listed below, plus 54 Mobile Development Foundations flashcards with answers.

5Chapters
19Topics
54Flashcards

Mobile Development Foundations syllabus: all 5 chapters

Expand any chapter to see its topics and sub-topics.

  1. Mobile Ecosystem Overview

    4 topics
    • iOS vs Android Platforms
    • Native vs Cross-Platform vs Hybrid
    • App Categories and Distribution Models
    • Mobile Development Toolchain
  2. Programming Language Essentials

    4 topics
    • Swift Fundamentals
    • Kotlin Fundamentals
    • Dart Basics for Flutter
    • JavaScript and TypeScript for React Native
  3. Mobile UI/UX Principles

    4 topics
    • Apple Human Interface Guidelines
    • Google Material Design
    • Responsive and Adaptive Layouts
    • Accessibility and Inclusive Design
  4. App Lifecycle and Architecture Basics

    4 topics
    • Application Lifecycle States
    • Activities, Fragments, and View Controllers
    • Navigation Patterns
    • Separation of Concerns
  5. Version Control and Collaboration

    3 topics
    • Git Fundamentals
    • Branching and Pull Requests
    • Managing Dependencies

Mobile App Development Mobile Development Foundations flashcards — 54 questions with answers

  1. What is the primary programming language and IDE combination for native iOS development?

    Swift (or Objective-C) written in Xcode, Apple's official IDE, targeting the iOS SDK.

  2. What is the primary programming language and IDE combination for native Android development?

    Kotlin (or Java) written in Android Studio, which is built on IntelliJ IDEA and uses the Android SDK/Gradle.

  3. Name three key differences between the iOS and Android platforms.

    1) Languages/IDE (Swift+Xcode vs Kotlin+Android Studio); 2) Distribution (single App Store vs Play Store plus sideloading/third-party stores); 3) Ecosystem (closed, uniform hardware vs open, fragmented device landscape).

  4. Define native mobile development.

    Building an app with the platform's official language and SDK (Swift for iOS, Kotlin for Android), compiling to a separate binary per platform for maximum performance and full API access.

  5. Define cross-platform mobile development and give two examples.

    Writing one shared codebase that runs on multiple platforms via a framework/runtime. Examples: Flutter (Dart) and React Native (JavaScript/TypeScript).

  6. Define hybrid mobile development.

    Wrapping web technologies (HTML, CSS, JavaScript) inside a native WebView container so the app runs as a website inside a native shell. Example frameworks: Ionic, Apache Cordova.

  7. Compare native, cross-platform, and hybrid in terms of performance.

    Native offers the best performance and full API access; cross-platform is close to native (compiled or bridged); hybrid (WebView) generally has the lowest performance because UI renders through a web engine.

  8. What is the main advantage of cross-platform frameworks over native development?

    A single shared codebase reduces development time and cost while still targeting both iOS and Android, at some cost to raw performance or platform-specific fidelity.

  9. What are the two dominant app distribution models for iOS and Android?

    iOS: the Apple App Store (curated, mandatory review, no official sideloading historically). Android: Google Play Store plus sideloading of APKs and alternative app stores.

  10. List common categories used to classify mobile apps.

    Games, social/communication, productivity, utilities, e-commerce/shopping, finance, health/fitness, education, entertainment/media, and news.

  11. What is an APK and what platform uses it?

    An APK (Android Package Kit) is the Android app package/installer file format; the modern distribution variant on Play is the AAB (Android App Bundle).

  12. What file/package format does Apple use to distribute iOS apps?

    The IPA (iOS App Store Package) file, submitted through App Store Connect after code signing.

  13. What components make up a mobile development toolchain?

    An SDK, an IDE/editor, a compiler/build system, an emulator/simulator, a debugger, a package/dependency manager, and version control.

  14. What is the difference between an emulator and a simulator in mobile development?

    An emulator (Android) mimics device hardware including the CPU architecture; a simulator (iOS) imitates the software environment on the host but does not emulate real device hardware, so it runs faster but is less hardware-accurate.

  15. Name the build/dependency tools for Android and iOS respectively.

    Android uses Gradle for builds; iOS commonly uses CocoaPods or Swift Package Manager (SPM) for dependencies, with Xcode's build system.

  16. How do you declare a mutable variable versus a constant in Swift?

    Use var for a mutable variable and let for a constant (immutable binding), e.g. var x = 1 and let y = 2.

  17. What is an Optional in Swift and how is it declared?

    An Optional represents a value that may be present or nil. It is declared with a trailing ?, e.g. var name: String?, and is unwrapped with if let, guard let, ??, or force-unwrap (!).

  18. What is the difference between a struct and a class in Swift?

    Structs are value types (copied on assignment) and cannot inherit; classes are reference types (shared by reference), support inheritance, and are ARC-managed.

  19. What Swift syntax defines a function that takes an Int and returns an Int?

    func square(_ n: Int) -> Int { return n * n }

  20. How do you declare a mutable variable versus a read-only value in Kotlin?

    Use var for mutable and val for read-only (assign-once), e.g. var count = 0 and val name = "Ann".

Show the other 34 Mobile Development Foundations flashcards
  1. How does Kotlin handle null safety?

    Types are non-nullable by default; a nullable type is marked with ?, and access uses the safe call ?., the Elvis operator ?:, or the not-null assertion !!.

  2. What is the Kotlin syntax for a function returning a String?

    fun greet(name: String): String { return "Hi $name" }

  3. What is a data class in Kotlin?

    A class declared with the data keyword that auto-generates equals(), hashCode(), toString(), copy(), and componentN() functions from its primary constructor properties.

  4. What is Dart and what paradigm does it use?

    Dart is the client-optimized, object-oriented, statically typed language created by Google that Flutter uses; it compiles ahead-of-time (AOT) to native code and just-in-time (JIT) for hot reload.

  5. How do you declare variables in Dart, and what does 'final' vs 'const' mean?

    var/typed for mutable variables; final is set once at runtime; const is a compile-time constant. Both final and const are immutable after assignment.

  6. What is the entry point of a Dart/Flutter program?

    The top-level void main() function, which typically calls runApp(MyApp()) in Flutter.

  7. What is the difference between JavaScript and TypeScript for React Native?

    TypeScript is a statically typed superset of JavaScript that adds compile-time type checking and better tooling; it transpiles down to plain JavaScript, which React Native ultimately runs.

  8. In JavaScript/TypeScript, what is the difference between let, const, and var?

    var is function-scoped and hoisted; let is block-scoped and reassignable; const is block-scoped and cannot be reassigned (though object contents can still mutate).

  9. What are Apple's Human Interface Guidelines (HIG)?

    Apple's official design guidelines describing how to build intuitive, consistent iOS/iPadOS/macOS apps, emphasizing clarity, deference, and depth.

  10. State the three core themes of Apple's Human Interface Guidelines.

    Clarity (legible text and clear iconography), Deference (content over chrome, fluid motion), and Depth (visual layers and realistic transitions convey hierarchy).

  11. What is Google's Material Design?

    Google's open design system based on the metaphor of physical material (paper and ink), defining components, elevation/shadows, bold color, motion, and grid-based layouts across platforms.

  12. What does 'elevation' mean in Material Design?

    The relative depth or z-position of a surface, expressed in dp, that determines shadow size and which components appear in front of others.

  13. What is the difference between a responsive layout and an adaptive layout?

    Responsive uses fluid grids that continuously resize/reflow to any screen; adaptive provides distinct fixed layouts chosen at specific breakpoints for device categories (phone, tablet, desktop).

  14. What is a breakpoint in responsive/adaptive design?

    A predefined screen-width threshold at which the layout changes (e.g., switching from a single-column phone layout to a multi-column tablet layout).

  15. What is accessibility (a11y) in mobile apps?

    Designing apps so people with disabilities can use them, via features like screen readers (VoiceOver/TalkBack), sufficient color contrast, scalable text, and adequate touch target sizes.

  16. What is the WCAG minimum contrast ratio for normal-size text?

    $4.5:1$ for normal text (and $3:1$ for large text) under WCAG AA.

  17. What are the recommended minimum touch target sizes for Apple HIG and Material Design?

    Apple HIG recommends at least $44 \times 44$ points; Material Design recommends at least $48 \times 48$ dp.

  18. Define 'inclusive design'.

    Designing products usable by the widest possible range of people, accounting for differences in ability, language, culture, age, and context, rather than an 'average' user.

  19. Name the typical states of a mobile application lifecycle.

    Not running, Inactive/Paused, Active/Running (foreground), Background, and Suspended/Stopped (terminated).

  20. On Android, list the core Activity lifecycle callbacks in order for a launch-to-visible flow.

    onCreate() → onStart() → onResume(); then on leaving: onPause() → onStop() → onDestroy() (with onRestart() before onStart() when returning).

  21. On iOS, what UIApplicationDelegate/scene states signal foreground and background transitions?

    Foreground-active, foreground-inactive, background, and suspended, with callbacks like sceneDidBecomeActive, sceneWillResignActive, sceneDidEnterBackground, and sceneWillEnterForeground.

  22. What is an Activity in Android?

    A single, focused screen the user interacts with; it is a core app component with its own lifecycle that serves as an entry point and hosts the UI.

  23. What is a Fragment in Android and why use it?

    A reusable, modular portion of UI with its own lifecycle that must be hosted within an Activity (or another Fragment); it enables flexible, adaptive layouts (e.g., master-detail on tablets).

  24. What is a View Controller in iOS?

    A UIViewController is the iOS object that manages a view hierarchy (a screen or portion of one), handles user interaction, and coordinates with the app's data model, analogous to an Android Activity/Fragment.

  25. Compare Android's Activity/Fragment with iOS's View Controller.

    Both manage a screen's UI and lifecycle. An Activity is a top-level screen and Fragments are reusable sub-screens; iOS unifies these roles under UIViewController, which can act as a full screen or a child controller.

  26. What is a common iOS navigation pattern for a drill-down hierarchy?

    A UINavigationController with a navigation stack: view controllers are pushed on and popped off, giving a back-button hierarchy.

  27. Name common mobile navigation patterns.

    Stack/hierarchical (push-pop), tab bar/bottom navigation, navigation drawer (side menu), modal presentation, and master-detail (list-detail).

  28. What is the difference between the iOS tab bar and the Android navigation drawer?

    The iOS tab bar shows top-level destinations along the bottom for quick switching; the Android navigation drawer is a slide-in side panel (hamburger menu) holding many destinations, useful when there are too many for a bottom bar.

  29. What is Separation of Concerns (SoC) and why does it matter in mobile apps?

    A design principle of dividing a program into distinct sections each handling one concern (e.g., UI, business logic, data). It improves maintainability, testability, and reuse and underpins patterns like MVC, MVVM, and MVP.

  30. Name three architectural patterns that enforce separation of concerns in mobile development.

    MVC (Model-View-Controller), MVVM (Model-View-ViewModel), and MVP (Model-View-Presenter); Clean Architecture is also common.

  31. What is Git and what type of version control system is it?

    Git is a free, open-source distributed version control system (DVCS) that tracks changes in source code, letting every clone hold the full history locally.

  32. What is the difference between 'git commit' and 'git push'?

    git commit records staged changes as a snapshot in the local repository; git push uploads local commits to a remote repository (e.g., GitHub).

  33. What is a Git branch and why is branching used?

    A branch is a lightweight, movable pointer to a commit that provides an isolated line of development, letting you build features or fixes without affecting the main branch until merged.

  34. What is a Pull Request (PR)?

    A request on a hosting platform (GitHub/GitLab) to merge changes from one branch into another; it enables code review, discussion, and CI checks before the code is integrated.

Mobile App Development Mobile Development Foundations FAQ

What is in the Mobile App Development Mobile Development Foundations syllabus?

Mobile App Development Mobile Development Foundations is split into 5 chapters: Mobile Ecosystem Overview, Programming Language Essentials, Mobile UI/UX Principles, App Lifecycle and Architecture Basics and Version Control and Collaboration. Together they contain 19 topics.

How many chapters are in Mobile App Development Mobile Development Foundations?

5 chapters, containing 19 topics. The largest chapter is Mobile Ecosystem Overview, with 4 topics.

Are there flashcards for Mobile App Development Mobile Development Foundations?

Yes — a 54-card Mobile Development Foundations deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.