Show HN: Lifeee – Conway’s Game of Life with an infinite zoomable grid

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • lexicon-rs

    A parser for Conway’s Game of Life Lexicon

  • lifeee-rs

    An implementation of the Game of Life

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • yew

    Rust / Wasm framework for creating reliable and efficient web applications

  • Hi all! Here is the latest Rust side project I’ve been working on for the past couple of weeks: Lifeee, an implementation of John Conway’s Game of Life.

    It was the opportunity for me to continue my Rust learning journey, and I think I’m finally starting to feel a bit comfortable with the language, especially ownership :). I also wanted to discover what was possible when using Rust for frontend development, and I must say I was so impressed by Yew! I didn’t think it would be so nice to use, especially since I have quite some experience with React.

    A big difference compared to the various implementations you can find (often in Rust and Yew tutorials) is that the grid is infinite. This means that you can drag it to move in all directions, but also zoom in and out. This was probably the most challenging part of my project and involved a lot of calculus and doodles in my notebook! Also, since I used a canvas to draw the grid (and not DOM elements), the simulation is pretty fast even when a lot of cells are displayed :D

    What I learned during this project:

    - Use Yew [1] for frontend development: not very different from writing React components, with the advantages of Rust as a plus!

    - Serialize/deserialize data: the available Game of Life patterns are extracted from the official Lexicon [2]; I parsed the text version to generate a serialized version (separate library: [3]) that I then import and deserialize in the app.

    - Build the web app using GitHub actions and deploy it using Netlify: pretty straightforward using Trunk [4] as a bundler (also used for development).

    You can find the source code of the app on GitHub [5]. Please tell me what you think of it! ;)

    [1] https://yew.rs/

  • trunk

    Build, bundle & ship your Rust WASM application to the web.

  • life

    Simple Rust implementation of Conway's Game of Life (by brundonsmith)

  • life

    Cellular automata engine in Rust (by DarkStar1982)

  • book

    The Rust and WebAssembly Book (by rustwasm)

  • Nice work. Funny coincidence I was just going through https://rustwasm.github.io/docs/book/ today, so Rust, WebAssembly, and the Game of Life was already on my mind.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • wxWidgets

    Cross-Platform C++ GUI Library

  • Nice. I made something very similar to this more than 20 years ago using wxWidgets. It is still included in the standard distribution as a demo:

    https://github.com/wxWidgets/wxWidgets/tree/master/demos/lif...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Surprisingly Powerful – Serverless WASM with Rust Article 1

    5 projects | dev.to | 27 Apr 2024
  • Show HN: Game of Life with grid editor in browser with Rust and WASM

    2 projects | news.ycombinator.com | 13 Dec 2023
  • Recreating the Apple Calculator in Rust using Tauri, Yew and Tailwind

    1 project | dev.to | 30 Nov 2023
  • Yew: Rust / WASM framework for creating reliable and efficient web applications

    1 project | news.ycombinator.com | 29 Nov 2023
  • Semantics of method which takes Rc<Self> and returns Rc<Self>?

    1 project | /r/learnrust | 14 Oct 2023