写在前面
自 2018 年初,就与 VSCode 结下了不解之缘,从一份选型报告开始,一蹉跎就是 2 年多
期间反复思索着一个挥之不去的问题:定制化 IDE 产品的核心价值是什么?
事实上,答案并不唯一,从不同角度看就有不同的价值理解
一.解决问题的角度
首先,IDE(集成开发环境)是一种通用工具,能够解决两大块问题:
开发体验:集项目管理、代码编辑、编译构建、调试等功能于一体,避免开发体验上的割裂感
效率:将相关工具套件收纳到开发环境中,降低零碎工具的学习、使用成本
一气呵成、顺滑流畅的开发体验,嘬着咖啡、高效产出的工作效率是每个开发者都想拥有的。一款通用 IDE 好比一张书桌,文件夹、稿纸、铅笔、橡皮擦全都在手边,书籍文献、咖啡、台灯也陈列在侧,坐在这样一张书桌前创作,体验和效率一定不会太差
而定制化的专用 IDE 通常是为了满足特殊需要,解决特定问题的,例如:
特殊技术方案(小程序、跨端技术等)的开发体验和效率问题:鼠绘创作需要更现代化的书桌,音乐创作可能需要完全不同的一些专业设备
业务特定的具体效率问题(模板项目生成、可视化辅助开发、性能诊断等):针对水彩画创作,专用书桌上放着带有工作室印章的水彩纸
上下游边界的协作效率问题(设计素材管理、发布流程接入等):将书桌连接到生产流水线,创作完成立即交付出去
用户的专业性问题(拖拽搭建,运营投放等):智能书桌面向非专业开发者,只要填一些表格就能快速生成作品,摁下按钮就能自动交付
P.S.一些专用 IDE 同时解决了以上几方面的问题,比如支付宝小程序 IDE同时解决了前三项问题
因此,从解决问题的角度来看,定制化 IDE 的核心价值在于:
专用:面向特定领域量身定制,在既定场景下能够提供顺畅、一致的开发体验和效率保障
集大成:从头到尾提供一条龙服务,不仅能够很好地补足工程链路的前半段(开发、调试),还能与成熟的后半段衔接起来
开箱即用:繁琐的、复杂度高的部分都被收进了 IDE 里,提供给用户的是一张整洁、简约的工作台
二.发展的角度
从一款产品发展的角度来看,定制化 IDE 要经历这些阶段:
生死存亡
兼容并包
连接融合
渠道生态
在不同阶段具有不同的核心价值
生死存亡
这个阶段的定制化 IDE 可能存在诸多不完善,比如:
核心能力少:能吸引用户的卖点不多
稳定性欠佳:使用中比较容易遇到问题
易用性差:有些功能用起来不那么顺畅
价值方面几乎没有明显的体现,因此其核心价值是听话,即可塑性强
因为此时产品还只是初具雏形,既没有形成用户习惯,也不用担心历史包袱,只要不是非常不合理的需求,就都可以做,前期少量用户的需求得以快速满足,作为一种正向反馈传递给宝贵的早期尝鲜用户,同时保持快速迭代,尽一切努力赢得一些核心用户
P.S.听话,难道不会被用户带偏吗?事实上,早期问题一抓一大把,用户提出的大多是明显的功能、体验问题,本就应该优先解决,只是顺带附送积极的正反馈
兼容并包
生存下来之后,开始拥有了一少部分核心用户,如何吸引更多的用户从通用 IDE 转换过来是该阶段的首要目标,常用策略比如:
细打磨:优先解决可用性、易用性问题,保证开箱即用
强引导:新工具优先集成到定制化 IDE 中,不支持 CLI 等其它方式,引导用户使用
接进来:现有工具/平台陆续接入定制化 IDE,逐步完善工作流
推出去:每版都放出一两个小惊喜,给犹豫观望的用户多一些信心
定制化 IDE 贴合业务场景的定制程度越高(与通用 IDE 的区别越大),业务开发对定制化 IDE 的依赖程度就越高,因此这一阶段的核心价值在于连接开发人员与工具/平台,将关键工具/平台接入到开发工作流中,触手可及。接入越多,工作流越完备越顺畅,整合提效的价值就越大
融合互补
关键工具/平台接进来之后,定制化 IDE 的专用功能已经相对完整,并且积累了一定规模的用户量,接下来更进一步的价值要通过融合互补来发掘:
融合:实现工具的无缝融合,进而产生 1 + 1 > 2 的组合效果
互补:对于在单一环节难以解决的问题,可以沿流程向上/向下追溯,通过工具链互补解决
工具链与集成开发环境(或者叫工作台)最大的区别在于,前者只是承接,而后者能够实现融合。此时定制化 IDE 的价值已经不仅限于解决特定环节的开发体验和效率问题了,而是着眼于整个工作流,集全工程链路之力解决之前难以解决的问题
渠道生态
融合互补的下一阶段是渠道生态,进入该阶段的标志是定制化 IDE 服务了 80%以上的目标用户,用户量增速变缓,平台属性凸显出来,此时可能的价值方向有:
渠道推广:定制化 IDE 连接着大量用户,新功能入驻即有机会获得大量用户,放大价值
孵化生态:孵化面向业务场景的差异化能力,如调试、测试
这一阶段,大要发挥大的优势,定制化 IDE 的能力支持从大场景转入小场景,从封闭走向开放,开启更多可能性,对应的核心价值是孵化生态,持续产生价值
三.布局未来的角度
前端工程化历经了这样几个阶段:
CLI 工具:脚手架、构建工具、调试服务等等
GUI 客户端:GUI 化的 CLI 工具,除交互方式外区别不大
定制化端 IDE:基于 IDE 扩展脚手架、构建、调试、发布、监控等工程链路能力
云 IDE:基于 Web IDE 扩展一系列工程链路能力,进入云研发时代
从百花齐放的 CLI 工具时代进入短暂的 GUI 客户端时期,接着掀起定制化端 IDE 的浪潮,或许最后将归于云 IDE 的巨幕之下
开源端 IDE 的日趋成熟,大幅降低了定制成本,贴合业务场景定制专用 IDE 成为可能,以源码为中心的开发环节被正式纳入了前端工程化体系,作为提升工程效率的下一个突破点
时至今日,以云 IDE 为中心的全云研发模式已经依稀可见:
基于 FaaS 的端云一体化开发是 IDE 上云的主要推力,伴随着 FaaS 带来的 BFF、SSR 技术升级、研发模式变化,云 IDE 作为云研发工作台,核心价值是让前端工程化体系更进一步,提供需求-开发-测试-运维
的完整链路支持