maputnik icon indicating copy to clipboard operation
maputnik copied to clipboard

Emulation mode for SDKs (JS/iOS/Android) support

Open gregwolanski opened this issue 7 years ago • 8 comments

gregwolanski avatar Oct 20 '18 09:10 gregwolanski

So I guess another way to look at this would be to have a 'emulation mode' and filter out fields that are not supported on certain platforms. So if 'iOS emulation' was selected a number of fields would be disabled and marked as so in the editor.

My thinking is that listing what is supported might not be that helpful, because ultimately you want to target a style at a set of platforms. So if a feature is missing from a platform you want to see how that will effect your style.

Questions?

  • Does that make sense?
  • Is there something obvious I'm missing as to why that wouldn't work?
  • Any other thoughts?

orangemug avatar Oct 31 '18 18:10 orangemug

Does that make sense?

In general yes.

Any other thoughts?

  • What happens if a style with unsupported features is used with iOS/Android/macOS? Are they ignored or is the style not working in general?

  • There are also differences regarding what kind of features are supported within one platform, e.g. see SDK support for GeoJSON sources. So you would need a lot of different emulation modes.

  • It would be a lot of work to keep this all up-to-date with the style spec, in my opinion not possible to do it manually. Such emulation modes would need to be synced automatically with the style spec.

pathmapper avatar Nov 01 '18 18:11 pathmapper

What happens if a style with unsupported features is used with iOS/Android/macOS? Are they ignored or is the style not working in general?

That's my understanding, we'd need to check though

It would be a lot of work to keep this all up-to-date with the style spec, in my opinion not possible to do it manually. Such emulation modes would need to be synced automatically with the style spec.

We have this information from the style-spec already, for example https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/reference/v8.json#L1019-L1025

There are also differences regarding what kind of features are supported within one platform, e.g. see SDK support for GeoJSON sources. So you would need a lot of different emulation modes.

True, I guess that's also true of the web target currently also though

orangemug avatar Nov 01 '18 20:11 orangemug

True, I guess that's also true of the web target currently also though

Maybe it would be sufficiant to have an emulation mode only for the latest release of each platform.

pathmapper avatar Nov 01 '18 20:11 pathmapper

@orangemug this issue remains open because of the emulation mode, right?

pathmapper avatar Apr 12 '20 18:04 pathmapper

Correct @pathmapper, although I don't think it's something we should prioritise anytime soon.

orangemug avatar Apr 12 '20 19:04 orangemug

Thanks @orangemug, updated the issue title.

pathmapper avatar Apr 12 '20 19:04 pathmapper

And yeah, I also think this is something for later.

pathmapper avatar Apr 12 '20 19:04 pathmapper