寫在前面
自 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 作為雲研發工作臺,核心價值是讓前端工程化體系更進一步,提供需求-開發-測試-運維
的完整鏈路支援