Мы рады рассказать, что на прошлой неделе наш Windows Calculator стал OpenSource. Сейчас он доступен на GitHub по лицензии MIT. Это включает в себя исходный код, структуру сборки, модульные тесты и структуру продукта. Наша цель — создать еще лучший продукт в партнерстве с сообществом. Мы поощряем ваши свежие идеи и активное участие в определении будущего Windows Calculator.


Image of Windows Calculator


Как разработчики, если вы хотите узнать, как работают различные части приложения «Калькулятор», легко интегрировать логику или пользовательский интерфейс «Калькулятор» в свои собственные приложения или внести непосредственный вклад во что-то, что есть в Windows, теперь вы можете это сделать. Калькулятор будет продолжать проходить все обычные процессы тестирования, проверки соответствия, безопасности, качества и проверки внутренних данных, как это происходит со всем остальными приложениями. Вы можете узнать больше об этом в документации на GitHub.


GitHub documentation of Windows Calculator


Совместная разработка


Помимо повторного использования и адаптации кода в ваших собственных приложениях, каждый может принять участие в разработке калькулятора 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)


  1. rsashka
    13.03.2019 10:11

    Было уже на прошлой неделе: habr.com/ru/post/443018


    1. Wimbo
      13.03.2019 10:13

      Да! marks уже писал об этом: habr.com/ru/post/443018


      1. sahsAGU Автор
        13.03.2019 11:01
        +1

        Но там же просто Hot-News. А у нас уже есть больше полезных подробностей.


        1. acerikfy
          13.03.2019 11:19

          Не вижу больше полезных подробностей в заметке, которая гласит буквально следующее: «Здрасьте, у нас есть теперь sample Windows 10 project, используйте как шаблон, можете ознакомиться а Azure. Вот ссылка»


  1. xmonoid
    13.03.2019 11:15
    +3

    Иногда в мире происходят странные вещи. Вот Microsoft публично объявляет об открытии своего калькулятора из Windows 10, хотя все об этом знают уже неделю как. И, собственно, всё уже подробно обсосали. Общие мысли сообщества приблизительно следующие:

    • Непонятно, зачем вообще он нужен. Будто бы калькуляторов в мире мало. Ещё бы блокнот открыли, ей-богу.
    • Код написан на C++/CX и гвоздями прибит к UWP, то есть на тот же Linux непортируем в принципе. То есть тем более неясен смысл открытия.
    • Наличие телеметрии просто шокировало. Что там может быть нужно-то? Лишний повод задуматься об отказе от Windows, коль даже калькулятор за тобой следит.
    • Разве что обучение технологиям Microsoft и не только (вон, даже PVS-Studio отметились: habr.com/en/post/443018) выглядит более-менее адекватной причиной открытия.


    1. some_x
      13.03.2019 12:13

      Что не так с телеметирей. Тот код что цитировали, словами можно описать так: если их буфера вставлено значение которое не удалось распарсить, то отослать это значение на сервер.
      Это вполне может быть сделано для анализа того корректно работает парсинг. Быть может пользователи вставляют числа сформированные корректно, но калькулятор не может их распрасить (например какие-то экзотические разделители дробной части или какие-то редкие unicode символы).


      1. vladkorotnev
        13.03.2019 12:30

        Допустим, скопировали какой-то произвольный текст поверх желаемого числа, потом забыли, зашли в калькулятор и сделали Ctrl-V, в итоге текст улетает неизвестно куда (если это всё действительно так и работает).


      1. lieff
        13.03.2019 12:36

        То что это потенциально чувствительные данные. Для парсера достаточно слать колстеки, регистры и минидамп (и то если пользователь разрешил), нам всегда помогало. По той же причине делается минидамп, а не полный дамп (для калькулятора размер не должен быть проблемой), хотя он куда более как полезен бы был.


  1. Fragster
    13.03.2019 11:56
    +1

    То самое чувство, когда официальный анонс об открытии кода вышел после разбора ошибок в нем habr.com/ru/company/pvs-studio/blog/443100


  1. Jogger
    13.03.2019 12:18

    Откройте лучше код нормального калькулятора, который был в XP и ранее, а не этого убожества. Я могу представить участие в разработке этого калькулятора только в одном направлении — полностью выкинуть интерфейс и переписать заново, оставив только собственно внутренности, которые занимаются вычислениями. В любом другом случае — это что мёртвому припарки.


    1. InterceptorTSK
      13.03.2019 12:46

      Вы что???) Там же мега-система инкрементальных сборок. Там же ачишуенное тестирование. Там десятки тысяч чилавеко-чясов! И все коту под хвост?))) Нееее… Нельзя так.
      Вы что, предлагаете супир-пупир геганту виличайшой инжынерной мысли расписаться в собственном бессилии и нереальном убожестве того, что они «выдают»?


    1. ariksu
      13.03.2019 12:58

      Мне кажется это все тот же репозиторий, просто посмотрите сборки постарее.


      1. Jogger
        13.03.2019 14:03

        Ну насколько я вижу — первый коммит в январе этого года, и там сразу готовый калькулятор из десятки залит. В оригинале может репозиторий и один, но публичный на гитхабе — нет.


  1. InterceptorTSK
    13.03.2019 12:41

    На всех этапах разработчики могут внести свой вклад:
    Репорт или исправление ошибок
    Это как?
    Кто делал — тот пусть и переделывает.

    Ошибки в калькуляторе?.. Совсем уже докатились? Похоже упасть ниже — уже невозможно. Но майкрософт даж калькулятором пробивает дно.


    1. savostin
      13.03.2019 16:37

      Самое время написать свой без ошибок ;)


  1. vilgeforce
    13.03.2019 13:40

    А в этом творении появилась возможность переключаться между режимами «Programmer» и «Scientific» без потери результата?


    1. InterceptorTSK
      13.03.2019 14:00
      -5

      Зачем? Вы кого парите-то???? Вы кому интересны с неким своим результатом?
      Тут главное ваш результат себе на сервак отправить!
      А увидите вы результат или вообще его не увидите — суть же не в этом))))
      Чюдной вы ей богу а…

      Вы еще попросите, что бы он сохранялся и восстанавливался при закрытии/открытии окошка) Ага, щяс)))) Это ж нереальной дикости наисложнейшая задачька. А то что мемори каторое «ячейка памяти», каторая MR/MC — там тоже хранится иногда ваш результат. Его тоже чтоли сохранять не надо?

      Я уж про банальщину вообще молчу. Где кнопка обмена текущего значения с буфером? Почему в этом наиубогейшем калькуляторе нет даже хотя бы одного буфера?

      Слушайте, я понимаю прекрасно, что майкрософт — это сборище фееричных дебилов. Но что им правда мозгов не хватает взять и скопировать готовое? Чо в этом мире нормальных калькуляторов нет что ли? Бери готовый, и копируй функционал. ДАЖЕ ТЗ ПИСАТЬ НЕ НУЖНО. ВСЕ ГОТОВОЕ УЖЕ ЕСТЬ. А зачем тогда вообще в принципе майкрософт спрашивает юзиров какие юзирам нужны калькуляторы? Юзира у нас с каких пор стали продвинутыми разработчиками калькуляторов? А если юзира в этой области из себя вообще ничего не представляют, ТО ЗАЧЕМ СПРАШИВАЮТ ЮЗИРОВ?))))

      Коню понятно тут, что это просто для галки) А вы посоны можете и дальше давать наиценнейшие советы, тока они нафиг никому не нужны.
      И на самом деле — обновленный калькулятор уже есть)))) Вам сунули кость, что бы попиариться. Что бы вы видели и самое главное — ЧУВСТВОВАЛИ, что ваше мнение важно, что о вас заботятся, что именно ВЫ — участвуете непосредственно в этом всем) Но на самом деле — да вы нахрен никому не нужны. Ведитесь на это гавно и дальше. С чем вас и поздравляю.


  1. FreakII
    13.03.2019 15:36
    +2

    Переведено Бингом? Это ж вроде официальный блог, не позорьтесь

    Как разработчики, если вы хотите узнать, как работают различные части приложения «Калькулятор», легко интегрировать логику или пользовательский интерфейс «Калькулятор» в свои собственные приложения или внести непосредственный вклад во что-то, что есть в Windows, теперь вы можете это сделать.


  1. stalinets
    13.03.2019 17:43
    +1

    Интересно, решилась бы Microsoft однажды сделать всю Windows опенсорсной?..


    1. densss2
      13.03.2019 20:27
      +2

      Не думаю, что они способны подложить такую свинью ReactOS-и.


  1. kovserg
    13.03.2019 20:13
    +1

    Лучше уж Skype выложите, а калькулятор это не интересно.


  1. maslyaev
    13.03.2019 20:18
    +2

    1985 год. Вышла первая версия Windows, и в ней есть Калькулятор. Сама система пока не понятно зачем, но калькулятор работает, народ пользуется, претензий не имеет.

    1987 — 2015 годы. Выходят новые версии Windows, Калькулятор обрастает новыми функциями. Раз в пару лет в Калькуляторе находят мелкие несущественные баги, которые потихоньку фиксятся.

    2019 год. Калькулятор уходит в опенсорс, выкладывается на ГитХаб. Все в восторге.

    <??? вы находитесь здесь ???>

    2020 год. Стараниями сообщества в Калькуляторе появился голосовой ввод и распознавание жестов.

    2025 год. Калькулятор зачем-то поднимает свой инстанс NodeJS. Вне зависимости от того, запущен собственно Калькулятор, или нет. А, ну да, без этого прозрачная репликация в облако не очень гладко работает.

    2030 год. IETF принимает третью версию протокола CalcAPI. Крупные игроки обещают реализацию базовой функциональности в течение ближайших лет, но заявляют, что полная поддержка может затянуться в связи с проблемами обратной совместимости.

    2035 год. Мэйнтейнеры основной ветки репозитория заявляют, что пулл-реквесты, относящиеся к реализации четвёртой версии CalcAPI, приниматься не будут, пока количество признанных критическими не отработанных багрепортов не сократится хотя бы до тысячи.

    2040 год. Пользователи жалуются, что ежеминутные обновления — это слишком часто, что постоянный перезапуск программы не даёт рассчитать ничего сложнее «2+2».

    2045 год. Использование старых добрых карманных и настольных калькуляторов стало безальтернативным.


    1. InterceptorTSK
      13.03.2019 20:58

      <??? вы находитесь здесь ???>
      А уже здесь и сейчас вас ждет чЮдесное и незабываемое предложение, от которого вы не сможете отказаться.
      А именно: вместе с чЮдесным калькулятором, вы получите грандиозную службу
      «инженерных вычислений», которая ничего не может, каторая дырявая вхламину, каторая использует стопицотый дырявый протокол, через каторую переломают всех, и каторая сломает всё. И всё вместе с калькулятором — будет жрать гигабайт, ибо оно же на иликтроне будет собрано, с песочницей, браузером и прочей невменяемой фигней. Вместе с этим вы обязательно получите в комплекте блоатварь, каторая вам абсолютно бесплатно прилепит загрузчик десятки, а так же совершенно бесплатно, основываясь исключительно и только на ваших и только ваших предпочтениях — вместо калькулятора при загрузке калькулятора — 90% окна калькулятора забьет совершенно и абсолютно бесплатно и опять же основываясь исключительно и только на ваших предпочтениях — опять и снова исключительными предложениями, от которых вы в качестве исключения не сможете отказаться. Майкрософт заботится о вас. (с)
      пс: А в итоге потугов калькулятор ессно откатят на старый. Дело же вовсе не в калькуляторе))))
      ппс: Вы то вроде как пошутили. А я то вовсе нет…


      1. maslyaev
        13.03.2019 21:07

        А в итоге потугов калькулятор ессно откатят на старый.
        Не получится. Прогресс так не работает. Вектор — только в сторону блотваризации. Плюс рекурсивно уходящие за горизонт зависимости. Только это модно, только это молодёжно.


  1. SvyatoslavMC
    14.03.2019 09:08

    Интересно сравнить код с другим популярным калькулятором? Запилил для вас хабрапост: По следам калькуляторов: Qalculate!

    Если кто-то пропустил обзор ошибок в коде калькулятора Windows, то вот.


  1. xl-tech
    14.03.2019 11:08

    Ура, теперь те кто не обновляют систему могут поправить крайний правый ряд кнопок :)