什么才是定制化IDE的核心价值?
写在前面
自 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 作为云研发工作台,核心价值是让前端工程化体系更进一步,提供需求-开发-测试-运维的完整链路支持
什么才是定制化IDE的核心价值?的更多相关文章
- Oceanus:美团HTTP流量定制化路由的实践
背景简述 Oceanus是美团基础架构部研发的统一HTTP服务治理框架,基于Nginx和ngx_lua扩展,主要提供服务注册与发现.动态负载均衡.可视化管理.定制化路由.安全反扒.session ID ...
- 使用beanstalkd实现定制化持续集成过程中pipeline
持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中, ...
- 网易云基于 Kubernetes 的深度定制化实践
本文由 网易云发布. 2017 年,Kubernetes 超越 Mesos 和 Docker Swarm成为最受欢迎的容器编排技术.网易云从 2015 下半年开始向 Kubernetes 社区贡献代 ...
- 定制化移动办公APP:打造企业专属的“钉钉”“纷享销客”,实现企业办公管理一体化
一.项目背景 随着信息化社会的高速发展,市场竞争日益激烈,传统的管理和办公系统多且复杂,用户需要使用多个系统才可完成一项工作,而且各个系统的界面和风格存在差异,造成了信息查找不便,大大降低了用户的工作 ...
- 定制Eclipse IDE之插件篇(二)
上文回顾:定制Eclipse IDE之插件篇(一) 延续上一篇的插件篇,这一篇将会讲到一个最关键的插件aptana. 一.aptana插件 官方的解释我就不说了,从下面图可以看到插件提供了什么功能,列 ...
- 定制Eclipse IDE之插件篇(一)
上文回顾:定制Eclipse IDE之功能篇(二) 在这篇文章中,我会将我定制eclipse用到的其他插件罗列出来. 一.汉化插件 Eclipse本身是英文显示的,我们能够通过插件汉化. 1. 选择 ...
- 定制Eclipse IDE之界面篇
为什么要定制IDE? 在工作时候,当公司有了自己的框架,给自己开放人员用,甚至是可以卖的时候,我们可以做成一个产品,而这个产品将包括框架本身.文档.工具.教程等等.工具之中最重要的莫过于开发 ...
- python+robot framework实现测报告定制化和邮件发送
前面已经介绍了python+robot framework自动化框架和基本原理的实现,详情请看 python+robot framework接口自动化测试 本章主要讲解报告已经产生那如何以自动化的方式 ...
- 初探机器学习之使用百度EasyDL定制化模型
一.Why 定制化模型 一般来说,各大云服务厂商只会提供一些最常见通用的AI服务,针对具体场景的AI应用则需要在云服务厂商提供的服务之上进行定制.例如,通常的图像识别只能做到分析照片的主题内容,而我的 ...
随机推荐
- df['']和df[['']]的区别
- bzoj2295【POJ Challenge】我爱你啊*
bzoj2295[POJ Challenge]我爱你啊 题意: 求一个字符串中有多少个"luvletter"(不包括引号).字符串长度≤100000. 题解: 连kmp都不用…… ...
- Vue小功能-视频播放之video.js
最近在练手一个小项目,想给首页增加一个视频介绍(如下图).涉及到了vue视频播放的功能,所以在网上了解了一下. 相关的插件是Video.js,官网讲解比较详细,我罗列出来,可以根据自己 ...
- DEBUG ArrayList
1,ArrayList面试必问 说说ArrayList和LinkedList的区别? ArrayList基于数组实现,LinkedList基于链表实现,不同的数据结构决定了ArrayList查询效率比 ...
- 9.CSMA_CD协议
先听再说,边听边说 载波监听多点接入/碰撞检测CSMA/CD( carrier sense multiple access with collision detection) CD:碰撞检测(冲突检测 ...
- Java继承多态
一. 父类引用指向子类对象父类名(接口名) 对象名=new 子类(接口)名称() 二. 父子继承关系中,成员变量重名1.直接通过子类对象访问成员变量 =左边是谁,就优先用谁2.间接通过成员方法访问成员 ...
- jmeter接口测试 -- status==400(Bad Request)
一.接口请求信息 二.错误的jmeter接口请求 1.请求内容 2.响应内容 三.正确的接口请求 1.看回原本的接口请求信息,company_id = null .这里也就不能空 四.原因分析 1. ...
- 本地ES集群数据通过_reindex方式迁移到腾讯云服务器(亲测有效)
本地ES集群数据通过_reindex方式迁移到腾讯云服务器(亲测有效) 随着业务量的增加,本地的ES集群服务器性能和磁盘空间有点不够使用,项目组考虑使用腾讯云服务器,以下是我测试的使用_reindex ...
- laravel 用户认证简单示例
一.模型代码: 实现接口:\Illuminate\Contracts\Auth\Authenticatable 并引入trait:\Illuminate\Auth\Authenticatable &l ...
- mongo安装和cmd运行命令
一.安装方式 安装mongodb :www.mongodb.com next-->complete-->Instal MongoD as Service 不勾选 --> Instal ...