4 ms·
Save 5 MB and condemn yourself/your team/your company to the hell of maintaining multiple code bases that all do basically the same thing but subtly different a
by nbevans 13y ago
Save 5 MB and condemn yourself/your team/your company to the hell of maintaining multiple code bases that all do basically the same thing but subtly different and written in different languages.
Sounds like a dumb ass decision.
It's the sort of logic that makes people pick C or C++ when a managed language would have been more appropriate.
- pjmlp 13y agoNumber 1 reason to uninstall applications on Play Store, executable size, Google IO 2013. Plus Mono does not save you from writing multiple UI code anyway.
- nbevans 13y agoYes it does. Look at the MvvmCross project. Also struggling to verify that claim re. executable size, can you provide a link? Either way, average app size on Android seems to be around 3MB. A typical Xamarin-compiled app is around 4 to 4.5MB.
- pjmlp 13y ago> Yes it does. Look at the MvvmCross project. This is a cross platform implementation of the MVVM patterns, you still need to write the platform specific views. And to be honest, given my experience on .NET enterprise projects, MVVM brings me back J2EE 1.4 memories. > Also struggling to verify that claim re. executable size, can you provide a link? Someone mentioned it to me on a Reddit discussion. We have the policy to only use vendor supported languages, to minimize support issues and take advantage of performance. I should add the mobile apps I was involved were games.
- quacker 13y agoI'm curious how well these tools work. Having a single unified code base and supporting all (desired) platforms is every developer's dream. I'm skeptical because supporting multiple operating systems can be a headache even for desktop apps. I remember Facebook originally used HTML5 to support all platforms. This did work, but they became unsatisfied with the performance and ended up rewriting both the iOS and Android apps in native code.[1] The killer quote: "I think the biggest mistake we made as a company was betting on HTML5 instead of native," Zuckerberg said...[2] Granted, this was a different situation. They were using HTML5, and it looks like Xamarin compiles to native code. You mentioned slightly larger executable sizes, so I'm curious about the performance. 1: https://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-ios/10151036091753920 https://www.facebook.com/notes/facebook-engineering/under-th... 2: http://www.computerworld.com/s/article/9234695/Facebook_debuts_speedier_Android_app http://www.computerworld.com/s/article/9234695/Facebook_debu...
- nbevans 13y agoIt works well. It takes advantage of Portable Class Libraries (PCLs) in .NET which can target just about any platform including Xbox's. Basically all your UI logic sits within these PCLs. And the only stuff you have to write/design for each platform is the actual screen layouts. Then you just setup the data bindings back to your models. It's a shame this is news to people on here. It seems like the real innovation that goes on in .NET and Mono land is largely ignored or just swept under the carpet by the hipster community. The larger executables is because it has to embed the Mono VM, and some base class libraries. I've not really looked into performance versus Davlik; probably because I've not yet encountered any show-stopping performance issues.
- revetkn 13y agoHow do you write UI code to make apps look and feel correct across platforms? Does Xamarin already support the API changes in iOS 7?
- happy_dino 13y agohttp://blog.xamarin.com/introducing-ios-7-support/ http://blog.xamarin.com/introducing-ios-7-support/
- nobleach 13y agoWhat is extremely telling about this whole ordeal is how awful the facebook app on iOS is now. Their biggest issue (they claimed) with their HTML5 version was adding new elements as a user would scroll. The DOM operation was said to be both costly and leak memory like crazy. Sencha Labs has shown that they were able to accomplish it just fine. Where I feel they should place some of the blame is the backend architecture. Perhaps the app doesn't scale well. Perhaps they should research what the proper amount of data is to send to any given device. Implement more of a lazy approach. They have some very brilliant people working there. I find it hard to believe that HTML5 can be blamed totally for their app's poor performance.