您当前的位置:首页 > 电脑百科 > 软件技术 > 软件技术

微软,做IDE还得看它

时间:2022-07-12 15:45:42  来源:  作者:南方葵籽

代码编辑器/编译器的江湖是竞争激烈的战场,Visual Studio Code作为一个后生晚辈,是如何在一众神器之中崛起的,它的故事值得一看。

 

VS Code 之父 Erich Gamma 作为设计模式 “四人帮“ 作者之一,软件模式发展的先驱,开发了 JAVA 单元测试框架 JUnit,更辉煌的是,在 IBM 主导开发了 Eclipse IDE 编辑器,是当年最流行的 编辑器/IDE。

可是,Erich Gamma 觉得有点不太对,未来是属于自己的 Web ,我要在 Web 打造像桌面端一样的开发体验。

在那个 IE 6 浏览器很香、jQuery 是最先进前端框架的年代,大佬果然是大佬,至少比一般人往后看10年。

同时 IBM 也江河日下,这个时候微软抛出橄榄枝,“入伙吧,未来是云时代,来做 Azure 的 Web 端编辑器”。Azure 刚于2010年发布,需要一个 web 端的编辑器。

双方一拍即合!

2011 故事开始 - Monaco Editor

因为有 Eclipse IDE 的开发经验,很快撸了一个 Web 端的编辑器。猜测是因为 Erich 喜欢去摩纳哥旅游,起名叫 "Monaco"。

这是一个 纯 Web 的 Editor,VS Code 前身。也是目前 VS Code 使用的 editor,很快提供给 Azure 用户使用。

Monaco 的特点就是“快“。性能吊打 Ace 和 CodeMirror。这也是 VS Code 至今的原则:不使用任何 UI Framework,这是为了追求极致的性能,尽可能接近 DOM,做到每一个性能损耗点都能完全控制。

2013年:全面转向 TypeScript

JS 语言设计的时候太过仓促,留下很多怪癖,且动态类型导致很多问题在运行时才能发现,开发像 VS Code 这样的项目难堪重任。

想一下如果没有 TS 的类型校验,重构一个大型的 JS 将会是怎样的灾难!

这一次,幸运又一次降临在 Erich。他是同事兼好基友 Anders Hejlsberg 开发了 TypeScript。

从 2011 年 Monaco 就使用 TS,感觉越用越好,2013 年决定全面切到 TypeScript。更幸运的是:据说 Anders Hejlsberg 有一个怪癖,喜欢用一个文件写所有代码(待求证),所以大文件特别多,他也是 Monaco 的重度用户,有他的加持,Monaco 性能不逆天才怪。因为转到了 TypeScript,给 VS Code 的技术打下来坚守的基础。

2013年:差点挂掉的一年

开发了 3 年的工具,虽然性能逆天,但致命的缺点是月活只有 3000 用户!“你到底为公司创造了什么价值?” Erich 也面临灵魂拷问。算了一下,用户数至少 x10 才能存活。但做 Web Editor 大概也只能这些用户,继续搞 Monaco 还是换一个新赛道?怎么办?

2014年:机遇来了

2014年,微软开始全面转型到生产力工具和云优先。从只考虑 windows 平台主要考虑 macOS、linux、Windows 跨平台,并全面拥抱开源。但微软缺少一个跨平台的开发工具,尤其是这个时候 Web 开发者开始迅速增长。

Erich 意识到机会来了。但 2014 年的浏览器还是不够给力,前端项目越来越重,需要大量的文件处理。不是一个 Monaco 在线编辑器可以搞定的。

Erich 面临艰难选择:继续发展至来的 Web 编辑器 Monaco 还是改到 Desktop 版的 Editor/IDE???

最终:结果大家都知道了,Erich 选择了比开发者更能接受的 Desktop Editor/IDE。

方法也简单,用 Electron 包壳 Monaco。并改了个网红潜质的名字 “VS Code“,几个月就搞好了。

2015年:终于它来了 - VS Code

为了尽可能多的 MS 人使用,提升业务价值,VS Code 选择在 BUILD 大会上正式发布。当时最成功的一个 demo 是演示 Linux 下调试 .NET 应用。但当时很多功能停留在 Demo 上,比如很多人期待的 Extension 扩展 API,是在 6 个月后上线的。

2016年:多语言支持:LSP(Language Server Protocol)

开发过 VS Code 插件的朋友应该很熟悉 LSP,可以扩展其他语言支持。

微软,做IDE还得看它

 

LSP第一个使用 LSP 接入支持的就是 Java。在一个 Hackathon 上完成启动。

2017~2019年:开发 VS Code Remote

WSL 帮了大忙,不需要处理不同操作系统文件系统的差异。2020年:重返 WebVS Code Desktop 版本深度依赖了各种 Node.js File API。所以即使是 Electron 应用移植到 Web 也是需要花不少时间的。

微软,做IDE还得看它

 

也是在 2020 年,出现很多在线的 IDE/Editor 开发工具,低代码工具满天飞,他们都应该或多或少感谢 VS Code。

好了,历史科普到此结束。结论以下是我个人总结,为什么 VS Code 能翻盘

