Mobile Apps - Web vs. Native vs. Hybrid

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] alright guys in this video what I want to do is take a look at the different types of mobile applications that exist and do a little bit of comparison from the standpoint of a company looking to build or hire someone to build a mobile application and this is a huge choice it could make or break a company's success in the mobile app world so we're going to compare web apps native and hybrid apps and we'll talk about the differences we'll also look at the advantages and disadvantages of each so let's go ahead and get started this video is sponsored by Z car if you'd like to complete more online tutorials and spend less time struggling with the difficult parts head over to zeker and schedule a live one-on-one video call with a web development expert of your choice to get personal guidance and feedback sign up at zeger comm or click on the link in the description below so there's basically three main types of mobile apps there is a grey area which I'll get into later but for the most part we have web apps native apps and hybrid apps so let's dig in and let's take a look at what each of these actually are and take a look at some advantages and disadvantages of each all right so first one we'll look at is web apps ok so web applications or mobile web sites are built using standard web technologies including HTML CSS and JavaScript they run inside of a standard web browser like Chrome Firefox Safari they're built and hosted just like any web application or website on the Internet the only real difference is that they're built to look good and to function well on mobile devices this usually means that they're responsive and they're designed with a mobile-first approach meaning they start with focusing on the mobile view but also make it work for desktops as well all right so let's take a look at some of the advantages of building a web app so first they're built using just regular web standards like HTML CSS JavaScript you don't need to learn any difficult languages like Java or Swift or anything like that any web developer can build a simple web app or mobile web site this also makes the app very easy to host and maintain simply upload to a whole staying account with a domain if you're building like a lie guys have standards like a static HTML site you can host it absolutely anywhere all right another advantage is that you can use any type of web technology and stack that you want if you want to laravel app or python nodejs whatever you want you don't have you don't have limitations in that aspect okay web apps are also by far the cheapest option like by far if you're not a web developer yourself hiring a web developer is much much cheaper than hiring for instance a Swift programmer all right so price also goes into this this next advantage which is that you can build one application for all platforms so iOS Android the for people that use blackberry and Windows Phones your app is going to run on any device with that head as long as it can run a browser all right even an old-school flip phone this year your web app will run on as long as it has some kind of browser it may not look right but it will run it this is obviously much much cheaper than both native and hybrid apps not only that but your app is accessible to two desktop PCs and laptops as well as long as they have an internet connection all right so let's talk about some of the disadvantages and there is quite a bit to building a web app so the biggest is that it needs a browser to run this means that the user has to actually go into Safari on their iOS device or Chrome or whatever browser they use on their phone type in the URL of the app and this is a really really poor user experience web apps are also usually much slower than native apps the reason being native apps are created for that specific device they're optimized to run on that device as well as possible all right web apps are less interactive and less intuitive buttons don't have the same type of interacting effect as a native app does all right like I said you need you need to run the app in the browser so you don't have an icon on your mobile desktop as you would if you downloaded it from the app store which also you know doesn't give a very well user experience web apps also cannot be submitted to app stores so you would need to turn you need to turn your web app into some kind of hybrid app and I'll go over that later all right if you wanted to put it in a web store so most web apps cannot interact with device utilities there's no API for instance for the camera for a geolocation or any of those features for the most part all right so let's talk about native apps so a native application is the most common type of mobile app when you search the App Store and you download an application it's most likely native however hybrid apps are growing in popularity and these can be added to the App Store as well but a native app is built for a specific platform and an Android app is coded in Java and it uses the SDK for that platform same thing with iOS it's written in Swift or sometimes objective-c and it's written for the iOS platform all right with that said native apps are very very fast and that's because like I just said they're built for that specific platform ok Android iOS Windows Phones they all have their own they own their own language and SDKs native apps are also very easily distributed into app stores whether it's the Apple Store Google Play or the Windows Store native apps can be approved very easily native apps are also much more interactive and intuitive things run much smoother as far as user input and output they can also easily interact with almost any feature of the phone whether it's the camera location storage the compass there's an extensive API to work with just about any part of the hardware and native applications can really get into that and do some really awesome things all right so for the disadvantages there are actually some pretty hardcore cons about building a native app so one they're built for a single platform you build an Android app in Java and it's only going to work on Android your Swift app however will only work on iPhone if you want an app for both Android and iPhone or even Windows or blackberry you're going to you're going to go bankrupt because you you have to treat all these as separate projects that are really expensive all right now these are also much hotter languages to learn you know Swift Java much much harder than learning JavaScript and HTML and CSS or even some back-end web stacks Swift and Java are just much more intricate hiring developers for these languages are very very expensive relative to your standard web developer in addition to being single platform harder to create way more expensive they're also harder to maintain all right so these are some serious disadvantages when it comes to building native mobile apps if you're a startup some of these things make it impossible for native to be or your first choice all right so that brings us to the final choice which is a hybrid mobile app and a hybrid app is basically a combination of a web app and a native app it does use HTML and CSS JavaScript but it also runs inside of some kind of container or webview usually through a framework so on the surface it can actually be perceived as a native app all right so there's actually quite a few advantages to building a hybrid app so they're built on web technology such as HTML CSS JavaScript so this makes them much easier to build of course certain frameworks have you know you can use angular with ionic and you can use react native but under that you have just basically JavaScript ok they're also much much cheaper than a native app if you're going to hire developers a web developer is way more cheaper than a Swift developer another huge advantage is that you only need a single app for all platforms if you use a technology like Cordova PhoneGap which is like a wrapper for hybrid apps they can actually you can build this you can use that one code base that same application for iOS and Android and I believe even Windows Phone and Blackberry so you essentially have one code base to maintain as opposed to multiple apps all right of course since hybrid apps run in a web view there's no browser needed like with a web app ok they can be published on all of the app stores there's really not anyways for a customer to even figure out that it is a hybrid app and not a native app all right they can be installed the exact same way hybrid apps also have access to device internal api's and they can access features like the camera geolocation storage things like that a lot of this does depend on the actual framework you use because there are quite a few but most of them do allow you to do stuff like that hybrid app development is also much much faster than native app development because you do have that single code base and you do have you know easier languages to work with so instead of you know having a an Android app and iOS app a Windows app and maintaining all three of those separately if one code base and that that really really speeds things up all right so what about disadvantages of hybrid apps well they usually are slower than native apps like I said native apps are specifically built for certain platforms in a certain language hybrid apps do have sort of a middleman to go through they may feel a little bit more clunky err but that's getting better as these mobile frameworks are progressing all right now hybrid apps while much cheaper than native apps they are more expensive than just you know standard web apps because you have that wrapper framework to work with and maintain but there's very very few situations where I would choose a web app over a hybrid app and less desktops who are really big focus okay unless it wasn't truly a mobile app now they can also be a bit less interactive with button presses and things like that but as I said you know these things are getting better all the time hybrid frameworks are relatively new technologies and they're getting better every day now there is an exception or even a fourth type of mobile app and that is a built with platforms that use web technologies but convert the app into native components rather than just outputting into a webview okay that's what frameworks like react native and xamarin do I don't have much experience with xamarin but from what I've heard and seen it does kind of the same thing unlike ionic and PhoneGap where these are essentially just web apps wrapped inside of a webview but in my opinion react native a react native app is very very close to a real native app in terms of performance so these these technologies are getting better every day so what's the conclusion I would say that unless you have an unlimited source of funds and highly highly skilled programmers in Java and Swift I do think hybrid or you know web-based native is the way to go so here's some of the frameworks that can be used to create mobile apps with only knowledge of you know technologies like HTML CSS JavaScript JSX now react native and xamarin are almost a league of their own because they do in fact create native apps and any web developer that knows the act can actually use react native you also have other hybrid frameworks like ionic which is really nice mobile angular UI which I haven't looked into very much Cordova and PhoneGap are basically wrappers that allow you to turn literally any web app into a hybrid app and then you have other frameworks like Sanka touch in framework 7 which I don't have much experience with but overall my final conclusion would be that native is going to be it's going to perform the best but the practicality the pricing of the hybrid app overwrite overrules that big time at least in my opinion ok you may think different but that's just what I think all right so if you guys want to learn more about creating mobile apps from web technologies I do have a pretty big course with a G wanax where we have five projects in PhoneGap jQuery Mobile which is basically just a UI library react native ionic and meteor okay so you may want to check that out the link is there it's also in the description hopefully you guys liked this video and hopefully it's shed a little bit of light on the differences between the different types of mobile apps so that's it thanks for watching and I will see you in the next video
Info
Channel: Traversy Media
Views: 326,708
Rating: 4.9142165 out of 5
Keywords: mobile apps, hybrid apps, native apps, native vs hybrid, hybrid mobile apps, web apps, mobile applications
Id: ZikVtdopsfY
Channel Id: undefined
Length: 13min 3sec (783 seconds)
Published: Fri Aug 04 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.