4 ms·
I've always been a believer that if writing a new, innovative application, that using native code seems to be the most productive/efficient path. I do know that
by beacham 10y ago
I've always been a believer that if writing a new, innovative application, that using native code seems to be the most productive/efficient path. I do know that there are tradeoffs in any decision like this. I also know and accept that this is just an opinion.
- FindMySocks 10y agoIt honestly depends on how complicated your app will be, and how talented you already are as a developer. But in truth, you should probably be looking at making your Minimal Viable Product in whatever you are the most comfortable in. Because you'll want to get it out and in potential customers hands as fast as possible and prove that your idea really is as useful to people as you believe. I'm also going to take a stab here and say that you're probably not a super experienced developer, because trying to launch and support an app across two different platforms in different languages almost simultaneously isn't an easy feat to manage.
- jklein11 10y agoFor the sake of discussion could you elaborate on why native code will be more efficient/productive? Is it the additional layer of abstraction? Or is it an issue of the uncanny valley? I understand that you may not want to discuss anything proprietary to your app, but I'm interested in understanding your thought process.
- beacham 10y agoAbsolutely. Although, I'd like to say that most of the time people get into discussions like these, it ends in an "agree to disagree" conclusion because, in my opinion, the truth of the matter is it all comes down to tradeoffs and opinions. I need to keep this short due to wife so I probably won't be able to get my full opinion across. From my experience, I believe that the additional layer of abstraction provides a faster and easier development experience upfront, but generally (not always) comes with an additional layer of bugs, troubleshooting, updates, etc. I read an article on here the other day about whether Xamarin was worth learning. I loved a comment that one user name eonil left: What you have to deal with; Xcode = iOS bugs + UIKit bugs Xamarin = iOS bugs + UIKit bugs + different runtime, language, memory model abstractions + .NET bugs + P/Invoke bugs & overheads + GC inter-op bugs & overheads + C# bugs + slow followup of platform updates Xamarin Forms = iOS bugs + UIKit bugs + different runtime, language, memory model abstractions + .NET bugs + P/Invoke bugs & overheads + GC inter-op bugs & overheads + C# bugs + slow followup of platform updates + extra UI abstraction layers + lack of fine level controls & features https://news.ycombinator.com/item?id=12948611 https://news.ycombinator.com/item?id=12948611 While I know this is specific to Xamarin and is only an opinion, I tend to think similarly about layers of abstraction over a language. Clearly there is abstraction all over the place that I couldn’t go without, but maybe I’m not just not yet ready to accept another one.
- pawadu 10y agoI fully agree with what eonil wrote, but remember that environments like Unity also come with a lot of tools and samples to simplify your development.