3 ms·
That's actually not what we see with our customers and their apps. Here is a real-world example of code sharing percentages for an iOS, Android, and Mac app wr
by natfriedman 14y ago
That's actually not what we see with our customers and their apps.
Here is a real-world example of code sharing percentages for an iOS, Android, and Mac app written in C#:
http://lipsky.me/blog/2012/9/11/touchdraw-code-reuse-updated http://lipsky.me/blog/2012/9/11/touchdraw-code-reuse-updated
And here is another one across iOS, Android, Mac, and Windows, also in C#:
http://praeclarum.org/post/31799384896/icircuit-code-reuse-the-fourth-edition http://praeclarum.org/post/31799384896/icircuit-code-reuse-t...
Both of these apps are using 100% _native widgets_ for their user interface, and I think it's fair to say that both of them are fairly UI-heavy. And yet they average >70% code sharing.
It should also be pointed out that these apps were written from scratch. In fact, Jon Lipsky didn't even know C# before he started writing TouchDraw (the first app I linked).
- king_magic 14y agoNot all code is created equal. That 30% that needs to be rewritten for each device could be difficult to tune for each platform. Personally, I'd like to see some more information on what exactly was reused.
- gte910h 14y agoThose charts need 3 wedges: Shared non-interop layer code, interop layer code, and non-shared code. If 50% of that green wedge is interop layer code, you see why this isn't good. Additionally, you really want "Time spent per area", which is very different from LOC in some cases. But thanks for showing real data for named projects. Mine is from some LOC counts on customer projects (and not directly sharable), and from Mono____ advocates in the Atlanta iOS group.
- redth 14y agoLet's not forget WshLst example which uses MvvmCross to achieve about 70% code reuse for UI heavy apps that use the specific UI bits on each platform: https://github.com/Redth/WshLst https://github.com/Redth/WshLst