美国中央情报局(CIA)在其公开了近50年后停止了其受欢迎的在线资源《世界概况》。该书最初在二战期间开发,旨在标准化情报信息,它提供关于世界各国免费、定期更新的数据,并被记者、学者和公众广泛使用。 中央情报局没有说明停止出版的具体原因,只是表示该书已“停止更新”,并鼓励继续探索世界。然而,此次关闭与特朗普政府削减政府项目和通过自愿离职及计划裁员减少中央情报局人员的努力相符。 《世界概况》的数字版于1990年代推出,在学年期间尤其受欢迎,提供易于访问的公共领域数据。它的删除代表着失去了一个有价值、值得信赖的全球信息来源。
## 心形表情符号导致100倍减速
最近一个Web应用仪表盘的性能下降,最初被认为是React的问题,结果却是一个奇怪的Safari错误,由单个心形表情符号(❤️)触发。在与编码助手(Claude)的初步调查没有发现React相关问题后,深入研究Safari的性能时间线显示,布局期间CPU使用率达到94%——具体来说,每次布局耗时1600毫秒,比预期慢约100倍。
在Claude的帮助下,二分查找迅速确定表情符号是罪魁祸首。问题源于使用Google的Noto Color Emoji字体,该字体依赖于COLRv1。Safari为此字体回退到SVG渲染,导致极端的布局延迟。
在Claude的帮助下创建了一个最小的重现案例,证实了该错误,并向Safari团队提交了报告,他们确定了CoreSVG中的问题。解决方法?在Apple平台上,在字体列表中优先使用“Apple Color Emoji”,直到发布修复程序。
这次经历凸显了编码助手的强大功能——以及潜在的陷阱,它极大地加速了调试,但也引入了一个复杂的字体解决方案,最初导致了问题。
Allegro,一家大型电商公司,寻求一种解决方案,以便在iOS、Android和Web上构建一致且高性能的移动UI,同时兼顾速度、原生质量和可维护性。他们现有的服务器驱动UI解决方案MBox虽然有效,但缺乏对日益交互化的屏幕和现代开发体验的灵活性。
他们调研了Lynx,一个开源框架,承诺使用单一React代码库实现所有三个平台的原生渲染。初步测试重新实现了一个移动屏幕显示出有希望的商业指标改进和技术稳定性。Lynx提供了原生渲染、跨平台开发和服务器驱动UI支持等关键特性,与Allegro的长期目标相符。
然而,尽管具有潜力,Allegro最终决定目前不采用Lynx。主要担忧包括缺乏服务器端渲染(对Web SEO至关重要)、与他们采用现代原生UI框架(SwiftUI/Jetpack Compose)的摩擦,以及维护具有有限社区支持的C++核心引擎的挑战。可访问性权衡和文档缺失也促成了这一决定。虽然承认Lynx的强大功能,但Allegro认为其风险对于他们的特定需求来说太高,并将继续关注其发展。