Native, hybrid or cross-platform

The four families of mobile apps (native, WebView hybrid, cross-platform, progressive web), what draws the screen in each, and the criteria that decide the choice: performance, hardware access, shared code, team and cost.

  • 25 cards
  • 5 topics
  • Free

The outline, topic by topic

Each topic is weighted the way the exam weighs it.

  1. Concepts
  2. Questions
  3. Sort and link
  4. Scenarios
  5. Understand

A few cards from the deck

  • Native app: what is it?

    Show the answer

    An app written for one operating system with that system's own tools and language (Kotlin for Android, Swift for iOS), using its interface components directly.

    It gives the best hardware access and the system's new features as soon as they ship, at the price of two code bases to write and maintain.

  • How does React Native display a button on the phone?

    • JavaScript code asks the system to create its own button component
    • It draws a button itself with its own rendering engine, without asking the system for anything
    • It generates an HTML page shown in a WebView
    • It compiles JavaScript into Kotlin and then Swift
    Show the answer

    JavaScript code asks the system to create its own button component

    JavaScript code describes the interface, but the elements on screen are real system components. Drawing everything itself is Flutter; a page in a WebView is a hybrid app.

  • For a native app, Google recommends … on Android and Apple promotes … on iOS.

    Show the answer

    For a native app, Google recommends Kotlin on Android and Apple promotes Swift on iOS.

    Java and Objective-C are still possible, but each system has its reference language and tools (Android Studio, Xcode): two native apps means two separate projects.

  • Hybrid app: what is it?

    Show the answer

    A web app (HTML, CSS, JavaScript) packaged in a WebView and installed like any other app; plugins give access to the hardware.

    Cordova and Capacitor do the packaging, Ionic provides the interface components. The screen is a web page: a web team is enough, but smoothness depends on the WebView.

  • Two web developers must release a catalogue on Android and iOS at the same time, with one team and one code base. Which choice is the most consistent?

    • A cross-platform or hybrid app, with shared code
    • Two native apps written separately, Kotlin then Swift, with two teams
    • A native Android app, iOS later
    • A site opened in the browser, with no installed app
    Show the answer

    A cross-platform or hybrid app, with shared code

    The deciding constraint is one code base for two systems with web skills: two native projects would double the work, and skipping one platform misses the brief. A site with no install does not meet "app".