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 the solid ground taking the hybrid app path?
What Has Changed? Hybrid vs. Native App Development
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.
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.
However, There’s Been 2 Kinds oF Advances That Have Happened In The Mobile Space
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 also 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 two 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 as you said, using Ionic framework, you can get to the point where it’s hard to tell that this is a non-native app.
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 it to get there. I think hybrid app development has always been where things are going to go, but before, in the past, I’ve argued against it.
Better Too Early Than a Little Late
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.
We Don’t Have… No Winners!
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. 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.
Can You Get That Native Experience in a Hybrid App?
You absolutely can. The most important thing to understand though is what a hybrid app actually is? We can look at something called Cordova which is a popular framework for hybrid apps to kind of understand this.
Well you’ve got to keep in mind, it’s still a webview and it has the limitations that wasn’t pass for example heavy graphic intensive applications and stuff like that. You’re really limited to the rendering engine of the browser of that particular device which can change even between devices.
Many Android devices don’t have similar web browsers so why would you want to use a hybrid framework.
It Comes Down to Budget and…
First thing is budget because you can do a lot more with a lot less. You don’t need to have an Android team, an iOS team, a Windows team, and a web team. You can essentially do all of that with one team, which also means it’s easier to implement a new feature. You don’t have to write it four times you just have to write it one time.
Another extreme example of this is having an app that is in 20 different markets across the United States. You don’t want it to look the same and have the same functionality. You can make 20 different apps for all of the different platforms while only editing one codebase.