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.
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). Can be pricey based on requirement and may take longer to develop.”
(Source: https://julyrapid.com/hybrid-vs-native-mobile-app-decide-5-minutes/)
So, one of the main concerns of new mobile developers is if they should invest in native mobile development… Is it going to die? Watch this video and find out!
John Sonmez:
Hey, what's up? John Sonmez here from simpleprogrammer.com. Hey, I just want to give a quick thanks to one of our sponsors at Simple Programmer which is DevMountain Bootcamp. You should go check them out. The link is in the description. They are a coding bootcamp and they can teach you web development, iOS development, UX design, a lot of good stuff. I get a lot of feedback from a lot of you out there that email me have told me about DevMountain, so I decided to check them out myself. I like what I found. I like their programs. They offer some 12-week intensive programs. They also offer some after-hours programs which I know that some of you will like. Go check them out. You can see the link in the description below, DevMountain Bootcamp. A big thank you to them for sponsoring Simple Programmer.
So, I've got a question about mobile development. I've definitely done quite a few videos on mobile development. You can check out the playlist on mobile development stuff here if that's what you're interested in, in Android and iOS. I've done a lot of mobile development in my career, in my former life as a coding developer instead of a YouTuber, but I always get these questions about native mobile development. This one is about whether or not native mobile development is going to die.
This question is from GS. GS, “I have been doing Android development for over a year now. There are other popular hybrid frameworks like React Native, Xamarin etc. for developing both Android and iOS. I have been reading a lot about hybrid development taking over. I know technology doesn't vanish away all at once, but the extreme growth of JS has made me worried. What do you think, is JS and Python going to take over? Should I stop doing native development and start learning these hybrid technologies?”
This is a good one. 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 that sucker 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. I'm a big fan of Xamarin, full disclosure, I'm a Xamarin MVP and I've worked with those guys. I spoke at Evolve. You can check out my talk where I spoke at Evolve here. I thought it was a good talk. I liked it.
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. 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 believe that Xamarin, I think I did a video on this. You can check out the video I did about Xamarin or the future of Xamarin. I'm all in on that idea, because I think that developing on iOS and Android and it was Windows phone but not anymore, but there will be a new Windows thing, there will be. Developing on all those platforms natively, in the native language is difficult and I know it because I did it. I wrote iOS applications and Android applications natively. I taught courses on them. I'm intimately familiar with doing native development with porting and supporting the different platforms and it's a pain in the ass. I started developing my own framework and then Xamarin forms came out and they basically did what I was doing.
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. I mean, hell, 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, 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 needs to be on what is the best cross-platform tools that are winning and pick one of those, pick a winner there. Like I said, I think Xamarin is the choice that I'd pick. I happen to 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 like I said, if you're an Android or iOS developer you're going to have a job for 5, 10 years. 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 for me-me. For me-me? You can email me-me or you can email me at john@simpleprogrammer.com and if you haven't subscribed already, click that Subscribe button below. Talk to you next time. Take care.