微软继续向开发者的主导地位进军,推出了 Visual Studio Code for the Web,开源代码编辑器的轻量级版本,可以完全在浏览器中运行。Web 版 VSCode 并不是真正在浏览器中运行的 VSCode 的全功能版本,因为它没有后端来支持它,这意味着它的主要目的是针对客户端的 HTML、JavaScript 和 CSS 应用程序。
“由于 VS Code for the Web 完全在浏览器中运行,与在桌面应用程序中执行的操作相比,某些体验自然会受到更多限制。例如,终端和调试器不可用,因为无法在浏览器沙箱中编译、运行和调试 Rust 或 Go 应用程序(尽管 Pyodide 和 Web 容器等新兴技术有一天可能会改变这一点),”微软解释说,并补充说明代码编辑、导航和浏览体验可能“有点微妙”。
对于大多数编程语言,vscode.dev 为你提供代码语法着色、基于文本的完成和括号对着色。使用 Tree-sitter 语法树,我们能够为流行语言(如 C/C++、C#、Java、PHP、Rust 和 Go)提供额外的体验,例如大纲 / 转到符号和符号搜索。
TypeScript、JavaScript 和 Python 体验都由在浏览器中本地运行的语言服务提供支持。使用这些编程语言,你将获得 “良好” 体验以及丰富的单文件补全、语义突出显示、语法错误等。
对于许多 “webby” 语言,例如 JSON、HTML、CSS 和 LESS,vscode.dev 中的编码体验几乎与桌面相同(包括 Markdown 预览!)。
除此之外,VS Code for the Web 确定为平板电脑、Chromebook 甚至 XBOX 等设备提供轻量级、随处可用的代码编辑器。
微软在即将发布的 .NET 6 中悄悄删除了 Hot Reload(热重载) 的一个关键部分,热重载功能让开发人员在写代码可以获得即时的反馈,方便在修改代码时能马上看到结果。对于竞争对手谷歌的 Dart 编程语言和 Flutter 工具包来说,这是一个很大的卖点,微软一直在追赶,想将它引入 .NET 和 Visual Studio。
不过,在新版本发布之前,微软从 GitHub 的” dotnet watch “中删除了 2500 行热重载功能的源代码,这意味着 .NET 6.0 的热重载功能只限于 Windows 和 Visual Studio 开发平台,而不是开放并跨多个平台可用。而首席项目经理德米特里·利亚林也在博客中透露:“我们已经决定,在即将推出的.NET 6 GA 版本中,只在 Visual Studio 2022 支持热重载功能。”
在从 .NET SDK repo 中删除热重载(Hot Reload)功能的举措得到了社区的强烈谴责,在 GitHub 上,有大量开发者对此举动表达了不满,Hacker News 和微软官方播客文章下的评论区也是一片骂声。
之后微软出来进行了道歉,并宣布恢复 .NET 中的热重载功能。微软方面解释称,和其他所有的开发团队一样,他们有时必须考虑质量、时间和资源,以便在继续取得进展的同时进行权衡。鉴于绝大多数 .NET 开发人员都在使用 Visual Studio,所以他们希望确保 VS 为 .NET 6 提供最佳体验。
“随着 .NET 6 和 Visual Studio 2022 发布时间的临近,我们选择首先专注于将 Hot Reload 引入 VS2022。我们在执行这个计划的方式上犯了一个错误。在我们的努力范围中,我们无意中删除了源代码,而不是仅仅不调用该代码路径。我们低估了在其跨场景环境中依赖这种能力的开发人员的数量,以及 CLI 是如何与 Visual Studio 一起使用来推动许多人的内循环生产力的。”
CockroachDB Serverless 推出,扩展了 Cockroach Enterprise 和 CockroachCloud 的功能,提供了自动化弹性扩展、自动伸缩、基于用量计费、临时集群、即时启动、多租户等特性。该服务每月免费提供高达 5GB 的存储空间和 2500 万个“请求单位”(RU,一种由计算、网络和 IOPS 组成的抽象使用),甚至不需要信用卡即可启动和运行。显然,对于使用量超过入门级阈值的项目,将需要一种付款方式,但即便如此,计费还是以纯粹基于消费的模式为前提。这也意味着开发人员在学习或试验该平台时将花费很少的费用。在生产中运行付费应用程序的成本表面上将与收入相称。
开发人员不想迷恋数据库平台的特性,也不想对其进行关心。他们只希望数据库易于设置、使用简单、运行成本低、快速可靠,以至于他们甚至不必考虑它。实际上,开发人员希望数据库消失,只留下一个 API(应用程序编程接口)来存储、获取、查询和分析他们的数据。
Cockroach Labs 首席产品布道师 Jim Walker 说,CockroachDB Serverless 寻求成为“每个开发人员的首选数据库”,并解释说新产品是“一个完全弹性的、关系型的云数据库,以熟悉的 SQL API 为前端,使开发人员能够开始无需规划容量、性能或可用性即可立即构建。”
在过去的二十年里,云技术的兴起和开源软件的激增是同步发展的,开源软件现在支撑着所有主要的云。
云技术如今如此流行,以至于 IBM 商业价值研究院最近的一项研究发现,一家典型的企业使用来自多个云厂商的近 8 个云。该研究还指出,混合云(公有云、私有云和本地 IT 的组合)的采用激增,并指出在未来三年内,混合云的采用预计将增长 47%,平均组织将使用近 6 个云。
所有这些都引出了一个问题:对开发人员来说,哪些云技能最重要?
受 IBM 委托,O’Reilly Media 于 2020 年秋季进行的一项新发布的调查表明,与其学习使用单一类型的公有云所需的专有技能,开发人员应该将时间集中在磨练开源技能上。毕竟,“每个主要的云平台都在其基础架构中使用开源软件。” 因此,该公司推出了“开源云指南,重点介绍了在混合云环境中重要的各种用例,介绍了这些领域的重要开源项目,并讨论了各种云如何在其产品中使用开源。” 对于每个用例,该指南都提供了概述、传统解决方案的解释、关键开源项目,然后重点介绍了云厂商如何使用开源来实现这一目标。IBM 表示,该指南旨在回答有关开发人员的技能如何转化为混合云环境开发的问题,包括主要的云厂商以及最常用的开源技术。然而,该指南并不完整,IBM 正在寻找开发人员来贡献。
“Kubernetes 准备好处理有状态的工作负载了吗?” 是决策者考虑在 Kubernetes 上部署数据库时出现的第一个问题。多年来,答案是“不要这样做”,而且理由很充分。Kubernetes 最初旨在处理无状态工作负载的编排。但技术已经成熟,是时候重新考虑在 Kubernetes 上运行数据了。
由 Data on Kubernetes Community (DoKC) 在 2021 年 9 月对 500 多名 Kubernetes 用户进行调查的结果发现:
Kubernetes 已成为 IT 的核心部分——一半的受访者在其上运行了 50% 或更多的生产工作负载,非常满意且工作效率更高。有些用户甚至认为生产力提高了 2 倍或更多。
90% 的人认为 K8s 已经为有状态的工作负载做好了准备,并且绝大多数 (70%) 正在生产环境中运行,数据库位居榜首。受访公司称最大的受益来源于标准化、一致性和管理作为关键驱动因素。
重大挑战依然存在。当寻求扩展有关 Kubernetes 的数据时,企业发现缺乏与现有工具和堆栈的集成和互操作性;熟练的员工;Kubernetes 运营商的质量;值得信赖的供应商。
业务需求正在为进一步采用带来压力。实时数据对竞争优势的重要性日益增加,这将加剧公司在 Kubernetes 上运行数据的需求。大多数人认为标准将改善数据管理,并且数据应该具有声明性。