There are a lot of questions on the internet about the future of mobile development, especially the difference between native and hybrid mobile development.
Before we dive into this discussion, it is important to understand the basic difference between native vs hybrid mobile development:
Hybrid App: Developer augments web code with native SDK. Can be easily deployed across multiple platform and is usually the cheaper and faster solution.
This is platform (iOS, Android etc.) specific and requires unique expertise. However the full potential of the platform can be leveraged which will drive great user experience and larger app capabilities (especially around phone hardware). Can be pricey based on requirement and may take longer to develop.
So, one of the main concerns of new mobile developers is if they should invest in native mobile development… Is it going to die? Read this article and find out!
If you’re dealing with Android development for some time, you know that there are other popular hybrid frameworks like React Native, Xamarin etc. for developing both Android and iOS. The fact is that technology doesn’t vanish away all at once, but the extreme growth of JS might made people worried a little. Lets think whether JS and Python going to take over? Should you stop doing native development and start learning these hybrid technologies?
This is a really good question because you know what, when mobile – when iOS and Android first came out everyone was predicting that – what was it, like, app – I can’t even remember the names of the frameworks. Anyway, there has always been hybrid frameworks that have come out and everyone was predicting that native development was not the way to go and native development was not going to be the future and that it was all going to be developed in the browser. In fact, Firefox OS, look how popular it is, do you have phone Firefox OS? Have you ever seen a phone with Firefox OS? It’s based on the concept of having it all be web based.
This is great. It makes sense to me to use hybrid development, but we haven’t seen it happen yet. The fact is that the phones still are not powerful enough that the hybrid, the pure hybrid experience is good enough that everyone has abandoned native apps and gone to that. Now, there are a couple of distinctions I’d like to make here. One of them is that, you know, Xamarin and hybrid is not quite the same thing.
But the thing is like that’s different. The Xamarin stuff is technically native. It’s cross platform but it is not hybrid. It is not in a web browser. It actually compiles down to native code and you get native binaries that get installed on the devices.
Lets focuce on developing on iOS and Android (and it was Windows phone but not anymore, still I believe there will be a new Windows thing). Developing on all those platforms natively, in the native language is difficult.
What to Choose?
I do think that if you’re just going to be just a purely native Android or OS developer that that’s probably not the best choice. Now, with that said, even with my own personal biases, I think if you’re an Android developer you’ve still got at least 5 years of doing native Android development, maybe 10 years. There are still COBOL developers that are working on mainframe systems. So there’s going to be Android applications, there’s going to be Legacy Android applications even if everyone goes to hybrid or cross-platform development tools, there are still going to be the stuff to support. There are still going to be people that are going to use it just like COBOL so I wouldn’t worry there.
IF you want to go where you’re going to be most useful and where the most money is going to be, I would look at some kind of cross-platform. I wouldn’t worry about – don’t try and win this battle between hybrid and native. Instead, look at cross-platform, because cross-platform is where it’s at. The hybrid native thing, nobody knows exactly how long this battle is going to go on. It’s difficult to say if ultimately hybrid is going to win. What is clear, there is a pendulum, and it swings back and forth on the web and it swings back and forth on the desktop. You have periods of time where, remember, everyone was going to Flash and everyone was basically creating these thick client applications inside of the web browser. We’re kind of there now. We have single page applications, and React and so we’re able to build essentially thick clients inside there and then we went to where we had it super light with Web 2.0 or that came first, but we go back and forth.
If I were you, I would look at cross-platform.