¿Qué es Project IDX?
Este es un nuevo servicio Cloud experimental (de momento) desarrollado por Google, el cual ofrece un editor de codigo completamente basado en la nube, es decir que este servicio es un Visual Studio Code en la nube. Lo que hace tecnicamente es que se crea una maquina virtual para cada uno de tus proyectos que crees
Entre las caracteristicas principales de este editor podemos encontrar:
- Editor basado en Cloud completamente, lo que significa que permite llevar tu flujo de trabajo de desarrollo en un abrir y cerrar de ojos, respaldado por la seguridad y escalabilidad de Google Cloud.
- Tambien puedes compartir estos entornos de trabajo con otros desarrolladores o cuentas
- Permite Desarrolla con frameworks y lenguajes populares, como Angular, Next.js, React, Svelte y Flutter. Ademas Pronto serán compatibles con Python y Go. Y También podras importar tus aplicaciones existentes desde GitHub, y compatibilidad con la mayoría de las stacks tecnológics.
- Optimizacion para multiples plataformas: Project IDX te permite obtener una vista previa de tus apps multiplataforma completas de pilas completas, como los verían tus usuarios, y pronto admitirá vistas web integradas en varios navegadores, emuladores de Android y simuladores de iOS.
- Codifica más rápido con la IA generativa: Trabaja de forma rápida y eficiente con la asistencia de IA integrada de Google, incluida la generación y compleción de código, la traducción de código entre lenguajes de programación, la explicación de código y mucho más, todo con la tecnología de Codey, un modelo fundamental de IA entrenado con PaLM 2. Más información
De momento en este tutorial Project IDX se encuenta en una versión preliminar pública, es posible que los productos y las funciones de versión preliminar tengan compatibilidad limitada, y que los cambios en los productos y las funciones de vista previa no sean compatibles con otras versiones de vista previa
Configuracion Basica
Es necesario activar las cookie de terceros: https://developers.google.com/idx/guides/get-started?hl=es-419
Creación del Proyecto
Creacion de Proyectos web: HTML, React (con Vitejs), Nextjs, Vue y Svelte
Proyecto en blanco. Cuando se instala un proyecto vacio, este solo creara una carpeta .nix y si escribes comandos de interpretes esto lo instalara, por ejemplo si ejecutas
node --version
te preguntara si quieres instalarloInstalar extensiones de Visual Studio code como
React ES7 Snippets
, o temas comoTokyo Night
y muchas otras extensiones y temas más, aunque eso si, no esperen encontrar todas las extensiones porque el sitio de donde se instalan las extensiones es Open VSXVer un Preview tanto del frontend como tambien probar rutas de backend, aunque de momento esto al parecer esta mas enfocado en usarse para desarrollar aplicaciones con interfaces ya sea web o movil
Tambien provee un generador QR para que puedan abrir directamente la aplicacion desde el movil y probar su proyecto desde alli.
Personalizacion
Project IDX usa Nix para poder permitir a los desarrolladores añadir sus propias herramientas a cada entorno de desarrollo.
Por ejemplo en el archivo .idx/nix.dev
actualiza la seccion de la siguiente forma para instalar Nodejs en su version 18:
...
packages = [
# pkgs.python3
# pkgs.go
pkgs.nodejs_18
];
...
Puedes encontrar otras herramientas aqui:
npm install -g @nestjs/cli
nest new backend
Otras caracteristicas a notar:
- Tambien puede funcionar como una Aplicacion web progresiva
Conclusion
Hasta el momento Project IDX luce como un editor bastante util sobre todo para aquellos desarrolladores que trabajan con entornos de la nube, y claro al estar en beta, este aun tiene muchos erroes comunes en cuanto a la creacion de proyectos, como que a veces tarda mucho en crear un proyecto, o el asunto de configurar
De momento no creo que sea una competencia directa a Visual Studio Code, sino mas a servicios como Github CodeSpaces, Repl.it, o AWS Cloud 9, pero si creo que al tener la capacidad de ejecutar maquinas virtuales en la nube este si podria volverse una opcion para desarrolladores de aplicaciones