PHP 8 发布 | New Frontend 技术资料分享 (#15)

New Frontend 「技术资料分享」第十五期,分享开发相关的技术资料、开源项目、新闻资讯,每月更新。如果你看到值得分享的资料、项目、资讯,欢迎推荐

GitHub 发布了重新设计的主页,之前只在有限范围内测试的 Discussion 功能现在全面开放,对于很多项目和产品来说,可以直接基于 GitHub 的 Discussion 功能运营社区,不用另外架设论坛。另外还推出了自动合并(auto merge)功能,可以自动合并满足条件(比如 CI 自动检查通过、代码审阅通过)的 pr。最重要的,GitHub 终于支持暗黑模式(dark mode)啦!

PHP 8 发布,支持了一大堆令人激动的新特性。PHP 8 终于支持命名参数(named arguments)和构造方法属性提升(constructor property promotion),字符串和数字的非严格(nonstrict)比较也不再那么让人无语(PHP 8 以前 0 == "" 甚至 0 == "foo" 都为真,当然,绝大多数情况下还是应该用严格比较)。PHP 8 还引入了 nullsafe 操作符和 union 类型。nullsafe 操作符在很多场景下可以大幅简化代码,比如 $country = $session?->user?->getAddress()?->country; 。这算是现代编程语言中比较流行的特性,CoffeeScript (existential 操作符)、C#(null-conditional 操作符)、Swift(optional chaining)、JavaScript(optional chaining)都有类似概念,只不过叫法不一样。给动态语言的一些非常灵活的惯用法标注类型时,union 类型非常好用,支持静态类型标注的主流动态语言 TypeScript 和 Python 都支持 union 类型,现在 PHP 也加入了支持,可喜可贺。

TypeScript 发布了 4.1 版,支持了模板字符串字面量类型,mapped types 通过 as 可以给 key 增加进一步的约束,条件类型支持递归(但建议谨慎使用,因为递归条件类型会显著增加编译时间,而且递归深度如果超过内部限制会导致编译错误),新增 --noUncheckedIndexedAccess 选项(相当于认为所有通过 index signature 约束的 key 的值都可能是 undefined),支持了 React 17 的 jsx、jsxs 工厂函数。

GraalVM 20.3 发布,改进了某些场景下的执行性能,提升了编译速度,完善了容器环境的支持,Truffle 框架预热方面的改进显著提升了 JavaScript、Ruby、Python、R 的性能,Node.js 更新至 12.18.4,Python 更新至 3.8.5.

Electron 发布了 11.0.0,主要的变动是 Chromium 升到了 87,V8 升到 8.7,Node.js 升到 12.18.3。因此也支持了使用 M1 芯片的新一代 Mac。

使用 M1 芯片的新一代 Mac 机器十分惊人,根据 @jysperm 的测试,在基于 M1 芯片的 MacBook Air 上编译 LeanCloud Swift SDK 比使用 Intel i9 CPU 的 iMac 还要快,而且完全没有发热。不过,目前开发环境生态还不完善,Python、Java、Rust、Ruby 等语言已经支持,Go、vscode、Homebrew、JetBrains 系 IDE 需要使用 Rosetta 2(顺便提一下,Rosetta 2 效果也非常好,几乎无感),Docker 还不支持。isapplesiliconready.com 汇总了各大软件对 ARM 架构的 Mac 的支持情况。

ClockworkPi 推出了 DevTerm,一个 A5 大小的终端,售价 219 – 249 美元,内置 QWERTY 全键盘、6.8 寸 1280×480「带鱼屏」和 58mm 热敏打印机。DevTerm 使用 ClockworkPi 主板(兼容树莓派 CM3 系列),可以运行 ClockworkOS、Debian、Ubuntu、Raspberry Pi OS 等开源 Linux 系统。目前在预售阶段,会在 2021 年 4 月前发货。之前 ClockworkPi 还推出过类似的基于开源方案的复古风格游戏掌机 GameShell

Jozef Bogin 做了一个很有趣的项目,通过黑胶唱片引导 DOS 系统

youtube-dl 的 GitHub 仓库在 11 月中旬恢复,GitHub 也宣布会改进处理 DMCA 的流程,并计划捐款一百万美元给帮助开发者应对 DMCA 等法律纠纷的基金。

迫于退休生活太无聊,Python 之父 Guido van Rossum 加入了微软

题图 Sincerely Media

评论

Loading comments ...