React Native Windows 0.78.0预览版发布:可靠性提升与新架构优化
React Native Windows是微软推出的开源项目,它让开发者能够使用React Native框架构建原生Windows应用程序。作为React Native生态的重要组成部分,该项目为Windows平台提供了完整的支持,使开发者能够用JavaScript和React编写跨平台应用,同时在Windows设备上获得原生体验。
可靠性改进
本次0.78.0预览版在稳定性方面做出了多项重要改进。首先,项目团队修复了std::mutex::lock调用失败的问题,通过添加_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR预处理器定义来确保线程安全。这项改进对于多线程环境下的应用稳定性至关重要。
在错误处理方面,团队扩展了字段清理范围,现在能够处理codedError.data字段,这有助于提高错误信息的完整性和准确性。此外,项目移除了已弃用的std::aligned_storage,采用了更现代的替代方案,这既符合C++标准的发展趋势,也提升了代码的长期可维护性。
值得注意的是,团队还解决了BinSkim安全工具检测到的问题,不再禁用警告4244,这体现了对代码质量的严格要求。在无障碍功能方面,组件控制类型值已更新为与accessibilityRole值相对应,这将改善屏幕阅读器等辅助技术的用户体验。
新特性与功能增强
本次更新将WinUI3ExperimentalVersion从1.6.240701003-experimental2升级至1.7.250109001-experimental2,带来了Windows UI库的最新实验性功能。同时,项目团队清理了代码库,移除了Fabric构建中仅用于Paper的代码,使代码结构更加清晰。
新架构优化
在新架构方面,本次更新实现了多项重要改进。首先,增加了对自定义控件通过IRangeValueProvider向UIA传递范围数据的支持,并新增了对aria-readonly和accessibilityState.readOnly的支持,这大大增强了控件的可访问性和交互能力。
模态窗口的实现也进行了重构,现在完全使用公共API实现,这不仅提高了代码的透明度,也为未来的维护和扩展奠定了基础。在无障碍功能方面,RNIsland UIA片段根现在能够正确报告父片段根,这解决了之前可能存在的无障碍导航问题。
团队还修复了一个关键问题:当当前获得焦点的元素被标记为enableFocusRing=false时可能导致的应用崩溃。这项修复显著提升了应用的稳定性,特别是在处理动态焦点变化时。
总结
React Native Windows 0.78.0预览版在可靠性、功能性和架构优化方面都取得了显著进展。这些改进不仅提升了现有功能的稳定性,也为开发者提供了更强大的工具来构建高质量的Windows应用。对于正在使用或考虑使用React Native开发Windows应用的开发者来说,这个版本值得关注和试用。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0218
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0139
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03