一直以来,从0开始构建应用,都是一项复杂的工作。尤其是跨越手机、Web和桌面平台的程序。
这是一片无尽的复杂海洋,需要把技术堆栈融合在一起,来引导、编译、测试、部署、监控应用程序。
多年来,谷歌一直致力于让多平台程序开发流程更快、更顺畅。
经过几个月的成果,团队成功做出了Project IDX。
项目地址:https://idx.dev/
而关于实验的早期观点,团队称之为Angular Flutter Google Cloud Firebase。
基于PaLM 2构建的Project IDX
图片
Project IDX 是一种基于浏览器的开发体验,基于Google Cloud构建,由一个基础AI模型Codey提供支持,后者是由代码训练,在PaLM 2上构建的。
Vertex AI包括一套处理代码的模型,它们一起称为 Vertex AI Codey API,包括以下内容:
- Code generation API - 根据所需代码的自然语言描述生成代码。例如,它可以为函数生成单元测试。代码生成 API 支持该 code-bison 模型。
- Code chat API - 可以为聊天机器人提供支持,以协助解决与代码相关的问题。例如,可以使用它来帮助调试代码。代码聊天 API 支持该 codechat-bison 模型。
- Code completion API - 在编写代码时提供代码自动完成建议。API 使用您正在编写的代码的上下文来提出建议。代码完成 API 支持该 code-gecko 模型。使用该 code-gecko 模型可帮助提高编写代码的速度和准确性。
Project IDX的目的是,使用流行的框架和语言,更轻松地构建、管理和部署全栈Web和多平台应用程序。
另外,Project IDX也是建立在CodeyCode OSS上,所以无论你在构建什么应用,它都不会陌生。
谷歌团队分享Project IDX 的一个重要原因是,希望听到更广泛的开发社区的意见,关于什么可以帮助他们更快地工作。
以下是Project IDX的预览。
随时随地,快速上班
IDX项目的核心是这样一个信念:开发者应该从任何地方、任何设备上都可以开发程序,而且对于本地开发完全保真。
每个Project IDX工作区都具有基于Linux的VM的全部功能,以及托管在云中、位于开发者附近的数据中心的通用访问权限。
图片
导入现有应用,或开启新内容
Project IDX可以让我们从GitHub导入现有项目,这样就可以从上次中断的地方继续。
我们还可以用流行框架的pre-baked模板创建新项目,包括Angular、Flutter、Next.js、React、Svelte、Vue以及JavaScript、Dart和Python、Go等语言(后两个即将推出)。
图片
跨平台预览应用
在今天,创建一个成功的应用,意味着能够跨平台优化应用设计和行为,并按照用户看到的方式预览应用。
为了简化这些操作,Project IDX包含了内置的Web预览,以及即将推出的完全配置的Android模拟器和嵌入式iOS模拟器,这些都可以直接在浏览器中使用。
图片
AI加持
谷歌团队花了很多时间在编写代码上,而AI最近的许多新进展,也让这项工作效率倍增。
团队正在探索,如何通过PaLM 2模型,让Project IDX帮助开发者更快地编写代码,并且让代码质量更高。
目前Project IDX已经有智能代码完成、辅助聊天机器人和上下文代码功能,如添加注释和解释此代码。
图片
使用Firebase Hosting发布到网络
将应用投产的一个常见的痛点,就是该如何部署。
通过集成,谷歌团队使这项操作变得更容易了,只需单击几下,就可以部署Web应用的可共享预览,或者使用快速、安全的全球托管平台,部署到生产环境。
由于Firebase Hosting支持由Cloud Functions提供支持的动态后端,因此非常适合Next.js等全栈框架。
图片
一起构建IDX项目
现在,团队才刚刚开始改进端到端开发的流程,并在邀请开发者注册,成为首批成为IDX项目的人。
图片
参考资料:
https://developers.googleblog.com/2023/08/introducing-project-idx-experiment-to-improve-full-stack-multiplatform-app-development.html