1、性能够快!

相信很多从 Sublime/Atom 转过来的用户,包括我自己,都是因为当初被 VS Code 性能折服对于工具来说,任何时候“快”都是竞争力。快是因为有足够的技术积累。

2、顺应时势

要有预见未来的理想主义,也要能从现实中找到一个可行路径。

虽然 Erich 在10年前就押宝 Web 编辑器,但当时时机确实不成熟啊,如果不转成 Electron 套壳,活不过2014年。

3、积累丰富,倾听用户声音,持续优化,坚持 10 年

定好了大方向 Web Editor/IDE,解决了生存问题(帮助微软做跨平台开发),接下来就看谁能扛的久。

去年 2021 年1月份数据,VS Code 解决了 100K 个 issue。这是时间的味道,想象一下,修 10万个 bug 的软件细节能不好吗。

有 Anders Hejlsberg 这样的超级用户,并给他带来了TS

强大的生态,丰富的扩展。生态和产品像鸡和蛋的问题,如果产品不好也没法做大生态。所以本质还是 VS Code 本身功能够好,架构优雅,方便扩展。

4、运气好

机会是留给有准备的人,当微软2014年宣布转型的时候,恰好需要跨平台编辑器,Monaco 刚好准备好。

顺应了微软大的转型。在商业公司里做开源,懂的都懂,开源不带来营收,如果无法解决“业务价值”问题,注定发展不大,很容易在资源抢夺过程中被拆解,看看 React 团队的人员更换速度。

提前 10 年,押中了 Web 的崛起,因为他是 Erich。

如果能做到以上几点,先积累个10年,“一夜成名“ 的确问题不大,这可能就是“翻盘”吧。

原文链接:
https://mp.weixin.qq.com/s/0cVNKR3IFvmPk472mo_R4Q



