Обзор проекта ModernLife
Игра в жизнь и другие сотовые автоматы Conway, кодированные с C ++/Winrt, Wil, Winui3, Win2d, GSL
Почему?
Я выучил C ++ на C ++/98 Итак
- Это отличный способ узнать об улучшениях в C ++ от C ++ 14.11.17.020
- Это отличный способ выучить наш рекомендованный путь разработки приложений Windows
- Cellular Automata - это то, что меня интересует
- Проект включает в себя много хороших возможностей для обучения
- Xaml, xaml -связывание
- Многопоточный
- Синхронизация
- Таймеры
- Холст и рисунок
- std :: и gsl :: и wil ::
- Дизайн класса и многое другое
Рекомендуемое чтение
- https://abseil.io/tips/
- https://google.github.io/styleguide/cppguide.html
- http://isocpp.github.io/cppcoreguidelines/
Требует
- Visual Studio 2022 Предварительный просмотр https://visualstudio.microsoft.com/vs/preview/
- Git https://git-cm.com/downloads
- Github account
Включен в решение
- Winui3 https://www.nuget.org/packages/microsoft.winui
- Cppwinrt https://www.nuget.org/packages/microsoft.windows.cppwinrt
- Win2d https://www.nuget.org/packages/microsoft.graphics.win2d/
- Wil https://www.nuget.org/packages/microsoft.windows.implementationLibrary
- GSL https://github.com/microsoft/gsl
Узнать больше
- Win2d http://microsoft.github.io/win2d/winui3/html/introduction.htm
- Приложение Windows SDK здесь https://docs.microsoft.com/windows/apps/windows-app-sdk/
- Winui3 здесь https://docs.microsoft.com/windows/apps/winui/winui3/
- C ++/winrt здесь http://aka.ms/cppwinrt/
Внося
Выберите проблему из списка, разделите репо, внесите свои изменения и отправьте запрос на вытягивание. Если вы найдете проблему, подайте ее. Используйте Performance Profiler, чтобы найти узкие места и проблемы с файлами. Запустите различные разрешения экрана и DPI. Построить и отлаживать на устройствах ARM. Напишите тесты. Написать документацию. Написать код. Напишите больше кода. Запустите анализ кода и файл и исправьте проблемы. Очистите дизайн класса. Действуй.
Обновление подмодулей
Из терминала Windows в корнере Butternut выполнить обновление подмодуля git -remote -merge