Мы рады рассказать, что на прошлой неделе наш Windows Calculator стал OpenSource. Сейчас он доступен на GitHub по лицензии MIT. Это включает в себя исходный код, структуру сборки, модульные тесты и структуру продукта. Наша цель — создать еще лучший продукт в партнерстве с сообществом. Мы поощряем ваши свежие идеи и активное участие в определении будущего Windows Calculator.
Как разработчики, если вы хотите узнать, как работают различные части приложения «Калькулятор», легко интегрировать логику или пользовательский интерфейс «Калькулятор» в свои собственные приложения или внести непосредственный вклад во что-то, что есть в Windows, теперь вы можете это сделать. Калькулятор будет продолжать проходить все обычные процессы тестирования, проверки соответствия, безопасности, качества и проверки внутренних данных, как это происходит со всем остальными приложениями. Вы можете узнать больше об этом в документации на GitHub.
Совместная разработка
Помимо повторного использования и адаптации кода в ваших собственных приложениях, каждый может принять участие в разработке калькулятора Windows. Вовлечься просто. Проект “clone-and-go”, и его развитие будет осуществляться в соответствии со стандартным процессом GitHub. На всех этапах разработчики могут внести свой вклад:
- Участие в дискуссиях
- Репорт или исправление ошибок
- Предложение новых функций
- Создание прототипов новых функций
- Проектирование и создание продукта вместе с нашими инженерами
Обучение
Изучение кода калькулятора — отличный способ узнать о новейших технологиях Microsoft, таких как универсальная платформа Windows, XAML и Azure Pipelines. Благодаря этому проекту разработчики могут извлечь уроки из полного цикла разработки Microsoft, а также повторно использовать код для создания собственных продуктов. Это также отличный пример создания Fluent app design. Чтобы сделать это еще проще, мы будем предоставлять пользовательские элементы управления и расширения API, которые мы используем в калькуляторе и других приложениях, для таких проектов, как Windows Community Toolkit и Windows UI Library.
Мы рады пригласить всех вас в команду Windows Calculator! Чтобы начать, заходите в проект Windows Calculator на GitHub.
Комментарии (27)
xmonoid
13.03.2019 11:15+3Иногда в мире происходят странные вещи. Вот Microsoft публично объявляет об открытии своего калькулятора из Windows 10, хотя все об этом знают уже неделю как. И, собственно, всё уже подробно обсосали. Общие мысли сообщества приблизительно следующие:
- Непонятно, зачем вообще он нужен. Будто бы калькуляторов в мире мало. Ещё бы блокнот открыли, ей-богу.
- Код написан на C++/CX и гвоздями прибит к UWP, то есть на тот же Linux непортируем в принципе. То есть тем более неясен смысл открытия.
- Наличие телеметрии просто шокировало. Что там может быть нужно-то? Лишний повод задуматься об отказе от Windows, коль даже калькулятор за тобой следит.
- Разве что обучение технологиям Microsoft и не только (вон, даже PVS-Studio отметились: habr.com/en/post/443018) выглядит более-менее адекватной причиной открытия.
some_x
13.03.2019 12:13Что не так с телеметирей. Тот код что цитировали, словами можно описать так: если их буфера вставлено значение которое не удалось распарсить, то отослать это значение на сервер.
Это вполне может быть сделано для анализа того корректно работает парсинг. Быть может пользователи вставляют числа сформированные корректно, но калькулятор не может их распрасить (например какие-то экзотические разделители дробной части или какие-то редкие unicode символы).vladkorotnev
13.03.2019 12:30Допустим, скопировали какой-то произвольный текст поверх желаемого числа, потом забыли, зашли в калькулятор и сделали Ctrl-V, в итоге текст улетает неизвестно куда (если это всё действительно так и работает).
lieff
13.03.2019 12:36То что это потенциально чувствительные данные. Для парсера достаточно слать колстеки, регистры и минидамп (и то если пользователь разрешил), нам всегда помогало. По той же причине делается минидамп, а не полный дамп (для калькулятора размер не должен быть проблемой), хотя он куда более как полезен бы был.
Fragster
13.03.2019 11:56+1То самое чувство, когда официальный анонс об открытии кода вышел после разбора ошибок в нем habr.com/ru/company/pvs-studio/blog/443100
Jogger
13.03.2019 12:18Откройте лучше код нормального калькулятора, который был в XP и ранее, а не этого убожества. Я могу представить участие в разработке этого калькулятора только в одном направлении — полностью выкинуть интерфейс и переписать заново, оставив только собственно внутренности, которые занимаются вычислениями. В любом другом случае — это что мёртвому припарки.
InterceptorTSK
13.03.2019 12:46Вы что???) Там же мега-система инкрементальных сборок. Там же ачишуенное тестирование. Там десятки тысяч чилавеко-чясов! И все коту под хвост?))) Нееее… Нельзя так.
Вы что, предлагаете супир-пупир геганту виличайшой инжынерной мысли расписаться в собственном бессилии и нереальном убожестве того, что они «выдают»?
InterceptorTSK
13.03.2019 12:41На всех этапах разработчики могут внести свой вклад:
Это как?
Репорт или исправление ошибок
Кто делал — тот пусть и переделывает.
Ошибки в калькуляторе?.. Совсем уже докатились? Похоже упасть ниже — уже невозможно. Но майкрософт даж калькулятором пробивает дно.
vilgeforce
13.03.2019 13:40А в этом творении появилась возможность переключаться между режимами «Programmer» и «Scientific» без потери результата?
InterceptorTSK
13.03.2019 14:00-5Зачем? Вы кого парите-то???? Вы кому интересны с неким своим результатом?
Тут главное ваш результат себе на сервак отправить!
А увидите вы результат или вообще его не увидите — суть же не в этом))))
Чюдной вы ей богу а…
Вы еще попросите, что бы он сохранялся и восстанавливался при закрытии/открытии окошка) Ага, щяс)))) Это ж нереальной дикости наисложнейшая задачька. А то что мемори каторое «ячейка памяти», каторая MR/MC — там тоже хранится иногда ваш результат. Его тоже чтоли сохранять не надо?
Я уж про банальщину вообще молчу. Где кнопка обмена текущего значения с буфером? Почему в этом наиубогейшем калькуляторе нет даже хотя бы одного буфера?
Слушайте, я понимаю прекрасно, что майкрософт — это сборище фееричных дебилов. Но что им правда мозгов не хватает взять и скопировать готовое? Чо в этом мире нормальных калькуляторов нет что ли? Бери готовый, и копируй функционал. ДАЖЕ ТЗ ПИСАТЬ НЕ НУЖНО. ВСЕ ГОТОВОЕ УЖЕ ЕСТЬ. А зачем тогда вообще в принципе майкрософт спрашивает юзиров какие юзирам нужны калькуляторы? Юзира у нас с каких пор стали продвинутыми разработчиками калькуляторов? А если юзира в этой области из себя вообще ничего не представляют, ТО ЗАЧЕМ СПРАШИВАЮТ ЮЗИРОВ?))))
Коню понятно тут, что это просто для галки) А вы посоны можете и дальше давать наиценнейшие советы, тока они нафиг никому не нужны.
И на самом деле — обновленный калькулятор уже есть)))) Вам сунули кость, что бы попиариться. Что бы вы видели и самое главное — ЧУВСТВОВАЛИ, что ваше мнение важно, что о вас заботятся, что именно ВЫ — участвуете непосредственно в этом всем) Но на самом деле — да вы нахрен никому не нужны. Ведитесь на это гавно и дальше. С чем вас и поздравляю.
FreakII
13.03.2019 15:36+2Переведено Бингом? Это ж вроде официальный блог, не позорьтесь
Как разработчики, если вы хотите узнать, как работают различные части приложения «Калькулятор», легко интегрировать логику или пользовательский интерфейс «Калькулятор» в свои собственные приложения или внести непосредственный вклад во что-то, что есть в Windows, теперь вы можете это сделать.
maslyaev
13.03.2019 20:18+21985 год. Вышла первая версия Windows, и в ней есть Калькулятор. Сама система пока не понятно зачем, но калькулятор работает, народ пользуется, претензий не имеет.
1987 — 2015 годы. Выходят новые версии Windows, Калькулятор обрастает новыми функциями. Раз в пару лет в Калькуляторе находят мелкие несущественные баги, которые потихоньку фиксятся.
2019 год. Калькулятор уходит в опенсорс, выкладывается на ГитХаб. Все в восторге.
<??? вы находитесь здесь ???>
2020 год. Стараниями сообщества в Калькуляторе появился голосовой ввод и распознавание жестов.
2025 год. Калькулятор зачем-то поднимает свой инстанс NodeJS. Вне зависимости от того, запущен собственно Калькулятор, или нет. А, ну да, без этого прозрачная репликация в облако не очень гладко работает.
2030 год. IETF принимает третью версию протокола CalcAPI. Крупные игроки обещают реализацию базовой функциональности в течение ближайших лет, но заявляют, что полная поддержка может затянуться в связи с проблемами обратной совместимости.
2035 год. Мэйнтейнеры основной ветки репозитория заявляют, что пулл-реквесты, относящиеся к реализации четвёртой версии CalcAPI, приниматься не будут, пока количество признанных критическими не отработанных багрепортов не сократится хотя бы до тысячи.
2040 год. Пользователи жалуются, что ежеминутные обновления — это слишком часто, что постоянный перезапуск программы не даёт рассчитать ничего сложнее «2+2».
2045 год. Использование старых добрых карманных и настольных калькуляторов стало безальтернативным.InterceptorTSK
13.03.2019 20:58<??? вы находитесь здесь ???>
А уже здесь и сейчас вас ждет чЮдесное и незабываемое предложение, от которого вы не сможете отказаться.
А именно: вместе с чЮдесным калькулятором, вы получите грандиозную службу
«инженерных вычислений», которая ничего не может, каторая дырявая вхламину, каторая использует стопицотый дырявый протокол, через каторую переломают всех, и каторая сломает всё. И всё вместе с калькулятором — будет жрать гигабайт, ибо оно же на иликтроне будет собрано, с песочницей, браузером и прочей невменяемой фигней. Вместе с этим вы обязательно получите в комплекте блоатварь, каторая вам абсолютно бесплатно прилепит загрузчик десятки, а так же совершенно бесплатно, основываясь исключительно и только на ваших и только ваших предпочтениях — вместо калькулятора при загрузке калькулятора — 90% окна калькулятора забьет совершенно и абсолютно бесплатно и опять же основываясь исключительно и только на ваших предпочтениях — опять и снова исключительными предложениями, от которых вы в качестве исключения не сможете отказаться. Майкрософт заботится о вас. (с)
пс: А в итоге потугов калькулятор ессно откатят на старый. Дело же вовсе не в калькуляторе))))
ппс: Вы то вроде как пошутили. А я то вовсе нет…maslyaev
13.03.2019 21:07А в итоге потугов калькулятор ессно откатят на старый.
Не получится. Прогресс так не работает. Вектор — только в сторону блотваризации. Плюс рекурсивно уходящие за горизонт зависимости. Только это модно, только это молодёжно.
SvyatoslavMC
14.03.2019 09:08Интересно сравнить код с другим популярным калькулятором? Запилил для вас хабрапост: По следам калькуляторов: Qalculate!
Если кто-то пропустил обзор ошибок в коде калькулятора Windows, то вот.
xl-tech
14.03.2019 11:08Ура, теперь те кто не обновляют систему могут поправить крайний правый ряд кнопок :)
rsashka
Было уже на прошлой неделе: habr.com/ru/post/443018
Wimbo
Да! marks уже писал об этом: habr.com/ru/post/443018
sahsAGU Автор
Но там же просто Hot-News. А у нас уже есть больше полезных подробностей.
acerikfy
Не вижу больше полезных подробностей в заметке, которая гласит буквально следующее: «Здрасьте, у нас есть теперь sample Windows 10 project, используйте как шаблон, можете ознакомиться а Azure. Вот ссылка»