Project IDX repose sur deux éléments clefs : Google Cloud et Codey. Google Cloud fournit l’infrastructure nécessaire pour héberger les espaces de travail de Project IDX, qui sont des machines virtuelles Linux dotées de toutes les capacités d’un environnement de développement local. Codey est un modèle d’IA fondamental, entraîné sur du code et construit sur PaLM 2 (Program Learning Model), qui permet d’assister les développeurs dans la rédaction, la compréhension et l’amélioration de leur code.
Project IDX permet aux développeurs d’importer leurs projets existants depuis GitHub, ou de créer de nouveaux projets à partir de modèles préconfigurés pour des frameworks et des langages populaires, tels que Angular, Flutter, Next.js, React, Svelte, Vue, JavaScript, Dart, et bientôt Python, Go, et d’autres. Project IDX intègre également Code OSS, la même base de code qui alimente Visual Studio Code, ce qui rend l’interface familière aux développeurs habitués à cet éditeur.
Project IDX offre aussi la possibilité de prévisualiser son application sur différentes plateformes, grâce à un aperçu web intégré et, prochainement, un émulateur Android et un simulateur iOS, tous disponibles directement dans le navigateur. Ainsi, les développeurs peuvent optimiser leur design et leur comportement en fonction des besoins des utilisateurs.
Enfin, Project IDX facilite la publication sur le web, en s’intégrant avec Firebase Hosting (et Google Cloud Functions), qui permet de déployer une version partageable ou une version finale de son application web avec une plateforme d’hébergement rapide, sécurisée et mondiale, en quelques clics.
IDX n'est pas encore disponible pour le grand public. Google a créé une liste d'attente pour les développeurs intéressés.
Codey a été annoncé en mai lors de Google I/O, sa conférence annuelle orientée développeurs. Codey n'était pas non plus disponible au public à l'époque. Il est ensuite apparu dans Google Colab, un service hébergé Jupyter Notebook pour les développeurs Python, où il utilise l'IA pour suggérer le code approprié. Codey sous-tend également Studio Bot, l'assistant de code AI intégré à Android Studio, un EDI installable pour les développeurs Android.
Google a déjà tenté cette aventure
En 2010, Mark Miller, un ingénieur de la société, a mentionné l'EDI cloud interne Brightly dans un message sur la liste de diffusion Dash. Ce message a finalement engendré le langage de programmation Dart.
Puis en 2012, Google a ouvert un autre EDI cloud nommé Collide, que l'entreprise a cessé de développer. Collide a ensuite été forké et semble désormais être inactif.
Mais comme indiqué ci-dessus, Project IDX est différent car il dispose de l'IA, en particulier Codey, un modèle de base de texte à code qui peut être intégré dans un SDK ou une application pour fournir la complétion de code, la génération de code et une qualité de code améliorée (c'est en tout cas ce que prétend Google).
L'assistant de code rival de GitHub, Copilot, s'est avéré produire assez souvent du code bogué (sans parler de ses enchevêtrements juridiques). Malgré tout, le service est largement utilisé, car il peut produire des suggestions utiles et accélérer les projets. Le ChatGPT d'OpenAI se trompe également beaucoup lorsqu'on lui demande de résoudre des problèmes de programmation.
Ensuite, il y a Amazon CodeWhisperer, qui a produit du code correct seulement 31 % du temps, selon une étude publiée en avril 2023. ChatGPT et Copilot ont généré du code correct 65 % et 46 % du temps, respectivement.
La question de savoir si Project IDX peut être à la hauteur de cette norme pas très élevée ne sera pas claire avant la disponibilité publique.
Les Googleurs impliqués dans le projet semblent optimistes quant à la capacité de l'IA de l'entreprise à générer un code digne de ce nom.
« Avec Project IDX, nous explorons comment les innovations de Google en matière d'IA, y compris les modèles Codey et PaLM 2 alimentant Studio Bot dans Android Studio, Duet dans Google Cloud et plus encore, peuvent vous aider non seulement à écrire du code plus rapidement, mais aussi à écrire un code de plus haute qualité », ont-ils déclaré, même s'ils ont reconnu qu'il y avait encore place à l'amélioration.
L'argument de vente le plus convaincant du projet est peut-être sa promesse de générer des versions de prévisualisation pour plusieurs plateformes - initialement pour le Web, puis Android et iOS. Et il peut gagner des points pour la familiarité - Project IDX est basé sur Code OSS, la base du code Visual Studio gratuit et largement utilisé de Microsoft.
Présentation de Project IDX
Les Googlers Bre Arder, Kirupa Chinnathambi, Ashwin Raghav Mohan Ganesh, Erin Kidwell et Roman Nurik se sont chargés de rédiger un billet pour présenter l'outil. En voici un extrait :
De nos jours, obtenir une application de zéro à la production - en particulier une qui fonctionne bien sur les plateformes mobiles, Web et de bureau - peut donner l'impression de construire une machine Rube Goldberg. Vous devez naviguer dans une mer infinie de complexité, en associant une pile technologique qui vous aidera à démarrer, compiler, tester, déployer et surveiller vos applications.
Alors que Google travaille depuis des années à faciliter le développement d'applications multiplateformes - d'Angular et Flutter à Google Cloud et Firebase - il semble que nous puissions faire encore plus pour rendre l'ensemble du flux de travail de développement d'applications multiplateformes plus rapide et plus fluide. Il y a donc plusieurs mois, quelques-uns d'entre nous se sont réunis et ont commencé à expérimenter. Et aujourd'hui, nous sommes ravis de partager un aperçu très précoce de notre expérience, que nous appelons Project IDX.
Project IDX est une expérience de développement basée sur un navigateur basée sur Google Cloud et alimentée par Codey, un modèle d'IA fondamental formé sur le code et construit sur PaLM 2. Il est conçu pour faciliter la création, la gestion et le déploiement d'applications Web et multiplateformes complètes, avec des frameworks et des langages populaires. Le projet IDX est également basé sur Code OSS, il devrait donc vous sembler familier, peu importe ce que vous construisez.
Une grande partie de la raison pour laquelle nous partageons Project IDX aujourd'hui est que nous aimerions entendre la communauté des développeurs au sens large sur ce qui pourrait vous aider à travailler encore plus rapidement. En attendant, voici un aperçu de ce qui est possible aujourd'hui avec Project IDX.
Mettez-vous au travail rapidement, où que vous soyez
Au cœur du projet IDX se trouve notre conviction que vous devriez pouvoir développer de n'importe où, sur n'importe quel appareil, avec la pleine fidélité du développement local. Chaque espace de travail Project IDX dispose de toutes les fonctionnalités d'une machine virtuelle basée sur Linux, associées à l'accès universel qui accompagne l'hébergement dans le cloud, dans un centre de données près de chez vous.
Importez votre application existante ou démarrez quelque chose de nouveau
Project IDX vous permet d'importer vos projets existants depuis GitHub afin que vous puissiez reprendre là où vous vous étiez arrêté. Vous pouvez également créer de nouveaux projets, avec des modèles prédéfinis pour les frameworks populaires, notamment Angular, Flutter, Next.js, React, Svelte, Vue et des langages tels que JavaScript, Dart et (à venir) Python, Go, etc. Nous travaillons également activement pour ajouter un support de première classe pour plus de types de projets et de cadres. Si vous avez des suggestions, nous aimerions connaître vos commentaires sur les piles à prendre en charge.
Prévisualisez votre application sur toutes les plateformes
Créer des applications réussies aujourd'hui signifie optimiser la conception et le comportement de votre application sur toutes les plates-formes, et prévisualiser vos applications telles que vos utilisateurs les verraient. Pour faciliter cela, Project IDX inclut un aperçu Web intégré et, bientôt, un émulateur Android entièrement configuré et un simulateur iOS intégré, tous disponibles directement dans le navigateur.
Aide de l'IA
Nous passons beaucoup de temps à écrire du code, et les progrès récents de l'IA ont créé de grandes opportunités pour rendre ce temps plus productif. Avec Project IDX, nous explorons comment les innovations de Google en matière d'IA, y compris les modèles Codey et PaLM 2 qui alimentent Studio Bot dans Android Studio, Duet dans Google Cloud et plus encore, peuvent vous aider non seulement à écrire du code plus rapidement, mais aussi à écrire du code de meilleure qualité. Actuellement, Project IDX dispose d'une complétion de code intelligente, d'un chatbot d'assistance et d'actions de code contextuelles telles qu' « ajouter des commentaires » et « expliquer ce code ». Nos capacités d'IA n'en sont qu'à leurs débuts et nous travaillons à rendre IDX AI encore meilleur pour vous aider dans votre travail.
S'inscrire sur la liste d'attente
Source : Project IDX
Et vous ?
Que pensez-vous de ce projet ?
À la lumière des erreurs répétées des IA de la concurrence en matière de génération de code (notamment l'assistant de code rival de GitHub, Copilot, ChatGPT d'OpenAI ou même CodeWhisperer d'Amazon), la mise en avant de cet élément est-elle un argument massue selon vous ? Dans quelle mesure ?
Avez-vous déjà utilisé Copilot ? Si oui, qu'en avez-vous pensé ? Sinon, pourquoi ?
Partagez-vous l'idée selon laquelle IDX serait le Copilot-killer ?
Voir aussi :
3 solutions au problème des 3 couches : le développeur Ophir Lojkine propose d'éliminer la complexité accidentelle et la duplication des efforts en choisissant la technologie adaptée à chaque problème