title: What are the key differences between between the Dart Streams API (with rxdart) and other reactive libraries such as RxJava and RxJS?
body: <p>Right now I'm trying to port the logic of an existing reactive Angular application (RxJS-based) to Flutter. I'm facing a lot of problems with the dart streams API, which seems to behave quite differently than other Rx implementations.</p>
  
  <p>What are the key differences in regards to:</p>
  
  <ul>
  <li>error and completion events</li>
  <li><code>null</code>/<code>void</code> value handling</li>
  <li>stream reusability</li>
  <li>multicast (<code>publish</code>, <code>refcount</code>, <code>shareReplay</code>)</li>
  <li>subscription management</li>
  </ul>
  
  <p>?</p>