vlambda博客
学习文章列表

轻云IDE,重新定义云开发工具

文/吴方鸣 王腾 高飞



一、继古开今溯渊源


轻云IDE,重新定义云开发工具


传统开发模式下,新建一个应用不仅要关注自身业务逻辑,还需考虑应用安全级别、系统资源申请、集群并发处理能力、后期运维等一系列问题,这对开发者提出了较高要求,同时造成了研发效率下降,软件交付周期变长。

随着云计算技术的不断发展,无服务器计算应运而生,农行也紧跟技术发展潮流,建设了基于Serverless框架的轻量化云应用研发平台(轻云平台,QCloud)。平台提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等Serverless 化能力,由平台统一管理后端服务及资源,避免了开发过程中繁琐的集群搭建及系统运维工作,在提高整体资源利用率的同时,轻云平台还能够帮助开发者聚焦业务逻辑,简化应用开发难度,提升软件研发效率。







轻云IDE,重新定义云开发工具

Serverless应用开发区别于传统的应用开发模式,开发者在使用Serverless架构进行本地开发、调试、测试时,必然会面对没有本地开发环境,持续集成、持续发布流程复杂等困难,继续使用传统开发工具无法满足开发需求。为降低云开发入门难度,给开发者提供一个流畅的应用开发体验,打造一款简洁易用的轻云Serverless开发工具也势在必行。







轻云IDE,重新定义云开发工具

二、厚积薄发谱新篇


轻云IDE,重新定义云开发工具


为顺应农行“薄前台、厚中台、强后台”的发展规划,满足轻云平台发展需求,落地Serverless开发理念,经过研究对比业界众多云开发工具,平台推出了轻云开发工具(轻云IDE,QCloud IDE)。轻云IDE为开发人员提供前后端一站式开发、一键发布上云、云数据库、云存储一站式管理等多种开箱即用的云开发能力,为开发者屏蔽了站点资源、后端服务器资源、数据库管理、文件存储管理、网络安全、CI/CD等一系列问题,进一步降低开发成本,提高开发人员的工作效率。







轻云IDE,重新定义云开发工具

1. 立足开源,自主可控


轻云平台在首期建设阶段,选用Nodejs作为函数的开发技术栈。Nodejs是一个基于Chrome V8引擎的JavaScript运行环境,拥有Koa、Express等Web框架,它使得JavaScript成为可编写服务端的脚本语言,能够轻松完成应用与数据库和缓存等服务的对接,开发者只需掌握一门语言即可完成整个应用的开发。另外,Nodejs采用事件驱动、非阻塞I/O模型,保证了足够轻量和高效的同时,在处理大吞吐量、高并发等应用场景时优势明显。

为提供更好的云开发体验,经过对比分析多款主流IDE,轻云IDE最终决定基于开源可控的VSCodium,搭建面向轻云平台的Serverless开发工具。VSCodium是VS Code的开源版本,它遵循MIT开原许可协议,社区活跃度高、版本迭代迅速,相比Eclipse、IDEA等传统开发工具,VSCodium具有轻量快捷的优势,扩展能力更强,支持JavaScript开发,同时有丰富的插件库能够满足Java、Python等语言。另外,VSCodium基于Electron框架实现,可快速转型成为Web IDE,满足未来发展需求。







轻云IDE,重新定义云开发工具


2. 兼容并蓄,服务开发


轻云IDE服务于轻云平台,实现与轻云引擎、OAM、云数据库、对象存储等6个子系统的对接,向开发者提供了轻云应用基础管理、前后端开发等常用开发功能,以及全流程Serverless云开发能力,为轻程序移动应用提供开发、构建、发布、测试等全流程功能支撑,有效地降低了开发门槛。







轻云IDE,重新定义云开发工具

轻云IDE根据应用开发流程,将整体功能划分为我的工作区、前端开发、云函数开发、云数据库管理、云存储管理五个主要模块。通过轻云IDE,开发者可一键拉取云端应用模板,进行本地一站式前后端开发调试,支持本地代码一键发布上云,同时,轻云IDE还提供了云端组件监控能力,能够查询云端组件信息,监控组件发布状态,查询云函数实时日志,协助开发者定位云端异常问题,进一步简化开发调试复杂度。







轻云IDE,重新定义云开发工具

三、拨云见日展未来




轻云IDE,重新定义云开发工具


轻云IDE经过近半年的反复磨砺,帮助近十家分行开展试点应用开发,并有力地支撑了农行“平步轻云”轻程序大赛的顺利进行。为进一步提高云开发服务水平,更好地为薄前台应用提供技术支撑,我们将在现有功能之上,从以下两方面探索轻云开发工具未来建设思路。







1. 结合低代码开发,赋能场景金融


结合低代码开发,可以更好地支持Serverless云开发,提供更加强大的云开发功能。应用系统能够以Low Code Serverless模式开展建设,进一步降低开发难度,缩短应用交付周期,释放业务活力,简洁、高效地完成应用构建。另外,在Low Code模式下,业务人员也可以通过可视化界面,通过拖拽配置的方式快速实现面向简单业务场景的应用搭建,及时响应市场需求。








2. 纯线上一站式开发,提高研发效率


开发者不需进行本地环境配置,不需安装IDE软件,只需要浏览器联网即可随时随地开发。免安装的使用方式,也减少了操作系统或硬件带来的兼容性问题,将运行环境要求仅限制在浏览器端。同时,由于没有了本地安装软件,版本控制得以更好地发挥作用,利用线上自动更新机制,开发者无需进行复杂的本地软件更新即可使用最新的开发工具。







轻云IDE,重新定义云开发工具

结语







轻云IDE,重新定义云开发工具


2020年,轻云IDE项目组坚持探索创新,勇于突破团队技术局限,全面转型TypeScript技术栈,最终顺利完成轻云IDE建设目标,实现核心技术的自主可控。未来,项目组将继续秉持开拓创新精神,积极探索Serverless和低代码开发相结合的实践方案,进一步降低开发门槛,加速总分行业务创新速度,为打造农行丰富的金融产品线提供更加坚实的技术基础。


轻云IDE,重新定义云开发工具


北研平台研发一部开心谛听编辑部