说起此番微软开源 Windows 计算器,有道是“春风得意马蹄疾,一日‘摘星’ 7000+”……
![f61fdbbfc375302939b35202e12a11ea.png](https://i-blog.csdnimg.cn/blog_migrate/dc81a5e6497155dd7028387a4040c6f6.jpeg)
整理 | 仲培艺
来源 | CSDN(ID:CSDNnews)
微软又来给自己拥抱开源的决心送”证明素材“了!
昨日,微软官宣在 MIT 许可证下开源了 Windows 10 操作系统自带的计算器应用,源代码已托管在 GitHub 上。该项目发布即蹿红,在 GitHub 上火速揽收 7000+ Star 之余,更是在业界引发广泛讨论。
![5a5b374230b6556cfacab957cdf750e5.png](https://i-blog.csdnimg.cn/blog_migrate/a259be45a16ce878308d20b91a3f952a.jpeg)
![a1956660163ae25e8c9f0e4e85c5348b.png](https://i-blog.csdnimg.cn/blog_migrate/b42242e8e3076fd98589ae947d0eb67e.jpeg)
是 C++,不是 C#!
“居然不是 C#?!”
此次项目中,大家发现微软放弃了自家的 C#,转而选用了 C++——这也是微软宣布开源计算器以来,较多收到的感叹之一。
![51a2ae26eaf6d6004cce4c879a724cb0.png](https://i-blog.csdnimg.cn/blog_migrate/5cb5a732493f0a0cfa2b2af2e353e613.jpeg)
微软官博配图,宇宙的终极答案——42
Windows Calculator 是一款用 C++ 编写的现代 Windows App,预装在 Windows 中,可提供标准型、科学型和程序员计算器功能,以及不同度量单位和货币之间的转换。
该计算器定期更新功能、修复 bug。用户可以通过 Microsoft Store 下载最新版本。
特性
- 标准计算器功能:提供基础运算,评估用户输入的命令(输入即评估);
- 科学计算器功能:提供扩展运算,使用运算顺序评估命令;
- 程序员计算器功能:为开发者提供常见的数学运算;
- 计算历史和记忆能力;
- 不同计量单位之间的转换;
- 基于从 Bing 检索到的数据进行货币转换。
项目启动
- Windows 计算器的官方说明文档具体列出了启动该项目的依赖项(先决条件):
- 计算机必须运行 Windows 10 1803 版本或更新版本
- 安装最新版本的 Visual Studio(免费社区版就足够了)
- 安装“Universal Windows Platform Development”workload
- 安装可选组件“C++ Universal Windows Platform tools”
- 安装最新版 Windows 10 SDK
![d858e89ce38fb338c844668dbc172d8c.png](https://i-blog.csdnimg.cn/blog_migrate/ae6cea729fe2586b17094d5e03f05528.jpeg)
- 安装 Visual Studio 扩展 XAML Styler
- 获取代码:
git clone https://github.com/Microsoft/calculator.git
- 在 Visual Studio 中打开 srcCalculator.sln,创建并运行 Windows 计算器 App
- 关于 Windows 计算器项目架构的通用描述,参见 ApplicationArchitecture.md(https://github.com/Microsoft/calculator/blob/master/docs/ApplicationArchitecture.md)
Windows 计算器版大家来“找茬”
![3a69581fe215fcc837cdbf44cd01b07e.png](https://i-blog.csdnimg.cn/blog_migrate/5f358e4bb6349f9c2f557efba5355728.jpeg)
Windows 计算器一经开源,就成功问鼎今日的 GitHub Trending 列表,可以算是当之无愧的明星项目了。与 GitHub 比肩齐增的,还有新添加的 issue 数,反馈数量迅速累积至 100 条。
![55ab22825fbb3bc2c752fc5c216922ba.png](https://i-blog.csdnimg.cn/blog_migrate/8398eed2522a0283605b102dfbcef7fb.jpeg)
其中自是不乏一些“神奇”的 bug!
报错:除数不能为 0!
![2e6a4aa90c7d78bcf8f8025faad85d6f.png](https://i-blog.csdnimg.cn/blog_migrate/229c1e53e4ab56af201e54fbcb134fe0.jpeg)
该项目刚开源,就有人跑来提交了一个“为什么不能除以 0”的 bug——第一眼竟然觉得没毛病……
对于这个无厘头的问题,计算器给出的回答可能是:
![9202d877179e573f4fa67cd6e9f78f65.png](https://i-blog.csdnimg.cn/blog_migrate/e3a140629c137834f9fca419ce08ae05.jpeg)
目力惊人型选手:你看这个像素点,它歪了!
据悉,有网友在 Reddit 上也报了个 bug——Windows 10 计算器界面上的像素没对齐,可以说是拯救”终极强迫症患者“的报错了。
![dc6213946bda95da8fa822c9e0bb90a5.png](https://i-blog.csdnimg.cn/blog_migrate/88c310fc37f7a1c83ad5621e5bfe610c.jpeg)
微软和开源
虽然计算器可能只是 Windows 中相对较小的一部分,但其开源确乎遵循了微软近年来拥抱开源的作风。——援引自 The Verge 相关报道
从去年 10 月向 Linux 社区免费开放 60000 多项专利,到 2019 年初的 GitHub 私有库免费无限开放,再到如今的开源 Windows 计算器,微软就这么在开源这条路上一去不回头了。事实上,就在不久前,微软甚至还开源了其 90 年代的原始文件管理器,允许它再次在 Windows 10 上运行。
此番开源,微软除了发布源代码外,还公开了构建系统、单元测试和产品路线图。同时鼓励用户积极参与其中,报告 bug 或递交补丁,讨论新功能或新功能原型等。
而关于这一次选择,微软方面也给出了自己的解读,表示其目的在于希望“同社区一起打造更好的用户体验”。
此外,微软还表示浏览 Windows 计算器源码是开发者了解微软最新技术的最佳途径,包括 Universal Windows Platform、XAML 和 Azure Pipelines。开发者还可以借此了解微软的完整开发生命周期,或是重用这些代码在自身经验的基础上来构建自己的项目,得以更轻松地将计算器逻辑或 UI 整合到自己的应用中。
计算器开源已经来了,评论区呼声极高的扫雷、纸牌还会远吗?
另附 GitHub 地址:https://github.com/Microsoft/calculator
相关参考:
https://www.theverge.com/2019/3/6/18253474/microsoft-windows-calculator-open-source-githubhttps://blogs.windows.com/buildingapps/2019/03/06/announcing-the-open-sourcing-of-windows-calculator/