微软在近日开源了 Windows 10 内置的计算器应用,并将源码放到了 GitHub 上,希望能够与社区合作,为 Calculator 应用程序开发出更多的新功能。由于开源的属性,独立开发者有望参与 Windows 10 一部分新功能的原型设计中来。不过***消息是,在 Uno Platform 开发人员的努力下,其已经被移植到了 Web、Android、以及 iOS 平台上。
(题图 via Windows Latest)
开源的跨平台特性,使得基于 UWP 代码的 Windows 10 计算器应用可以在非 Windows 平台上运行。
Uno 在一篇博客文章中表示:Windows Calculator 完全使用标准的 C++ 11 和 C++ / CX 打造,使用了源自 1995 年的计算引擎。
不过想要在非 Windows 10 平台上运行 Calculator,需要先将代码中的某些部分转换为 C#,并调整其它部分,以迎合 clang 的 C++ 11 支持。
目前 Windows 10 移植版计算器应用的早期版本已经提供面向 Android / iOS 的下载资源,后者你也可以点击体验 Web 版本。
据悉,在将完整功能的 Windows 10 Calculator 应用程序移植到 Android 和 iOS 的过程中,开发者遇到了如下挑战:
● 调节计算器引擎的 C++ 代码;
● 本地代码的互操作细节;
● 将 C ++ / CX 代码转换为 C#;
● 转换超文本标记语言(XAML);
● 资源的本地化;
● Mono for WebAssembly 的动静态链接支持;
● C 语言适配层;
● 从 C ++ 到 C# 的回调。