Windowsowy Kalkulator otwarty...
• tech • 283 słowa • 2 minuty czytania
Kila dni temu Microsoft otworzył kod źródłowy znanego wszystkim Kalkulatora z systemu Windows. Kod pojawił się na GitHubie i został upubliczniony na licencji MIT. Nie jest to publikacja archiwalna, ale wciąż żywy produkt, zatem każdy może pomóc w dalszym rozwoju tej podstawowej aplikacji systemu Windows w ramach społeczności open-source.
Today, we’re excited to announce that we are open sourcing Windows Calculator on GitHub under the MIT License. This includes the source code, build system, unit tests, and product roadmap. Our goal is to build an even better user experience in partnership with the community. We are encouraging your fresh perspectives and increased participation to help define the future of Calculator. – Announcing the Open Sourcing of Windows Calculator
Bardzo ucieszyłem się na tę wiadomość. Niestety szybko się rozczarowałem. Nie jest to ten klasyczny, prawdziwy, Win32 Kalkulator (calc.exe
), jaki towarzyszy Windowsowi niemal od jego narodzenia (Windows 1.0). Udostępniono kod jego młodszego wcielenia opartego na “nowoczesnym” UWP (Universal Windows Platform). A szkoda, bo przejrzenie źródeł starego, poczciwego Kalkulatora byłoby dobrym sposobem zapoznania się z technikami programowania i budowania programów okienkowych w czystym WinAPI oraz implementacji bardziej złożonych operacji matematycznych. I do tego jeszcze pewnie w oldschool-owym stylu, jak to miało miejsce w tamtych czasach.
Z tego też powodu źródła te nie są dla mnie zbyt przydatne, pomimo że program napisano w C++. Niemniej udostępnione kody mogą być wartościowe dla innych deweloperów zafascynowanych nowoczesnymi technologami Microsoftu - program bazuje na UWP i XAML, i jest dobrym przykładem aplikacji, w której zastosowano styl Fluent Design.
Skoro tradycyjny Kalkulator wciąż jest zamknięty to może kiedyś w wolnej chwili spróbuję dla dobrej zabawy zrewersować jego kod lub chociaż poszukać jakiś jego fragmentów w wyciekłych do sieci źródłach Windowsa ;)
Komentarze (0)