Si le langage de programmation principal d’Android est Java et celui d’iOS est Objective-C et Swift, comment se fait-il que des applications web comme Instagram qui sont écrites en Python existent sur ces plateformes ?


iOS et android ont leurs propres langages de programmation dérivés de C & Java. iOS utilise à la fois Objective-C, swift alors qu'Android utilise le langage android pour le développement d'applications. Ce sont les langages natifs supportés par le système d'exploitation et son compilateur it's pour la conversion en langage de niveau machine. Mais ce n'est pas la seule façon de développer des applications sur ces plateformes.

Il existe 3 façons différentes de développer une application sur l'un de ces langages

  • Natif
    • En utilisant des langages natifs et supportés par le système d'exploitation comme swift, objective-c, android.
    • Cette approche donne de la flexibilité et un meilleur accès API intégré pour interagir avec le système d'exploitation.
    • Advantages:
      • Look & feel, performace and several other factors are so beneficial using this approach of development.
    • Disadvantages:
      • Code cannot be reused across the platforms hence it is expensive to develop a universal application.
      • Both platforms has their own UI restrictions which makes it difficult to get a unified user interface.
    • Who choses this:
      • Major tech companies and product based companies who wants maximum user reach on both the platforms to exhibit their services.
      • Fitness related apps, navigation based apps, photo editing apps because of the system feature usage.
  • Cross platform or web based -
    • This kind of development is by leveraging Webkit provided by both of these operating systems.
    • Avantages:
      • Les avantages de cette approche sont un investissement moindre, un code réutilisable à travers les plates-formes et la facilité de trouver des développeurs compétents pour un coût efficace.
      • Tout framework basé sur le web peut être utilisé pour ce développement qui donne également la flexibilité de choisir les frameworks de son choix.
    • Inconvénients:
      • Look & feel et l'accès aux fonctionnalités du système frappe un barrage routier dans certains scénarios.
      • Les deux webkits ont leur propre complexité et le traitement d'un problème spécifique à l'os dans un code commun est encombrant et semble laid à maintenir.
      • Même si le web est une plateforme largement populaire, les webkits dans ces systèmes d'exploitation ne sont qu'une couche avec une mémoire et des ressources limitées par rapport à celles des applications natives.
      • Developing an extension like widget, activity sharing, continuity is very difficult to achieve.
    • Who choses this:
      • This approach is generally for someone who just wants mobile presence.
      • For whom cost effective approach is primary criteria than user experience.
  • Hybrid:
    • This is the most widely used approach by many of the major platforms.
    • This approach is the mix and match approach of native and web code based on the needs without compromising user interaction and performance. Ex: Amazon app
    • Advantages:
      • Best user experience with cool animations, layouts etc can be provided on the important areas of the app to attract the customers.
      • La logique réutilisable ou commune actionnable peut encore être développée avec les technologies web, mais généralement dans ce type de développement, les pages natives sont utilisées pour présenter les services et les pages web sont utilisées pour l'accomplissement.

Considérant ces nombreuses possibilités dans le développement d'app, le choix de n'importe quel langage de programmation est uniquement basé sur les besoins commerciaux de l'entreprise. Je ne sais pas si Instagram utilise python ou une autre technologie, mais même si c'est le cas, il pourrait s'agir d'une approche hybride qui convient mieux à leur modèle économique. Et aussi la création d'une application mobile est pour atteindre un maximum de clients et rendre leurs services pratiques.


Ici la technologie n'est pas le critère, leur entreprise et la portée du produit l'est.