Microsoft recently open-sourced Windows 10’s built-in Calculator app and published the source code, build system on Github. Microsoft also stated that it wants to work with the community and develop new features for the Calculator app.
As the Calculator app has been open-sourced, independent developers can prototype new features that could become part of Windows 10 at some point.
Windows 10 Calculator app has now been ported to Web, Android and iOS by the developers of Uno Platform, an open source cross-platform that allows UWP based code to run on non-Windows platforms.
In a blog post, Uno says that Windows Calculator is built entirely using standard C++ 11 and C++/CX. It uses a calculation engine from 1995.
To run Calculator on non-Windows 10 platforms, some parts of the code were needed to be translated to C# and other parts were adjusted to be compliant with clang’s C++ 11 support.
It is apparently not easy to port a full-featured Windows 10 Calculator app to Android and iOS. The developers met with the following challenges:
- Adjusing the C++ of the Calculation Engine
- Native Code Interop Specifics
- Converting the C++/CX code to C#
- Converting the XAML
- Localization Resources
- Mono for WebAssembly Dynamic and Static Linking Support
- The C adaptation layer
- The case of C++ to C# callbacks