Natif, hybride ou multiplateforme

Les quatre familles d'applications mobiles (native, hybride en WebView, multiplateforme, web progressive), ce qui dessine l'écran dans chacune, et les critères qui décident du choix : performance, accès au matériel, code partagé, équipe et coût.

  • 25 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Application native : de quoi s'agit-il ?

    Voir la réponse

    Application écrite pour un seul système avec les outils et le langage de celui-ci (Kotlin pour Android, Swift pour iOS), qui utilise directement ses composants d'interface.

    C'est la voie qui donne le meilleur accès au matériel et les nouveautés du système dès leur sortie, au prix de deux bases de code à écrire et à maintenir.

  • Comment React Native affiche-t-il un bouton sur le téléphone ?

    • Du code JavaScript demande au système de créer son propre composant de bouton
    • Il dessine lui-même un bouton avec son propre moteur de rendu, sans rien demander au système
    • Il génère une page HTML affichée dans une WebView
    • Il compile le JavaScript en Kotlin puis en Swift
    Voir la réponse

    Du code JavaScript demande au système de créer son propre composant de bouton

    Le code JavaScript décrit l'interface, mais les éléments à l'écran sont de vrais composants du système. Dessiner soi-même, c'est Flutter ; une page dans une WebView, c'est une application hybride.

  • Pour une application native, Google recommande … sur Android et Apple met en avant … sur iOS.

    Voir la réponse

    Pour une application native, Google recommande Kotlin sur Android et Apple met en avant Swift sur iOS.

    Java et Objective-C restent possibles, mais chaque système a son langage de référence et ses outils (Android Studio, Xcode) : deux applications natives, c'est deux projets distincts.

  • Application hybride : de quoi s'agit-il ?

    Voir la réponse

    Application web (HTML, CSS, JavaScript) emballée dans une WebView et installée comme n'importe quelle application ; des greffons donnent accès au matériel.

    Cordova et Capacitor font cet emballage, Ionic fournit les composants d'interface. L'écran est une page web : l'équipe web suffit, mais la fluidité dépend de la WebView.

  • Deux développeurs web doivent sortir un catalogue sur Android et iOS en même temps, avec une seule équipe et un seul code. Quel choix est le plus cohérent ?

    • Une application multiplateforme ou hybride, au code partagé
    • Deux applications natives écrites séparément, Kotlin puis Swift, avec deux équipes
    • Une application native Android, l'iOS plus tard
    • Un site à ouvrir dans le navigateur, sans application installée
    Voir la réponse

    Une application multiplateforme ou hybride, au code partagé

    La contrainte qui décide est un seul code pour deux systèmes avec des compétences web : deux projets natifs doubleraient le travail, et rater l'une des plateformes manquerait la demande. Un site sans installation ne répond pas à « application ».