Langage informatique : Python

Créé par Guido van Rossum, Python est un langage de programmation, dont la première version est sortie en 1991.  Ce langage a été baptisé ainsi en référence à la troupe de comiques les « Monty Python ».

qu’est-ce que Python ?

Python est un langage puissant, facile à apprendre et qui offres de multiples  possibilités. Une fois installez, vous disposez de nombreuses fonctionnalités intégrées au langage.

Il existe ce qu’on appelle des bibliothèques qui aident le développeur à travailler sur des projets particuliers. Il est très facile d’étendre les fonctionnalités existantes: plusieurs bibliothèques peuvent  être installées pour développer des interfaces graphiques ,par exemple.

Que peut-on faire avec python
  • des petits programmes simples, qui seront chargés d’une mission très précise, ceux-ci sont appelés scripts ;

  • des programmes complets, comme des jeux ou des suites bureautiques ;

  • des projets plus complexes, comme des progiciels.

Voici quelques exemples de fonctionnalités possibles avec Pythons :

  • créer des interfaces graphiques ;

  • faire circuler des informations au travers d’un réseau ;

  • dialoguer d’une façon avancée avec votre système d’exploitation ;

    Python est un langage de programmation interprété, c’est-à-dire que les instructions qui lui sont envoyez sont « transcrites » en langage machine au fur et à mesure de leur lecture. D’autres langages existent. Le langage C, par exemple, est appelé « langage compilé » car, afin de pouvoir l’exécuter, un logiciel spécialisé devra transformer le code du programme en langage machine. On appelle cette étape la « compilation ». À chaque modification du code, il faut refaire une étape de compilation.

    Les avantages d’un langage interprété sont la simplicité  et la portabilité, Python est un langage qui fonctionne sur tout les systèmes d’exploitation. Les langages compilés sont eux aussi portable mais d’un système à l’autre, on doit utiliser des compilateurs différents. De plus, certaines instructions ne sont pas compatibles, voire se comportent différemment en fonction du systèmes d’exploitation utilisé.

    En revanchent, un langage compilé sera plus rapide qu’un langage interprété car la traduction simultanée en langage machine de votre programme ralentit l’exécution.  Cette différence se faire de moins en moins sentir au dur et à mesure des améliorations de Python.

    Pour résumer
  • Python est un langage de programmation interprété offrant de multiples possibilités

  • Il permet de créer toutes sortes de programmes (jeux, logiciel, progiciel…)

  • Il est possible d’associer des bibliothèques à Python afin d’étendre ses possibilités.

  • Il est peut fonctionner sous différents systèmes d’exploitation. L’étape de « compilation » n’est pas nécessaire.

Développement spécifique : Application native ou hybride, que choisir ?

C’est la grande question qui revient au sein de nos clients. Devons-nous développer une application mobile native ou hybride ? Chacune des deux options a ses avantages et ses inconvénients.

La réponse : Cela dépend de votre projet !

L’application native : Performante mais plus coûteuse 

L’application native est une application mobile que l’on télécharge et que l’on installe ensuite sur son smartphone ou sur sa tablette. Chaque plateforme (IOS, android…) a son propre langage.

  •  IOS : Objective-C ;
  •  Android : Java ;
  • Windows Phones : C#.

Cette application est dite native car elle va  pouvoir accéder aux fonctionnalités du support comme par exemple le GPS, l’appareil photo et notamment au hardware. Les applications natives seront  plus performantes  que les applications hybrides.

Le hic ? Si vous souhaitez avoir une application mobile native et que vous voulez qu’elle soit disponible sur toutes les plateformes, il faudra concevoir des applications bien distinctes car ce ne sont pas les mêmes langages utilisés pour lors du développement sur IOS ou sur Android.

Cela entraîne donc des coûts de production qui seront plus élevés que pour une application hybride.

L’astuce : suivant votre marché, il est intéressant de se demander qu’elle plateforme utilise votre cible. Si elle utilise à 80% Android, le développement d’une seule application peut suffire dans un premier temps.

L’application hybride : moins performante mais moins chère  

L’application hybride est une application à mi-chemin entre les Webapps et les applications natives.

Petit rappel : une Webapp est un logiciel applicatif hébergé sur un serveur et accessible depuis un navigateur Internet. Elle est adaptée pour les terminaux mobiles grâce à une bonne ergonomie et à certaines fonctionnalités spécifiques.  Une Webapp ne peut pas fonctionner sans connexion Internet. Les webapps sont développées une seule fois avec de l’open web HTML5, Javascript et CSS.

Une application hybride est donc à mi-chemin entre une application native et une webapp. Il s’agit de développer une application avec la même technologie qu’une webapp,  puis de l’encapsuler pour en faire une application mobile, que l’on peut installer via les stores. L’application hybride sera fonctionnelle avec une bonne ergonomie sur tous les supports sans avoir à développer une application pour chaque plateforme.

Contrairement aux webapps, dans une application hybride, on vient intégrer une couche de code natif pour permettre à l’application de pouvoir utiliser les fonctionnalités du support (appareil photo, GPS…).

Le hic ? Les applications hybrides coûtent moins cher mais sont en revanche  moins performantes que les applications natives. Suivant votre projet, il se peut que vous ne puissiez pas développer une application hybride en raison de contraintes technique (utilisation de capteurs du téléphone…)

Par exemple, si vous souhaitez développer une application pour objet connecté et que cette application soit sur IOS et Android, il faudra surement privilégier l’applications native. Les langues de communications entre l’API de l’objet et les smartphones vont changer en fonction de votre plateforme.

Comme dit précédemment, votre choix dépendra de votre projet !

Si vous souhaitez avoir plus d’informations ou  poser quelques questions, c’est ici. Notre équipe se fera une joie de vous répondre.