Native Mobile Development: Is It Going To Die?

 

There is always a lot of confusion about the future of mobile development, especially the difference between native and hybrid mobile development.

Before we move on, it is important to understand the basic difference between native vs hybrid mobile development:

Hybrid App: In hybrid app, the developer augments web code with native SDK. It can be deployed easily across various platforms and is generally the cheaper and faster solution.

Native App: 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). This can be costly as per requirements and may take more time 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?

This is a good question as you know, when smartphones—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,  the hybrid frameworks were always been present, that have come out and everyone was predicting that native development was not the way to go and native development wasn’t work in the future and that it was all going to be developed in the browser.

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.

Read Also: Browsers, not apps, are the future of mobile

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 basically compiles the code to native code and you get native binaries that get installed on the devices. I want to make that distinction clear because you've got to really take that into account when you talk about the hybrid versus native. 

I suggest 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 experience in native Android development, maybe 10 years. I mean, the COBOL developers that are working on mainframe systems are still there. 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 people who 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, I don't know how long this battle is going to go on. I don't know if ultimately hybrid is going to win. What I can tell you is that technology, as far as thick client thin client, which is what we're talking about here is like 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—we had a period 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 all this stuff, 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. 

I wouldn't worry necessarily about that. If you want to get into web development, yeah, learn JavaScript and Python. If you want to stay on mobile development then figure out what is the best technology for mobile development. Maybe that's going to be a cross-platform hybrid technology or framework. If that's the case, then yeah, maybe you're going to have to learn some JavaScript and Python if you want to do that, but that might not be the case. Your focus needs not be on figuring out whether or not hybrid or native is going to win. It required to be on which is the best cross-platform tools that are winning and pick one of those, pick a winner there. As I said, I think Xamarin is the choice that I'd pick. I like C# and I feel like with Microsoft backing Xamarin, owning Xamarin essentially now that there's—that's a pretty good bet. I'd place my bet on Microsoft backing a technology because they're going to be a lot of support. There's probably going to be a lot of use for that. But as I said, you're going to have a job for 5, 10 years, if you're an Android or iOS developer. It's not going to be a problem. The COBOL developers are still around. If I were you, I would look at cross-platform. 

All right, I hope that answers your question. If you have a question in mind, feel free to ask in comments.

Also Read: mobile app development using apache cordova


  Modified On Mar-20-2018 03:58:11 AM

Leave Comment