I just opened a PR to remove support/dependency on Blink that I expect will be controversial, check it out for more details. There are some good reasons to remove the dependency on Blink, but I recognize that my workflow of exclusively plotting in Jupyter may not be the norm.
(I also use PlotlyJS directly and not through Plots.jl. I don’t know if/how that has bearing on this discussion.)
Not an answer to your question, but over in Bokeh.jl we only support basic rendering to HTML or the browser and a separate package BokehBlink.jl provides the option to render with Blink. I think it works very nicely.
Neither, I always use savefig and open the local file with Firefox.
I also have a convenience function the uses sed on the resulting html to redirect the external javascript files to local copies, so that I can use it offline.
I use PlotlyJS directly in the REPL but plot to ElectronDisplay, not Blink. Still, the PlotlyJS package has a dependency on Blink. I have not tested whether this could removed and not compared the loading times of using ElectronDisplay vs using Blink.
PlotlyJS has the ability to update existing plots with WebIO (without re-displaying) and use Observables to respond to changes in plots (e.g. hover events, clicks, etc), and its one of the reasons I use PlotlyJS. However, that functionality is not present in PlotlyBase or PlotlyLight.