Flutter on Web does not support HTTP streaming (e.g. no support for MJPEG streaming)

I have been looking into the possibility of using Flutter and Dart to implement a control GUI for a camera, the main target is a web app, I am looking at flutter as an alternative to  web frameworks like React.  The flutter platform is very impressive and Dart itself is a nice little language.  Flutter promises that many platforms can be targeted with one code-base – iOS, Android, Windows, Mac and Web.  Impressive claims indeed, although I am normally quite suspicious of such single-codebase claims as I have been very disappointed in the past!

As part of my feasibility project I wanted to get an MJPEG video stream displayed  in the UI to show a live camera image, this was quite easy to do using the  nice flutter_mjpeg package, it was fairly easy getting it to work targeting windows, but it wouldn’t work at all on chrome, after some research I discovered that flutter does not support HTTP/s streaming and keep-alives on web at all the HttpClient just times-out waiting for the response to complete, which of course it wont when streaming – so if you are struggling with it you may as well give up for now!

This is quite disappointing as this functionality is easy to achieve with a “traditional” javascript based Web app, hopefully it will be implemented in the future!  In the meatime I will continue working with flutter and dart as it looks looks like a very capable platform.

Some more info:

https://github.com/flutter/flutter/issues/84252

https://github.com/dart-lang/http/issues/595