The node software is the backbone of the IOTA and Shimmer networks. Individual nodes run the software to help maintain the state of the ledger through peer-to-peer communication. Nodes are also entry points to the network for users. The node software implements the core protocol that defines the network rules.
Hornet started out as an EDF-supported community node written in go and matured into the official node software implementation maintained and developed by the IOTA Foundation. It has already proven itself to be a stable and performant implementation, furthermore its IOTA Node Extension (INX) framework introduced for Stardust eases the development of application specific node extensions.
Bee is an IOTA Node implemented by the Foundation and written in Rust.
At this stage, we recommend using Hornet since it has several optional features that are not implemented in Bee so far.