速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Cloud IDE 是不是一个伪命题

  • 2023-01-29
    北京
  • 本文字数:4260 字

    阅读完需:约 14 分钟

Cloud IDE 是不是一个伪命题

编者按:去年 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(电话同微信)。



2023-01-29 12:275256

评论 2 条评论

发布
用户头像
好文!
我们需要更多地从 开发者体验 DevEx 视角来关注包括 IDE 在内的工具链、开发效率,而不是仅从工具或方法论的视角比如敏捷、DevOps等。所有的方法论和工具,最终都会回到人的层面;再好再先进的产品,一旦使用,本身就意味着用户或者团队选择了这个产品背后的方法论。
2023-01-30 10:17 · 广东
回复
用户头像
浏览器是云端开发的入口,目前这是不用怀疑的。但是使用浏览器开发乍看起来会解放开发人员手中的硬件,比如台式机,笔记本,但是算下来成本也不小。对于效率,网络问题显然比本地IDE的安装更让人沮丧。对于质量,云IDE和本地IDE地位一样,IDE就是IDE,提高质量的人不是IDE。
2023-01-29 22:09 · 北京
回复
没有更多了
发现更多内容

CCF C³ 走进百度:大模型与可持续生态发展

飞桨PaddlePaddle

人工智能 百度飞桨 文心大模型 重磅活动

更方便的集成使用!IoTDB plugin 上线 Grafana 官网!

Apache IoTDB

2023-08-14:用go语言写算法。给出两个长度相同的字符串 str1 和 str2 请你帮忙判断字符串 str1 能不能在 零次 或 多次 转化 后变成字符串 str2 每一次转化时,你可以将

福大大架构师每日一题

福大大架构师每日一题

Go 常量

小万哥

Go 程序员 云原生 后端 开发

ARTS 打卡第 5 天

自由

ARTS 打卡计划

CPU 缓存行

红袖添香

Java 多线程 MESI 缓存行 伪共享

“数智未来 因你而来”,鲲鹏&昇腾创新大赛2023湖北赛区决赛正式启动

彭飞

深度开发者故事 | 华为云API Explorer 自动化运维的得力助手

华为云PaaS服务小智

华为 API 华为云

可行性研究报告编制方案

金陵老街

SpringBoot3集成Redis

Java redis 架构 springboot SpringBoot3

C++11时间日期库chrono的使用

梦笔生花

为什么要做Redis分区?

百度搜索:蓝易云

redis 云计算 Linux 运维 云服务器

华为云API Explorer:自动化运维的得力助手

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

汀丶人工智能

人工智能 自然语言处理 文本匹配算法

SAM适配下游任务的探究:SAM Adapter

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 8 月 PK 榜

使用Logstash同步Mysql到Easysearch

极限实验室

MySQL Logstash ELK easysearch

分布式那些事儿-浅谈高并发分布式架构演进路径

HelloGeek

分布式 微服务

Ubuntu 20.04 安装VNC Server的教程。

百度搜索:蓝易云

云计算 Linux ubuntu 运维 vnc

火山引擎DataLeap的Data Catalog系统公有云实践

字节跳动数据平台

大数据 数据中台 企业号 8 月 PK 榜

华为云GaussDB(for Influx)单机版上线,企业降本增效利器来了

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

使用 Amazon MemoryDB for Redis 作为 JuiceFS 的元数据引擎

亚马逊云科技 (Amazon Web Services)

Amazon

【第1讲】Python3.11的下载、安装和卸载,有手就能学会

程序员晚枫

Python 安装 入门

读《芯片浪潮》,学习台积电张忠谋的管理之道

博文视点Broadview

如何精准预测天气?火山引擎ByteHouse与大地量子这么做

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号 8 月 PK 榜

浅谈统一权限管理服务的设计与开发

百度Geek说

百度 数据中心 企业号 8 月 PK 榜 权限服务

MySQL 执行计划详解 | 京东物流技术团队

京东科技开发者

MySQL 数据库 explain关键字 企业号 8 月 PK 榜

NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

汀丶人工智能

人工智能 自然语言处理 文本匹配

鱼龙混杂的网络营销行业:入行新人如何规划职业

石头IT视角

质效提升 | QA不做业务需求测试,你怎么看?

laofo

DevOps cicd 研发效能 持续交付 质量赋能

低代码平台轻松玩转业务规则

鲸品堂

低代码 低代码开发 企业号 8 月 PK 榜

Cloud IDE 是不是一个伪命题_服务革新_张海龙_InfoQ精选文章