Hey, what's up, John Sonmez from simpleprogrammer.com.
So I’ve done a little bit of videos, a few videos on mobile applications, mobile development.
I was doing a lot of work in that space before I really started delving hard into Simple
Programmer but I still like that space a lot and I still follow it. I’m actually changing
my stance on something here. I’ve got a question, I thought this was interesting,
about hybrid apps. It says, “Hi John, I wanted to know your thoughts on hybrid apps.
In the past post you’ve explained the importance of getting into mobile development due to
growth in web consumption via mobile devices. The numbers also back this up. In the past
apps that were built using HTML/CSS and JavaScript weren’t seen as a strong viable route due
to not having that “native feel.” However, I’ve seen some real advances in the past
couple of years specifically with Ionic that I’d like to think are closing the gap. As
a .NET guy and brand new to mobile development I guess my question is, am I taking the easy
way out by completely bypassing learning Swift and Java and just focusing on frameworks like
Ionic in which case I should really start focusing on Swift and Java or even Xamarin
or am I standing on solid ground taking the hybrid app path? Thank you.” This is from
Jason. About 2 years ago I would have said, “Absolutely,
you have to be doing native development” that you should learn Java, you should learn
at that time Objective C or Swift or you should go the Xamarin route. I still think that Xamarin
is a good option. I did a video on iOS or Android which is better essentially and I
got to talk a little bit about Xamarin there. At the time I’m recording this Microsoft
had just bought Xamarin so that’s another plus in the Xamarin side.
On the hybrid side it’s interesting to see where phones are going. Two years ago what
would happen is when you load a hybrid app in your phone it would obviously be slowly,
you could tell it was really a web page and it didn’t quite have that native feel. But
there’s been 2 kinds of advances that have happened in the mobile space. One, certain
browsers built into the app have made some of the JavaScript elements look more native.
That’s good. Two, the speed of these devices has increased dramatically.
Now, I still think that the biggest thing that’s holding us back in the technology
world today, not just in mobile development but in technology completely is battery. I
think once we get to the point where we have batteries that perform 10 times better than
what we have now, and I believe we will have that breakthrough and it will happen, then
we’ll have this huge explosion and one of them will be in processing power on mobile
devices. Already processing power on mobile devices is increasing extremely rapidly.
What I would say is that based on those 2 things in the future we’re probably not
going to be native. It’s probably going to be co-interpreted. It’s probably going
to be a hybrid app and you’re going to be able to run apps in the browser. It’s going
to run so fast that it’s not going to make a difference and we’re getting real close
there. I’d say even today like you said, using Ionic framework, you can get to the
point where it’s really hard to tell that this is a non-native app.
So I’m sort of not sure, right, I’m not sure which way we’re going to go. I think
that either way that you can make an argument and that you’d be on solid ground. I do
think that—it’s a question of how long will it take for it to get there. I think
hybrid app has always been where things are going to go, but before, in the past, I’ve
argued against it because I said, “Well, who knows how long before the mobile devices
get there and catch up to it?” You don’t want to put your stake in the ground way,
way up here. Being too early is bad, right? The Apple Newton was the iPad before it was
popular. It was too early and Microsoft had a tablet computer before the time of the iPad.
If you’re too early that’s bad so you don’t want to be too early.
But I think at this point it’s eminent that it’s going to catch up, that hybrid is going
to catch up that the devices are going to become fast enough, that the mobile browsing
experience is going to become good enough that you could—and right now you can make
a living creating hybrid apps and that could become the de facto standard in a very short
time. I would say at this point in time you could
go either way. I think that we’re not going to have a clear winner or loser. I would personally
try and at least have some experience in both sides, to be honest, so that you can go either
way. I would pick one as a specific dominant specialty that you’re going to choose and
then I would make sure that if I were going with the Ionic and hybrid apps that I would
understand enough about the basic that I’d know enough Java and Swift and native application
development to at least do some very simple development so that you can go that direction
if you need to. But yeah, I would say at this point if you wanted to just go hybrid and
you felt like that was the future that that would be a safe bet to make and that you’ll
do fine with that. But we’ll see. In about a year from now I think we’ll know for sure.
I think we’re about a year away from knowing for sure and the whole native side could totally
collapse on us. I don’t think the hybrid side will.
Before where I said put your chips in the native basket, now I’m saying probably the
hybrid side is probably a better place if you’re going to put your chips somewhere.
Good question. We’ll see, maybe I’ll do an update video in a year from now. If you
like this channel, subscribe. Take care.