Just some different fields in the manifest, and there are specifics that work completely different or are not available (for example favicons).
I have tried Chrome -> Firefox before and it was surprisingly easy. Safari is more difficult in my experience, it's missing complete API's like the bookmarks one.
It is definitely possible, but not straightforward. With Manifest V3, the only way you can do this stuff is with the browser userScripts API. That is the only way you can execute remote code within the browser (and each script is considered "remote code").
These changes are the reason many of the existing userscript managers stopped working/being developed after MV3 went live. It is a real pain in the butt and unfortunately the functionality is not exactly the same between chrome and the generic browser API that firefox uses. There are a lot of edge cases that make everything even more of a pain.
Life would be much better (in many ways) if chrome didn't force MV3 down our throats.
Web extensions API is emerging and a lot of it is already somewhat standardized https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...
Just some different fields in the manifest, and there are specifics that work completely different or are not available (for example favicons).
I have tried Chrome -> Firefox before and it was surprisingly easy. Safari is more difficult in my experience, it's missing complete API's like the bookmarks one.