Gravity, un nouveau langage de programmation pour les développeurs iOS et Android,
Quelles sont les raisons de l'adopter ?
Le 2017-03-13 18:24:12, par Patrick Ruiz, Chroniqueur Actualités
JavaScript , C# , C++ , Java , Objective-C , Swift pour ne citer que ceux-là. Les possibilités dont disposent les développeurs quant au choix de langage de programmation sont déjà immenses et continueront sûrement à croitre, la preuve, Marc Bambini vient d’allonger cette liste avec un nouveau langage dénommé Gravity. Nous nous proposons de faire un passage en revue des aspects susceptibles d’influer sur votre décision de l’adopter.
Nature de Gravity
Portabilité
Stabilité
Gravity a été développé en partant de zéro dans le cadre du projet Creo, un outil de conception d’applications pour Mac censé unifier les processus de design d’application et de développement. La première version Bêta de Creo a été dévoilée en janvier 2016. Gravity a depuis lors été livré comme un produit séparé, ce qui permet d’estimer son âge à une année. Il s’agit donc d’un nouveau langage qui n’aurait pas encore été suffisamment éprouvé par la communauté mondiale des développeurs. Difficile pour le moment de se prononcer sur cet aspect.
Pérennité
Le langage Gravity est actuellement disponible en version Bêta et proposé en open source sous licence MIT via GitHub, ce qui présage de la disponibilité future de nombreuses versions dérivées.
Prise en main et maintenance
Ouverture
Gravity permet d’accéder à l’API C standard par le biais de l’utilisation d’un dérivé de langage de haut niveau (Swift). Les applications développées en l’utilisant sont donc destinées à tourner sur tous les systèmes d’exploitation.
Gravity offre selon ses concepteurs une nouvelle alternative dans le cadre du développement d’applications mobiles iOS et Android. Ses concepteurs l’ont d’ailleurs résumé en une phrase : « imaginez Swift, JavaScript et Smalltalk dans une toute petite machine virtuelle qui tourne sur tous les OS ».
Sources : GitHub
Et vous ?
Avez-vous trouvé des raisons d'adopter ce nouveau langage ?
Sinon, pour quelles raisons vous abstiendriez-vous ?
Nature de Gravity
- Gravity est comme l’indiquent ses concepteurs un langage de script à typage dynamique;
- il supporte les types de programmation procédurale, fonctionnelle, orientée objet et données;
- ses exécutables sont combinés à une machine virtuelle sur laquelle ils tournent.
Portabilité
- Le langage de programmation est indépendant d’un système d’exploitation (la conséquence de l’utilisation d’une machine virtuelle – VM);
- Marco Bambini précise que toute machine munie du compilateur C99 peut permettre de générer un exécutable auquel sera liée la VM;
- le langage fait uniquement usage de la bibliothèque C standard.
Stabilité
Gravity a été développé en partant de zéro dans le cadre du projet Creo, un outil de conception d’applications pour Mac censé unifier les processus de design d’application et de développement. La première version Bêta de Creo a été dévoilée en janvier 2016. Gravity a depuis lors été livré comme un produit séparé, ce qui permet d’estimer son âge à une année. Il s’agit donc d’un nouveau langage qui n’aurait pas encore été suffisamment éprouvé par la communauté mondiale des développeurs. Difficile pour le moment de se prononcer sur cet aspect.
Pérennité
Le langage Gravity est actuellement disponible en version Bêta et proposé en open source sous licence MIT via GitHub, ce qui présage de la disponibilité future de nombreuses versions dérivées.
Prise en main et maintenance
- Le langage possède une syntaxe calquée sur celle de Swift, ce qui serait un gage de maintenance aisée. La figure ci-dessous nous donne un aperçu du code édité dans ce langage :
- il est livré avec un environnement de développement intégré (aperçu ci-dessous) ;
- le langage intègre un outil de test unitaire;
- la documentation fournie est constamment mise à jour, la dernière datant du 6 mars.
Ouverture
Gravity permet d’accéder à l’API C standard par le biais de l’utilisation d’un dérivé de langage de haut niveau (Swift). Les applications développées en l’utilisant sont donc destinées à tourner sur tous les systèmes d’exploitation.
Gravity offre selon ses concepteurs une nouvelle alternative dans le cadre du développement d’applications mobiles iOS et Android. Ses concepteurs l’ont d’ailleurs résumé en une phrase : « imaginez Swift, JavaScript et Smalltalk dans une toute petite machine virtuelle qui tourne sur tous les OS ».
Sources : GitHub
Et vous ?
-
AiekickMembre extrêmement actiftrès peu pour moi. le typage dynamique ne facilite que les bug.le 14/03/2017 à 12:27
-
petitoursMembre chevronnéBonjour
très peu pour moi. le typage dynamique ne facilite que les bug.
Comme le VB était le langage "facile"... ça marche, ça devine ce que j'ai voulu coder, ça marche, ça suppose, ça.. BAM ça plante (et pas à cause de ce que je viens d'ajouter...)
Un bon langage est de base pas comme ça pour moi. Prouesse de conception du langage sans doute mais totalement sans intérêt.le 16/03/2017 à 17:01 -
ThornaMembre éprouvéD'après cet extrait de code, ça sent bon le D et ça ne peut être que bien. Livré avec l'IDE qui va bien, c'est encore mieux.
Mais pourquoi encore un langage de script alors que tout le monde ne se sert que de javascript ?le 14/03/2017 à 7:07 -
KearzMembre expertOuais, le Nième langage cross-plateform révolutionnaire.
J'ai du mal à voir l'objectif du langage en plus, c'est pas très convainquant actuellement.
(Si c'est pour faire du cross-plateform, personnellement, je creuserais plus du côté Xamarin/React Native/etc. Histoire d'être sur d'avoir du suivi.)le 14/03/2017 à 10:00 -
KearzMembre expert
Dans les grandes lignes, ce langage n'a rien de plus que les autres.
Pas de nouveau nouveau paradigme, pas de nouvelle façon de faire les choses pour répondre a tel ou tel problème. Donc pas beaucoup d'intérêt, c'est pas une question de laisser une chance ou non.le 17/03/2017 à 9:50 -
michel.bosseauxMembre confirméJ'avoue que ce langage-là vient avec tous les outils (l'IDE visuel notamment) qui peuvent en rendre l'adoption agréable.
Mais je n'ai pas bien compris, en lisant cet article, en quoi un nouveau langage était nécessaire, quelles sont ses particularités. Je vais me documenter sur le sujet avant de classer Gravity dans la catégorie YAPL (Yet Another Programming Language, blague de vieil informaticien ^^)le 13/03/2017 à 21:16 -
raphcharMembre éclairéJ'ai regardé le site web qui est assez pauvre en l'instant. Ce qui m’intéresserait, c'est de pouvoir gérer la caméra, l’accéléromètre facilement, mais ça n'a pas l'air faisable en l'instant.le 14/03/2017 à 8:08
-
petitoursMembre chevronnéQuand on voit le boulot que c'est d'apprendre un nouveau langage et l’énergie qu'il faut au niveau communautaire pour développer les librairies puissantes et autres outils nécessaires à une programmation productive, un nouveau langage a besoin d'être percutant sur ce qu'il apporte.
Si de base il part avec le pire que l'on a pu avoir sur les langages précédents... perso je bloque complet sur le typage dynamique, je serais ravis d'en découvrir un avantage qui ne soit pas intrinsèquement son pire défaut.le 17/03/2017 à 10:12 -
tontonCDMembre actifJ'ai fait un tour sur la page github, et ça m'a l'air intéressant sur ces points :
- génère du code pour iOS ET Android, et en natif, rien à voir avec les frameworks genre Titanium
- migration aisée depuis Swift
J'ai essayé d'écrire des application iOS/Android en code commun natif, c'est pratiquement impossible (Objective-C <-> Java) surtout quand on aborde les threads. J'ai bien envie d'essayer ce produit.le 17/03/2017 à 10:31 -
SurferIXMembre chevronnéLes seuls qui subsistent sont C et C++, parce que tout bonnement, on ne peut juste pas s'en passer, ça sert à faire le coeur de tout ce qui tourne actuellement, y compris les langages de haut niveau... si je devais refaire ma carrière, je m'orienterais à mort C++ embarqué Linux et j'aurais de beaux jours devant moi jusqu'à la retraite... alors qu'en m'étant spécialisé Delphi, puis Php puis Python, tous ces langages s'apprennent tellement facilement qu'ils sont accessibles à n'importe quel débutant et donc leur valeur (et la mienne par conséquent) diminue d'autant....
Gravity est de la même veine : de l'interprété, même pas typé, bref, JavaScript me suffit largement dans le genre. Et ça gonfle même tellement tous les langages qui naissent "non typés", qu'ils finissent par le rajouter parce que ça n'est pas maintenable en entreprise (cf Php ici, et JavaScript va y arriver sûrement).
Bref aucun intérêt. Pour faire multiplateformes, Unity + leur UI parfait et qui s'adapte vraiment sur toutes les plateformes. En plus on développe en C# qui est proche du C++ avec quelques amélioration, que du bonheur. Gravity, non merci, et je lui laisse, pour ma part, zéro chances.le 17/03/2017 à 22:08