Tags:IDE   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Spider Pool蜘蛛池的正确使用方式
蜘蛛池,英文名为Spider Pool,是一种搜索引擎优化(SEO)技术。它主要通过集中管理大量的搜索引擎蜘蛛(爬虫)来提高网站在搜索引擎中的收录速度和收录率。更通俗易懂地解释,可以想象成...【详细内容】
2024-03-27  Search: IDE  点击:(23)  评论:(0)  加入收藏
亚马逊 Prime Video 将于 1 月 29 日引入广告,不想看广告需额外付费
IT之家 12 月 27 日消息,亚马逊终于公布了备受关注的 Prime Video 广告计划实施日期。从 2024 年 1 月 29 日起,Prime Video 将开始在部分电影和电视剧中植入广告。亚马逊在一...【详细内容】
2023-12-27  Search: IDE  点击:(66)  评论:(0)  加入收藏
使用 Sidecar CRD 优化 Istio 性能
我们知道在服务网格集群中的每个工作负载实例上都会透明地注入一个 Istio sidecar 代理,这个代理拦截负载的出入流量,并根据配置完成相应的流量管理,包括流量、安全、可观测性...【详细内容】
2023-12-18  Search: IDE  点击:(77)  评论:(0)  加入收藏
如何安装和配置一个Java IDE环境?
IDE(Integrated Development Environment)是一种集成开发环境,它提供了丰富的功能和工具,用于开发、调试和测试软件项目。下面我将详细介绍如何安装和配置一个Java IDE环境。1....【详细内容】
2023-11-24  Search: IDE  点击:(217)  评论:(0)  加入收藏
八个IntelliJ IDEA中常用的快捷键
1 使用驼峰命名法快速打开类这是一个简单而强大的功能,只输入驼峰命名法中的首字母缩写就可以查找/打开所需的类。比如说,类名是TopLevelDestination,只需输入TLD就能立即打开...【详细内容】
2023-11-23  Search: IDE  点击:(162)  评论:(0)  加入收藏
Stable Video Diffusion来了,代码权重已上线
机器之心报道机器之心编辑部Stability AI 的视频生成模型看来效果不错。AI 画图的著名公司 Stability AI,终于入局 AI 生成视频了。本周二,基于 Stable Diffusion 的视频生成...【详细内容】
2023-11-22  Search: IDE  点击:(180)  评论:(0)  加入收藏
Meta 介绍 AI 图像编辑工具 Emu Edit / Video
11 月 20 日消息,Meta 昨日宣布为 Facebook 和 Instagram 推出两款基于 AI 的图像编辑工具,分别是“Emu Edit”和“Emu Video”,适用领域包括照片和视频,目前 Meta 公布了这两项...【详细内容】
2023-11-20  Search: IDE  点击:(223)  评论:(0)  加入收藏
IntelliJ IDEA插件开发入门实战
IntelliJ IDEA是一款强大的Java开发工具,提供了丰富的API,为你钟爱的IDE增添了无限可能。与此同时,庞大而活跃的IntelliJ IDEA社区可以帮助解决问题并提升技能。无论你在插件开...【详细内容】
2023-11-14  Search: IDE  点击:(231)  评论:(0)  加入收藏
C 语言编译器(IDE)初学者指南:选择适合你的工具
一、前言在当今的软件开发世界中,C语言仍然是一种非常重要的编程语言,被广泛用于系统编程,游戏开发,嵌入式系统等领域。对于C语言的初学者来说,选择一款合适的编译器(IDE)是他们学...【详细内容】
2023-11-14  Search: IDE  点击:(240)  评论:(0)  加入收藏
JetBrains 推出全新 C/C++ IDE 开发工具 CLion Nova,预览版免费
IT 之家 11 月 13 日消息,JetBrains 公司推出新的 C 语言和 C++ 开发 IDE —— CLion Nova,使用 ReSharper C++/Rider C++ 语言引擎而不是原版 CLion“旧版”引擎开...【详细内容】
2023-11-13  Search: IDE  点击:(244)  评论:(0)  加入收藏
▌简易百科推荐
如何在Windows 10中查看电脑的名称?这里提供详细步骤
你想在有多台计算机组成的网络上查找你的计算机吗?一种方法是找到你的电脑名称,然后在网络上匹配该名称。下面是如何在Windows 10中使用图形和命令行方法查看你的计算机名称。...【详细内容】
2024-04-10  驾驭信息纵横科技    Tags:Windows 10   点击:(6)  评论:(0)  加入收藏
移动版 Outlook 解锁新技能,可验证登录 OneDrive 等微软服务
IT之家 4 月 9 日消息,微软公司近日发布新闻稿,宣布用户可以使用 Outlook 手机应用,轻松登录 Teams、OneDrive、Microsoft 365 以及 Windows 等微软账号服务。移动端 Outlook...【详细内容】
2024-04-09    IT之家  Tags:Outlook   点击:(7)  评论:(0)  加入收藏
Win10/Win11和 macOS用户反馈:谷歌云服务“捆绑”系统 DNS 设置
IT之家 4 月 6 日消息,谷歌公司承认旗下的 Google One 订阅服务中存在问题,在 Windows 10、Windows 11 以及 macOS 系统上会更改系统 DNS 设置,变更为 8.8.8.8 地址。Google On...【详细内容】
2024-04-08    IT之家  Tags:Win10   点击:(11)  评论:(0)  加入收藏
电脑卡顿怎么重装系统,快看这篇
电脑卡顿时,重装系统确实是一种可能的解决方案。以下是重装系统的详细步骤:备份重要数据:首先,你需要将电脑中的重要文件和数据备份到外部存储设备(如U盘、移动硬盘或云存储)中,以...【详细内容】
2024-04-04  科技数码前锋    Tags:重装系统   点击:(5)  评论:(0)  加入收藏
如何检查电脑的最近历史记录?这里提供详细步骤
如果你怀疑有人在使用你的计算机,并且你想查看他们在做什么,下面是如何查看是否有访问内容的痕迹。如何检查我的计算机的最近历史记录要检查计算机的最近历史记录,应该从web浏...【详细内容】
2024-03-30  驾驭信息纵横科技    Tags:历史记录   点击:(6)  评论:(0)  加入收藏
关于Windows中AppData的相关知识,看这篇文章就可以了
如果AppData文件夹占用了你电脑上的太多空间,则需要清理AppData文件夹。下面是一些帮助你在Windows计算机上进行AppData清理的方法。什么是AppData文件夹AppData文件夹是保存...【详细内容】
2024-03-30  驾驭信息纵横科技    Tags:AppData   点击:(10)  评论:(0)  加入收藏
微软 Edge 浏览器将迎来“内存限制器”功能,用户可自主控制 Edge 内存占用
IT之家 3 月 28 日消息,微软即将为其 Edge 浏览器带来一项实用新功能,据悉该公司正在测试一项内置的内存限制器,这项功能可以让用户限制 Edge 所占用的内存,防止浏览器超出内存...【详细内容】
2024-03-29    IT之家  Tags:Edge   点击:(21)  评论:(0)  加入收藏
一寸照片的大小如何压缩?四个实测效果很好的方法
一寸照片作为生活中常见的尺寸之一,常用于各类证件照与证明文件的制作。然而,受限于其较为狭小的尺寸,上传及打印过程中很容易出现尺寸超限的情况。所以,这个时候就需要对其体积...【详细内容】
2024-03-18  宠物小阿涛    Tags:压缩   点击:(20)  评论:(0)  加入收藏
手机投屏到电脑/电视的方法
方法一:Win10自带的投影功能1、将手机和电脑连接同一个无线网络。2、选择【开始】>【设置】>【系统】>【投影到此电脑】3、将默认的始终关闭的选项更改为所有位置都可用。4、...【详细内容】
2024-03-18    老吴讲I  Tags:投屏   点击:(24)  评论:(0)  加入收藏
微软商店怎么卸载应用 一分钟快速看懂!
微软商店怎么卸载应用 一分钟快速看懂!微软公司(Microsoft Corporation)是一家全球领先的科技企业,总部位于美国华盛顿州的雷德蒙德。成立于1975年,由比尔·盖茨和保罗&mid...【详细内容】
2024-02-27  婷婷说体育    Tags:微软商店   点击:(44)  评论:(0)  加入收藏
站内最新
站内热门
站内头条