编者按:去年 11 月初,GitPod 在 A 轮融资中获得 2500 万美元,以兑现 Cloud Development Environments 的承诺。一周后,GitHub 宣布 CodeSpaces 将面向所有 GitHub 用户开放,每周免费使用 60 小时。这让人感觉好像我们突然就发展到了“云端开发元年”。代码编辑器几乎是每个开发人员每天都在使用的工具,不少人老早就认为开发环境最终会迁移到云端,这种创新理应在软件行业中迅速推进,但这个演变过程实际上持续了很多年,也比我们想象中的难很多。国内 CODING 创始人张海龙在这个领域探索了八年,看过各式各样的产品,对 IDE 技术发展有着深刻的认识,通过这篇文章,他为我们讲述了 Cloud IDE 在发展中的迷茫与希望。
最开始做 CODING 的时候,我们想了一个 Slogan,“Coding Anytime Anywhere”。这确实是一个很美好的想象,程序员畅想在浏览器中完成所有开发工作的场景都会激动。要实现这个梦想得有一个必不可少的工具那就是 WebIDE。我们从 2014 年底开始做 WebIDE,当时的想象到现在其实也不过时。
从 WebIDE 到 Cloud IDE
当时做的最好的 WebIDE 叫做 Cloud 9,成立于 2010 年。我们当时做的也有部分借鉴了 Cloud 9。可惜的是,Cloud 9 在 2016 年卖给了亚马逊。当时有些不解,但我现在完全理解了。在探索了这么多年以后,Cloud 9 的团队应该是看清楚了 IDE 这个品种的下一代,应该不仅仅是搬到浏览器里那么简单,但究竟是啥,没想好。
另外一家叫做 Koding,同样成立于旧金山,不过比 Cloud 9 晚了两年,成立于 2012 年。因为名字的原因,我们一度把 Koding 当成了竞品,虽然业务上完全没关系。Koding 在探索了几年 WebIDE 的方向以后,彻底转型了。你现在去他们官网,你甚至会发现他们已经从 WebIDE 开发者变成了 WebIDE 的反对者。能写出这样的文案,那得是受了多大的伤害!
不管 WebIDE 成没成,但云计算在过去的五六年获得了长足的进步,彻底渗透了各个行业。而 Web 形态的 IDE 似乎跟云有着天然的整合优势,于是 Cloud IDE 这个名词渐渐的替代了 WebIDE/Online IDE。
穿越周期的 IDE
纵观软件架构的发展历史,从 C/C++,Delphi,到 Java,JavaScript,从单体到 CS 到 BS 到现在的微服务,每一个时代都有一个相对垄断的软件架构,现如今这个垄断者就是 K8S。一般来说,新的技术架构会带来很多新的机会。就在软件这个领域来说,安全就是典型的随着每一次软件架构的变化产生新机会的领域。现在提倡的容器安全,DevSecOps 等等以前都是不存在的概念。但我们发现虽然软件架构的迭代日新月异,编程世界的语言框架百花齐放,但开发者用的编程工具似乎没有太多变化甚至在收敛的。就拿 Java 来说,曾经还有 JBuilder,NetBeans,而现在几乎是 IntelliJ IDEA 一家独大,Eclipse 也在萎缩。云原生来了,微服务来了,我们似乎还是在用那些工具写代码。目前全球范围内编码工具的主要供应商只有两个,微软的 VS 系列以及 JetBrains 的 IntelliJ 系列。微软开源了 VS Code,大量的 Cloud IDE 产品都是基于开源 VS Code 的魔改。有意思的是,这两家似乎对于 Cloud IDE 这个概念一直都是不感冒,迟迟没有动手,似乎就是在岸上看着你们这帮创业者的表演,一脸困惑。(以免误会,特别说明一下这两家最近是有 Web 形态 IDE 推出的,但不是重点。)
写到这里我突然想起了汽车行业。电气化架构来了,冒出来很多很多新的汽车品牌,但是很神奇的是你发现,造车新势力的头牌蔚来,竟然是江淮代工的。从这个角度来看,电动车行业确实可以分为特斯拉和其他。
场景在哪里
为什么这两家编程工具巨头都不搞 Cloud IDE 呢?这个问题困扰了我很久。冲动的创业者往往追求的是炫酷,而成熟的企业家追求的是实用。软件工程领域三大问题:开发效率,开发质量,可维护性。任何一个工具的成功必须解决这里的一个或者多个问题。在我们 2015 年对于 WebIDE 的想象视频中,定义了一些场景,例如临时修 Bug,新入职的开发 On board 等等,其实都是很小的 corner case,这些场景占据整个开发场景的时间不到 1%。在这个 1% 里面解决问题能有多大价值呢?
后来我们又尝试了很多场景,例如教育,培训,招聘。这些场景看起来都很性感,但真正深入其中你才发现 IDE 在垂直场景里其实是小问题。例如招聘,提供一个在线 IDE 让面试者现场编写代码看起来是一个很酷的应用,面试官可以可以跟面试者对着代码交流互动,实际上这个场景的绝大部分问题都可以通过腾讯会议解决,而真正作为生产力工具的 IDE 的核心能力,例如快速创建工程,代码提示,调试等等能力在这个场景下毫无作用。面试这个场景真正的痛点是简历来源,简历质量,以及考察的问题跟岗位的匹配度等等,所以你看很多做面试的到最后都去做题库,或者去做了猎头。
Cloud IDE 很炫酷,很吸引人,从我们的新增用户就可以看出来。我们的 Cloud IDE 上线这么多年不需要推广都会不断的有新增,但是没有留存。几十万的注册用户,日活几百。这个问题已经很明显了:用户来了,但是由于产品不解决实际问题,看看就又走了。软件工程三大问题,Cloud IDE 一个都没解决。
有一个产品叫做 Replit,同样来自旧金山的公司,最近引起了人们的关注。从编写轻量级的片段式代码起家,Replit 已经吸引了超过 1000 万的用户。Replit 说它是个 IDE,但作为一个专业开发者,你打开 Replit 的界面,你会感觉这个 IDE 简陋到惨不忍睹,要啥没啥。但为啥 Replit 能成功呢?因为它一开始就不是给专业开发者设计的产品。一个用 IntelliJ IDEA 的开发者是不可能转投 Replit 的怀抱的。但是作为编程新手,Replit 给他很好的编码体验,啥都不用管,上来就可以写代码,并且支持几乎所有语言。有点像美图秀秀和 Photoshop 的关系。你去看 Replit 的宣传,它一直在强调“Learn”这个关键词,这就是定位。在这个轻量级片段式代码的场景下,它很好的解决了开发效率问题。Replit 去年就 1000 万用户了,今年肯定更多。但是全球才多少开发者?美国加欧洲加起来估计勉强 1000 万。说 Replit 的市占率是 100% 肯定是不对的,你会发现你身边几乎没人用这个产品。Replit 的定位就不是专业开发者,它这个 1000 万用户可以说都是不会写代码的人,或者说不是以写代码为生的人。它没有去抢微软和 JetBrains 的蛋糕,重新画了一块蛋糕。然而 Replit 的编码能力进化很快,将来会是什么格局,让我们拭目以待。
PDA 的故事
在思考 Cloud IDE 尴尬处境的时候,我想到了 PDA,这个产品的历史角色似乎跟 Cloud IDE 有点像。最早 Apple 提出了 PDA(Personal Digital Assistant) 的概念,核心目标是要把电脑揣进口袋。Apple 推出的产品叫做 Newton。后来还有各种各样的公司推出了 PDA 产品,包括大名鼎鼎的黑莓。从操作系统的角度来看,各大公司也为 PDA 开发了各种各样的操作系统,包括 Newton OS,Palm OS,Symbian OS,Windows Mobile。但无一例外所有硬件和软件最后都败给了 iPhone。事实证明 iPhone 才是那个真正的下一代手机,真正的 PDA。而 Newton,黑莓等等就是过渡产品。其实各个领域都会在特定的历史时期出现这种类似于“油电混动”的产品。
乔布斯回归 Apple 以后,果断的砍掉了 Newton 产品线。乔布斯砍掉它的原因并不是不 buyin 它的愿景,而是无法理解它的形态,正如他讨厌手写笔的描述:“God gave us ten styluses,” he would say, waving his fingers. “Let’s not invent another.”。当时的苹果摇摇欲坠,砍掉这个产品线解放了很多优秀的工程师,最终找到了正确的方向 iPhone。
PDA 的失败并不是产品定位问题,而是产品实现的时候杂糅了太多过去的产品遗产,使得这个新产品并不能在想象的场景中带来颠覆性的体验。“把电脑揣进口袋里”,这个目标是好的,但也具有一定的误导性。这个新设备的操作体验是不是真的有必要是一台电脑?Windows 那么成功,但是 Windows Mobile 却很失败。电脑拥有一个全键盘,所以黑莓也搞了一个,也是很失败。iPhone 抛弃了这一切,全新的硬件,全新的操作系统,重新定义了 PDA。iPhone 进化了 15 年了,但概念还是那个概念。取代 iPhone 的会是什么呢?延续现有产品思路的想法大概率都是不成的。
云端开发
软件工程的下一个大时代是什么?人工智能写代码吗?Copilot 很成功,但依然是辅助。人工智能写代码就跟全自动驾驶一样,我持保留意见。我更相信软件工程的下一步是云端开发,Cloud Development。我们一定需要一个 Cloud IDE,但目前 Cloud IDE 的问题跟 PDA 类似,杂糅了太多当前 IDE 的特征。我相信未来云端开发的 IDE 一定不是现在 IDE 的样子。微软收购 Github 以后做的一个跟云结合的大动作是 CodeSpace。你说 CodeSpace 算不算 Cloud IDE?Github 这么大的用户量,事实上 CodeSpace 的用量也就一般。而且 CodeSpace 还可以对接桌面版的 VS Code,也就是 Web 形态的 IDE 并不是核心。这里多说一句,只要还是人类在写代码,就需要编辑器。目前的编辑器技术都是国外团队做的,比如 Monaco,ACE,Code Mirror。我们去年找遍了没有在国内找到一个做编辑器的团队。但却看到很多拿着现成编辑器包装成 IDE 的团队,让我有一种舍本求末的感觉。
在这个领域探索了八年,看到各式各样的产品熙熙攘攘,来来往往,就像飘在空中的蒲公英,看着很近就是抓不着。Cloud IDE 的故事必将继续,新事物的产生必定有很多没有结果的探索,都值得尊重。与此同时,我们是不是可以对未来的编程场景想象的更大胆一点,或许它就不该长的像个 IDE。
作者简介:
张海龙,CODING 创始人,技术创业者 & 连续创业者。复旦大学软件工程学士毕业,后就读 CMU(卡内基梅隆大学)计算机硕士。毕业后曾在 Oracle (甲骨文软件系统有限公司) 任职高级软件工程师。具有超 10 年的技术背景,对开发者社区的运营和生态圈有深刻的理解和实战经验。
今日好文推荐
阿里辟谣海外建全球总部;科技巨头加速裁员,商学教授直呼企业管理层愚蠢;谷歌Fuchsia OS部门遭遇重大打击 | Q资讯
修完又复活!史诗级Log4j漏洞爆发1年仍“阴魂不散”,下一场暴雷可能已在路上
活动推荐
2023 年 2 月 5 日 -7 日,QCon 全球软件开发大会将落地北京,美团研发质量与效率部高级技术经理俞超老师将在【研发效能提升】分论坛分享《Cloud IDE 在美团从 0 到 1 落地实践》的精彩演讲。他将分享自己在探索与实现 Cloud IDE 在线编程平台中的实践成果与走过的弯路,与大家共同探讨,欢迎你来 QCon 北京现场打卡交流~点击超链接查看日程,目前 QCon 北京站团购享受更多优惠,感兴趣的同学可以联系票务经理:15600537994(电话同微信)。
评论 2 条评论