Go : le langage de programmation de Google va à l'assaut du mobile
Go 1.4 introduit le support d'Android

Le , par Hinault Romaric, Responsable .NET
Go se lance à la conquête des développeurs d’applications mobiles pour terminaux sous Android. Pratiquement six mois après la publication de Go 1.3, Google dévoile une nouvelle version de son langage de programmation.

Go est une alternative au langage de programmation C/C++. Il reprend ce qui a fait le succès de ces langages, tout en intégrant des nouveautés pour rendre le code plus concis, lisible et offrir plus de sécurité. C’est un langage compilé permettant de simplifier le développement d'applications concurrentes. Il est destiné notamment à la programmation système.

La version 1.4 de Go introduit comme nouveauté phare le support du développement d’applications pour Android. Il est désormais possible de créer des applications natives pour Android, en utilisant uniquement Go. Cette prise en charge est offerte à travers le référentiel « golang.org/x/mobile », qui contient des paquets pour générer des liaisons avec Java.

La prise en charge n’est pas encore complète, et permet pour l’instant de développer uniquement de simples applications Android. « À ce stade, les bibliothèques de support sont encore en cours de développement. Les premiers utilisateurs doivent s’attendre à rencontrer des problèmes, mais nous nous félicitons de l’implication de la communauté », explique Google dans un billet de blog.

Les API Go pour Android qui sont actuellement disponibles permettent « de concevoir des choses simples, comme des dessins sur l’écran, la production des sons et la gestion des événements tactiles, ce qui en fait une excellente solution pour développer des jeux », note un ingénieur de Google.

En plus de la prise en charge d’Android, le ramasse-miettes (garbage collector) du langage a subi de nombreuses améliorations afin d’offrir de meilleures performances. Go 1.4 dispose également du support des processeurs ARM sur la technologie multiplateforme Native Client, ainsi qu’AMD64 sur Plan 9.

De nombreux ajouts, modifications et optimisations ont été apportés à la bibliothèque standard du langage de programmation.

Go a été lancé par Google il y a maintenant plus de cinq ans. Le langage a eu droit à un court moment de gloire et depuis, séduit peu de développeurs, tandis que les langages C et C++ restent encore très populaires.

Télécharger Go 1.4

Source : Google


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Traroth2 Traroth2 - Membre chevronné https://www.developpez.com
le 16/12/2014 à 17:03
Prévisible, vus les problèmes entre Google et Oracle...
Avatar de Gugelhupf Gugelhupf - Modérateur https://www.developpez.com
le 16/12/2014 à 17:06
J'aurais plutôt parié sur Dart mais bon...
Avatar de youtpout978 youtpout978 - Membre expert https://www.developpez.com
le 16/12/2014 à 17:18
Citation Envoyé par Gugelhupf Voir le message
J'aurais plutôt parié sur Dart mais bon...
Dart est un langage pour le développement côté client sur le Web, ça aurait été compliqué de l'adapter pour d'autre plateforme sans cassé le lien qu'il a avec le web.
Avatar de air-dex air-dex - Membre émérite https://www.developpez.com
le 16/12/2014 à 17:35
ENFIN ! C'est très étonnant qu'ils n'aient pas fait ça plus tôt, surtout compte tenu de leurs démêlés avec Oracle. Maintenant que Java a amené les devs sur Android il ne reste plus à Google qu'à convertir ces derniers à Go.

Oui sinon ne confondons pas Dart et Go. Dart n'est juste qu'un langage de script Web comme le JavaScript (qui lui aussi a un avenir prometteur mais ceci est un autre débat). Rien à voir donc avec Go qui lui est un plus un langage compilé "système" comme le C et le C++. Personne ne confond JS et C/C++, alors pourquoi le faire avec Dart et Go ?
Avatar de swirtel swirtel - Membre éclairé https://www.developpez.com
le 16/12/2014 à 17:36
Justement, j'étais entrain de me dire que Go pourrait aider à remplacer Java dans le coeur d'Android et donc, de ne plus avoir le problème avec Oracle.
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 16/12/2014 à 18:23
Citation Envoyé par air-dex Voir le message
Rien à voir donc avec Go qui lui est un plus un langage compilé "système" comme le C et le C++.
Petite correction : Go est un langage compilé en code machine pour faire des applications natives, mais ce n'est pas un langage système.
Il n'est par exemple pas adapté pour des applications bas niveau avec accès direct aux ressources (drivers, noyau d'OS, mini-systèmes embarqué, ...), notamment par ce qu'il embarque un runtime pour gérer son GC obligatoire.

