https://github.com/mgradwohl/modernlife
Conway's Game of Life in C++/WinRT/WinAppSDK/WinUI 3
https://github.com/mgradwohl/modernlife
gsl help-wanted looking-for-contributors winappsdk windows winrt winui3 xaml-winrt
Last synced: about 1 month ago
JSON representation
Conway's Game of Life in C++/WinRT/WinAppSDK/WinUI 3
- Host: GitHub
- URL: https://github.com/mgradwohl/modernlife
- Owner: mgradwohl
- Created: 2022-11-17T00:52:00.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-07T16:28:29.000Z (over 1 year ago)
- Last Synced: 2024-03-17T09:02:21.350Z (over 1 year ago)
- Topics: gsl, help-wanted, looking-for-contributors, winappsdk, windows, winrt, winui3, xaml-winrt
- Language: C++
- Homepage:
- Size: 679 KB
- Stars: 11
- Watchers: 1
- Forks: 1
- Open Issues: 17
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
ModernLife Project Overview
========================================================================
Conway's Game of Life and other Cellular Automata
Coded with C++/WinRT, WIL, WinUI3, Win2D, GSL
## Why?
I learned C++ on C++/98 so
- This is a great way to learn about improvements in C++ from C++
11/14/17/20
- This is a great way to learn our recommended Windows App Development path
- Cellular Automata is something that interests me
- The project includes many good opportunities for learning
- XAML, XAML binding
- Multithreading
- Synchronization
- Timers
- Canvas and drawing
- std:: and gsl:: and wil::
- Class design and much more
## Recommended reading
- https://abseil.io/tips/
- https://google.github.io/styleguide/cppguide.html
- http://isocpp.github.io/CppCoreGuidelines/
## Requires
- Visual Studio 2022 Preview https://visualstudio.microsoft.com/vs/preview/
- Git https://git-scm.com/downloads
- GitHub account
## Included in the Solution
- 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
## Learn More
- Win2D http://microsoft.github.io/Win2D/WinUI3/html/Introduction.htm
- Windows App SDK here https://docs.microsoft.com/windows/apps/windows-app-sdk/
- WinUI3 here https://docs.microsoft.com/windows/apps/winui/winui3/
- C++/WinRT here http://aka.ms/cppwinrt/
## Contributing
Pick an issue from the list, fork the repo, make your changes, and submit a pull request.
If you find a problem, file it. Use the Performance Profiler to find bottlenecks and file issues. Run on different screen
resolutions and DPIs. Build and debug on ARM devices. Write tests. Write documentation. Write code. Write more code. Run Code Analysis
and file and fix issues. Clean up the class design. Go for it.
## Updating submodules
From Windows Terminal
In the butternut root
execute git submodule update --remote --merge