I am just curious to have an open conversation with other folks developing with Holochain how their experience is. Obviously, I can start, and share a few reflections.
- rust-analyzer as a hint system for developing with Holochain within VSCode (extension) is really great. Inline help with Rust compilation is huge.
- composability of ‘apps → dna → zomes’ shows big promise in terms of publishing Rust crates to crates.io and community code and pattern re-use. This is more theory than practice at the moment, but some crates are being published on holochain-open-dev and that has promise
- The background handling of complexity in cryptographic signing, from an app dev point of view is very nice. calling the simple hdk functions to perform signing is elegant.
- the community of developers really is fun to talk with and very supportive, and generous with time.
- it is fun to build “serverless” systems and really push back the corporate cloud. sovereignty feels like real potential
- signals system is great for realtime
- network stack is coming together, and decoupling of ‘discovery’ services (bootstrap) from ‘connection handling’ services (proxy) feels like the right balance of providing simplicity for users without sacrificing ideals of decentralization bootstrap services and proxy services have performed well during my testing
- composability of hApps via ‘apps->dna->zomes’ is very confusing, and seems to always be in transition to something else thus not ever getting crystal clear
- I keep running out of space on my Macbook Pro because Rust projects compiled in debug are huge, and add up space wise very quickly
- since Holochain downgraded nix support for MacOS quite a while ago it was a huge loss and I still haven’t got back on board the nix train, even though I think they’ve brought back support. Use of nix overall has been extremely patchy, from a mac point of view
- documentation is super sparse
- wherever and whenever possible, wait for anything resembling a stable release before adopting, it will save you + the core team frustration and effort (it can feel hard to wait, but patience seems to be the name of the game here)
- build in Rust where you can and pin Holochain versions via their GIT SHAs instead of branch names or other less fixed identifiers, in your Cargo.toml, also, list out and track well the Holochain revision you use, and list the date of the commit as well as the SHA for context to the reference. This will create an experience of consistency and reproducibility during your development
there’s some of my reflections thrown down, how about you??