Why Different Object Models in iOS and Android?


#1

It’s a little crazy that the object models are different between the iOS and Android versions.

I mean, why not use the existing iOS model when creating the subsequent Android one? I’m going through line by line changing references in my cross-platform app such as:

Android

xAxis.Style.MajorTickStyle.ShowTicks = false;

iOS

xAxis.Style.TickStyle.MajorTicksShown = false;

Minor, but a pain. I guess there's not a central documentation team, or they would have said, "WTF guys? A new object model?"

#end_rant


#2

Wow.

New favorite.

Android

chart.xAxis.PanningOutOfMaxRangeAllowed = true;

iOS

chart.xAxis.AllowPanningOutOfMaxRange = true;


#3

All this being said, I much prefer the Android object model and procedural rather than interface approach to loading series and data.


#4

Hello jbeans,

Thanks for your feedback. Here at ShinobiControls whilst we do strive for parity between the iOS and Android products, we also operate a culture of continuous improvement. Our Android product time line is a little behind its iOS counterpart and as such we have favoured improvements which make the api clearer and more logically correct. Furthermore some differences have been influenced by the decision to make the api more in line with the Android style of coding.

That said, we always welcome customer feedback and we will certainly feed this back into the future development of our products.

Thanks again for your input.

Kind regards,

Kai.


#5

My comments sound harsh, I guess, sorry about that. I was just having a day of it, going through and editing my cross-platform app.

As I mentioned, I do like the Android architecture, and it is working now. It was kind of a pain to figure out how to do customer renderers to get it working in Xamarin.Forms on both platforms, but now it’s working.


#6

It’s not a problem jbeans - we really do appreciate the feedback!

Thanks,
Jan


#7

I have the same issues.  A good compromise for me would be for Shinobi to start supporting Xamarin.Forms.  Shinobi can produce a common API by way of a Xamarin.Forms control and just reuse their existing platform specific implementations in the Xamarin.Forms platform renderers.  Yes, we as developers could do that and I am sure many of us have, but it is better of Shinobi does it so we all benefit.


#8

Amen. My app is also in Xamarin.Forms, and I had to write platform-specific GraphManager.cs libraries for each platform.

I would MUCH, MUCH prefer to write one library for charting, with small platform tweaks if necessary.