Not to blow my own horn but my background is very intimately in Web-GIS (Bachelor's and Master's in geography), my career for 7 years has been in robotics and building web-UIs for real-time robotics GIS, so I think I'm probably an expert here.
I've used Leaflet for a few years and now OpenLayers for about 5 years to author UIs for monitoring robot fleets in real-time as well as build Web-GIS applications for mapping and configuring, autogenerating, validating the spatial datasets (fiducials, SLAM data, navigable positions, "zones", "pathways", etc.)
Leaflet is what I'd say will fit most people's needs when it comes to your standard web-map use cases. It's a beautifully designed library with a good level of modularity and lots of plugins. The API is great.
OpenLayers shines when you get into a lot more complex stuff. The symbology engine is phenomenally powerful and I found that the API plugs into more complex Redux-style state management in a more easy way than Leaflet.
I also found performance when doing high-volume, high-frequency data updates and interactions to be faster with OpenLayers.
That being said, I haven't dug deeply into Leaflet in about a year and things can change quite quickly!
I suspect the overwhelming majority of developers aren't doing anything all that novel or complicated. They're not making Web-GIS applications and probably will do just fine with either.
In what way is mapbox-gl not free? It's developed in the open, and works with all types of layers. I switched to mapbox-gl the moment it came out, because I already was making my own vector tiles as needed for interactive maps.
There is only one issue I encountered in the short few years it's been my go-to choice, which is that there are no plugins to integrate Google Streetmaps or Streetview. There are however, for leaflet as Google Mutant and Leaflet Pegman.
What is the level of maptalks integration with Google layers? How is it better than mapbox-gl?
Maybe I misunderstood, do you only pay for the tiles on mapbox? I’m just accustomed to having to use a restricted api key with mapbox.
If that’s the case I’m totally ditching maptalks for all it’s quirks.
And I don’t know of any libraries for google street view integration, but a dev I work with has done a fantastic job of integrating street view with map box. I’ll try to dig up some of his code
For some layers my projects do pay for MapBox tile service, but for other projects I use OSM extracts and self-made vector tiles. Mapbox charges only for the tile services, and there are multiple data sources out there, with which mapbox-gl works. It honestly the smart thing to do, as without such flexibility, I wouldn't be using their services or libraries at all.
> but a dev I work with has done a fantastic job of integrating street view with map box. I’ll try to dig up some of his code
This would be a pretty popular library, I am sure! The issue is that the Google EULA prohibits the use of their data directly, it has to be accessed using Google Maps SDK. So Google Mutant Leaflet plugin has to use the API to download the tiles and then exposes the Google Layer a custom Leaflet Layer, but it works :) On the mapbox issue tracker, they close all issues inquiring for help in implementing such a custom layer, so if your coworker did this, I'm sure it was a non-trivial exercise, kudos to him! :)