Esri / devsummit-feedback

A place to leave feedback for the devsummit
3 stars 2 forks source link

Quartz and Open Source / github collaboration #2

Closed snodnipper closed 7 years ago

snodnipper commented 8 years ago

Given that Quartz is C/C++, can ESRI open source the Android / Java wrapper so that folk can raise issues and submit pull requests? It would be great to use the geometry-api-java geometry classes with the SDK.

EuanCameron commented 8 years ago

The majority of the code contained within the runtime architecture is C++ and is compiled natively on each platform. The API code that is written to expose the C++ functionality must always be in sync with the C++ code, and in reality there is not a huge amount of code there. We are currently not considering open sourcing this, as it is tightly coupled to the C++ internals and the release cycle.

You mention the geometry-api-java project here on GitHub. The Android API has its own geometry API, implemented in C++, and exposed in Java. I'd recommend while working with one of the runtime APIs you use the build in Geometry engine (it performs faster) rather than the geometry-api-java.

snodnipper commented 8 years ago

The main issue is creating reusable Java libraries using geometry as a foundation class (similar to String) - which may be distributed on maven central etc. and used by any Java software.

To date, I have created reusable Java libraries with geometry-api-java geometries baked in. That is, a cycle track etc. is simply:

That, fundamentally, means that I don't need to create my own geometries or use JTS...only to write adapters to get those geometries to paint on an ESRI map.

Ideally, we would have a consistent set of pure Java ESRI geometries that we can use with our business code and simply pass to the map, which will create a geometry implementation according to whether the software is running on Android or any other supported Java environment - yielding the desired performance characteristics.

I raised this as an issue and passed some comments on Early Adopter Community > ArcGIS Runtime SDK for Android > Java Geometry API / Android