Citation Envoyé par swirtel Voir le message
Justement, j'étais entrain de me dire que Go pourrait aider à remplacer Java dans le cœur d'Android et donc, de ne plus avoir le problème avec Oracle.
Ce serait sans doute intéressant pour Google, mais on en est encore très loin : Java est tellement intégré au coeur d'Android qu'une telle transition prendrait des années.
Je ne pense pas qu'une telle transition soit prévue à court terme, ni même à moyen terme. Si Google voulait vraiment faire cela, depuis le temps que Go est sorti, ils auraient fait bien plus que juste un API Android minimale, à peine au niveau de celle déjà disponible pour le C/C++.
Avatar de youtpout978 youtpout978 - Membre expert https://www.developpez.com
le 16/12/2014 à 19:47
Surtout que Java est plus populaire et connu que Go (beaucoup apprenne ce langage à l'école ou en formation), c'est ça qui attire certain développeur, même s'il faut avouer développer en Java pour Android c'est pas la même chose qu'une appli Java classique.
Avatar de Vlozer Vlozer - Membre habitué https://www.developpez.com
le 16/12/2014 à 20:05
Citation Envoyé par Traroth2 Voir le message
Prévisible, vus les problèmes entre Google et Oracle...
Pourtant à la derniere io, la team android a semblée super dubitative quand à un hypothetique changement de langage (l'intervenant parlait alors de scala, ils etaient tous abasourdie, genre "comment? Y'a des langages mieux que java?)...
Là pour go faut pas se leurrer, ça se limitera simplement à quelques api de bases, la majorité de l'android framework sera accessible exclusivement par java pendant encore un moment... (et perso c'est ce qui me rebute le plus à faire du dev sur android...)

Citation Envoyé par youtpout978 Voir le message
Dart est un langage pour le développement côté client sur le Web, ça aurait été compliqué de l'adapter pour d'autre plateforme sans cassé le lien qu'il a avec le web.
Non, c'est un langage scalable qui s'execute sur une vm qui peut etre placée n'importe où: client/server/ligne de commande...
Toutefois, je pense pas que ce soit judicieux de prendre dart pour android, car à l'utilisation il est certe beaucoup plus confortable et moderne que java, mais il est aussi beaucoup moins rapide du fait simplement que son execution est moin complexe (pas de compilation bytecode)...

Citation Envoyé par youtpout978 Voir le message
Surtout que Java est plus populaire et connu que Go (beaucoup apprenne ce langage à l'école ou en formation)
Ouais, mais alors si tous le monde faisait ça on en serait encore au Cobol... Et moi si j'etais le pm d'un os, je m'en ficherait de perdre 100 traine-savates si ça me permet de rafler 10 dev emancipés derrière...
Avatar de Aurelien Plazzotta Aurelien Plazzotta - Membre éprouvé https://www.developpez.com
le 17/12/2014 à 1:39
Il faut du temps à une équipe pour faire évoluer un langage afin d'offrir la possibilité de développer des applications mobiles... or Google l'a fait en seulement 6 mois (passage de la version 1.3 à 1.4 de Go) !

Je suppose qu'ils ont adopté la technique du Minimum Viable Product pour produire la version 1.4. Le minimum syndical annoncé à l'aide des 3 API système (gestion des évènements tactiles, des sons et dessins), pour se lancer à la conquête du dév mobile, laisse clairement la part belle aux jeux videos mobiles, et séduire les développeurs du métier qui emploient déjà les langages C/C++.
Il est évident que Google concentre sa communication sur ce segment de marché.

Et pour ceux qui s'expriment à propos de Dart, il y a un méconnaissance et donc confusion. C'est un langage de programmation orienté objet, et non un langage de scripting (le même amalgame s'applique aussi entre les langages Shell (scripting) et Bash (OO) pour l'anecdote).

La deuxième erreur, plus grave concernant Dart, c'est de croire qu'il est seulement orienté client.
Or Dart est orienté serveur également. Oui, on peut écrire des serveurs HTTP avec. Oui, monsieur

Les sources :
http://en.wikipedia.org/wiki/Dart_(p...ming_language)
https://www.dartlang.org/docs/tutori...ls/httpserver/

Troisième chose, Google a toujours affirmé officiellement vouloir concurrencer le javascript avec Dart car le langage est orienté client. L'entreprise se révèle extrêmement habile en ne communiquant pas sur le fait que Dart soit aussi un langage orienté serveur, et de facto, concurrence pleinement Java.

Java. Oui, monsieur.
Google possède une forte dépendance à Oracle en raison du monopole de Java pour le développement d'applications mobiles. Ce qui a poussé Google a développer Dart, pour y mettre un terme (c'est une hypothèse de ma part).
Dart évolue à une vitesse foudroyante (version 1.8 et déjà normalisé par l'ECMASCRIPT en seulement 3 ans d'existence) et je subodore qu'il marche pleinement sur les platebandes de Java d'ici trois à cinq années, si ce n'est plus tôt afin d'alléger sa dépendance à l'écosystème Java et imposer sa propre technologie sur son OS embarqué Android. C'est une prévision arbitraire qui n'engage que moi, cela va de soi =)

Quant à Go, sa création a pour but de détrôner le langage D, et dans une moindre mesure C#, mais pas Java. Peut-être est-ce en raison du fait qu'il soit requis pour le développement d'applications mobiles tournant sous Android.
Ce sont des propos recueillis cette année par Seth Ladd sur stackoverflow, ancien core developper Go qui a sombré depuis du côté obscur du core dev de Dart, mais je ne retrouve plus la source :/
Avatar de gangsoleil gangsoleil - Modérateur https://www.developpez.com
le 17/12/2014 à 10:39
Donc si je comprends bien ce que tu dis, Google essaye de créer un concurrent de chaque langage qui existe, "car le notre il est mieux" ?

Tu parles du monopole d'Oracle sur Java, mais n'est-ce pas la même chose avec les langages créés par Google ?
Contacter le responsable de la rubrique Accueil