5月7日,受疫情的影响,全球最大的开源社区GitHub也采用了线上的方式举办其技术峰会-Satellite 2020。每年的 Satellite都是一次业界盛会,而今年尤其的盛势空前,GitHub 一口气发布了四款新品:Codespaces、GitHub Discussions、Code&secret scanning 以及 GitHub Private Instances。
其中Codespaces也就是代码空间,堪称是程序员的神器,笔者感觉这是Github继去年底推出手机版版本APP之后的一次重大迭代。而手机版的Github略侧重于社交,而在线编程IDE则是帮助Github回归到代码本身。
在微软收购了Github之后,真是成了整个开源社区的社音,本次CodeSpace就是基于Vs Code的,Vs Code的方便快捷,大家想必都可想而知,有了这样的加持,参与开源项目的程序员们真的可以随时随地的贡献代码了。不过目前Codespaces还处于内测阶段,截止笔者发稿时,尚未拿到测试资格。所以现在还无法带给读者带来第一手的使用感受。
Cloud IDE大比拼
我们知道目前很多云服务商,在实践DevOps能力的过程中,云服务的客户往往会把需求、代码、构建、测试、发布、部署、运维、运营等工作全部从本地转移到云端,享受云服务带来的移动性和便利性。但是代码一直缺乏有效的上云方式,导致开发人员手中没有良好的工具,无法真正实现DevOps运维开发一体化的理念,因此一款云上Coding的开发工具,也是很多云服务商的必备神器。
在去年华为云开发者大会HDC.Cloud上,华为云发布了基于鲲鹏计算的开发者服务 — CloudIDE服务,为华为云的用户开发者提供了很好的云端开发体验。而当时体验过华为CloudIDE的小伙伴都在惊呼,这不就是VS Code,包括界面布置、插件体验都很熟悉,甚至不需要重新学习就可以把本地的开发工作直接移植到云端。开发一款云IDE,笔者总结有以下几个关注点:
逐步找到了开发者对于一款云端IDE的关注点:
体验:开发者已经掌握了一到两种桌面IDE的使用,再去学习新的IDE开发体验会给日常工作带来额外的负担,另辟蹊径的操作体验未必会被开发者接受。Visual Studio Code之所以能以轻量之身霸占热度之首,凭借的就是兼容各种开发语言的能力。不用再学习啦,节约多少时间!
成本:没人不关心钱的问题,只是程度不同。如果位于云端的IDE管理服务和语言服务过于重载,要么服务商吃不住(运营成本太高),要么用户受不了(要求配置太高)。原有的IDE框架还是过于重载,甚至需要两个容器才能支持一个用户实例。成本太高啦,劝退多少用户!
生态:“独行快,众行远”,任何平台都需要伙伴的聚合与共赢,不能指望自己可以搞定所有的事情,但是可以提供相关的方法。插件,就是为了满足定制化需要而出现的机制,可以说在各种桌面系统上已经有了极好的效果,支持插件也是一个必要的选项。开放插件生态,聚合多少伙伴!
价值:每一个服务都有它的商业价值,IDE服务除了完成编写代码和运行调试的基本能力,还要可以融入业务场景。Eclipse就是特别好的例子,当年IBM Rational基于Eclipse发布的ClearCase和ClearQuest客户端,结合日常编码,造就了良好的程序员工作闭环。基于场景集成,简化多少操作!
当时业界主流的IDE工具无非几种,Eclipse、Visual Studio、IntelliJ,直到今天这几款也依然是桌面开发者的首选。而具备web端能力的工具,大概有以下几款:
一、Eclipse Che
Eclipse Che是一个现代的、开放源代码的软件开发环境。它是一个通过提供结构化的工作区、项目输入、模块化扩展插件来支持Codenvy的引擎。Che可以用作桌面IDE,RESTful工作空间服务器,或作为一个创建新的工具SDK,支持一个有标签的Docker images启动一个默认Eclipse Che。实际使用来说的话,Eclipse Che对于Java更加友好,但是对于Python、Rust等语言功能支持不够强大,因此没有形成主流。