Should You Learn Native or Cross-platform App Development?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
what's up everybody today is all about apps iphone android you know we got a android right here this is a uh google pixel 4a a really great phone actually and it was only 350. uh we got our iphone 11 something pro who even knows but anyway how to build apps for these really cool devices of course if you want to be an ios developer you're going to need a mac if you want to build android apps you can use mac or pc or linux you have some opportunities there but let's dive in today and talk all about apps and app development see you there do you want to know what question i get asked every single day more than any other question on the planet should i do cross-platform app development or native app development swift versus kotlin versus java versus react native versus flutter and dart versus ionic versus xamarin so many technologies and so many questions we're going to talk about all of this today there's a few different types of answers and depending on what you want to do with your life and your products can also depend on which technology you use so there's going to be some very great information in here we'll talk about jobs we'll talk about freelancing we'll talk about quality of the platform so the first section is going to be a little bit about the platforms itself and what you can do towards the end i'll give you my personal professional opinion i've been developing apps literally since the app store came out and i have used many of these technologies in fact i've used all the technologies we're going to talk about today and my team has used them professionally and we have spent thousands of dollars at development hours across the board actually millions of dollars so i've got some input to say on some of these platforms so here we go first off let's talk about native apps what is a native app a native app means that you're building with swift for ios or kotlin for android it could also mean java for android so ios apps support objective c and they support swift those would both be considered native apps though nobody is using objective c anymore now with android kotlin is the new hot programming language that's replacing java for the android platform so let's talk about ios when would you want to build an app natively with swift well there's a few reasons first off if you want to get a full-time job as a developer as an ios developer you're going to want to learn swift that is your fastest path to a full-time job most medium and large companies that are starting out that want to build an app for their business they're going to go native they're going to go native because it's going to have great performance it's going to be super fast and there's going to be the most amount of developers available for them to hire okay native app development is the fastest app development you can do there's no intermediary layers and this goes the same for android but native app development is going to give you the most performance of any app that you could ever create okay so with ios that's the swift programming language and you're going to build some great apps there's some great job opportunities now if you want to become a freelancer for native there are still projects out there but that wouldn't be my first choice to making a great freelancing career is doing native app development and there's a few reasons why which i'll explain later but that's native ios native android of course is kotlin or java we used to build android apps all in java but now we do it in kotlin android still supports java okay but it's now a second class citizen google who's the main backer behind android they want you on kotlin they want everyone on cotton the future of android is on cotton so if you ever have the question should i learn java or kotlin for android it is absolutely kotlin that's where all the jobs are going to be now when you've learned the core foundation of android and kotlin yeah go go learn some java because you're going to encounter it on a full-time job and again when would you want to use native android well especially if you want to get a full-time job where we're talking about careers here right so a full-time job or if you're building a product or startup that you need extreme performance native android's the way to go as far as freelancing goes you will find more freelancing opportunities for native android than maybe you might with ios especially internationally outside the united states because outside of the united states most countries actually use android native android so there's a lot more opportunities especially if you live in other countries especially like india or malaysia and those different regions uh tend to have higher android usage so more opportunities there so that's native app development again medium or large companies often start off with native apps i'm building an app right now with a small team and the reason why i'm choosing native ios and native android instead of cross-platform is because that's who's available on my team sometimes the technology you choose is dictated by your expertise who's on your team what you know and what you don't know so that can be a big factor as well so let's talk about cross-platform apps for a little bit what is a cross-platform app the idea is that you write code once and you can deploy it to multiple platforms facebook made this really popular with something called react native now react is a web component framework so you can build really cool web apps with this super elegant component modularized framework and they brought it to mobile and so what it means is with react native you can write code in javascript and react but you can pull out the native features of the device of the phone the camera you know the gps all those things it talks to it natively so it's really cool right you could build an app and deploy multiple places now i want to tell you something a lot of people think that when you're building a native app that oh i'm going to save money in time and just write it once and deploy it everywhere it doesn't really work like that perfectly not with the react native when facebook actually invented react native and it's still there in their docs they say react native was not designed to make one code base and deployed everywhere the reason why they designed react native was so that they could use web technologies to iterate faster their apps had become so big the facebook ad had become so huge that when they would update a feature and click compile it would take hours for one little change to compile and it wasn't working for the business and so they said we need to invent something where we can write the code in javascript get real-time updates because javascript's an interpreted language it changes instantly we need something that's fast so we can make all of these updates because we now have a huge team and facebook's a huge app and that's why they invented it they didn't invent it so they could just write the code once and deploy it everywhere in fact facebook has two different code bases for facebook android and facebook ios now with that being said you can write code a singular repository of code that deploys to both ios and android you're still gonna have to do steps on both platforms okay you're still gonna have to do some configuring and stuff but you can do that so that opportunity is available for you now why don't a lot of companies immediately just embrace cross-platform you think it'd save money things like that well javascript's a slower language in fact it's very very slow language i recently did a test where i ran 10 million lines of code in c plus and 10 million lines of code in javascript in javascript it took 59 seconds to run through that in c plus plus it took one second that's the difference we're talking about with a compiled language versus an interpreted language like javascript so it is slower now if you have apps that don't need intense hardware rendering and things like that react native is a great choice now you may be saying instagram is built on react native and they've got video stuff well keep in mind instagram has a team full of developers whose whole life is solely dedicated to performance and making things great as a single app developer you are not going to squeeze out crazy performance in javascript for your native apps now you can also learn flutter and dart that is the new big competitor to react native and flutter is the framework darts the programming language flutter is backed by google it's way newer than react native but it is so powerful it is an amazing developer experience you can already tell it's my favorite because it's absolutely phenomenal and with flutter i really like their approach their approach isn't about apps and deploy everywhere what their approach is we want you to build an amazing experience for your users whatever your users need and we don't want you to worry about the various platforms we want to handle that for you you focus on your experience and so now with flutter and dart it's all about creating that experience writing that code once and then deploying as needed to the various platforms without having to put any thought into it and i think that's a really great approach because as a business owner myself i want my products to be the core focus i don't want to be like oh i gotta focus on android i gotta focus on web i gotta focus on ios i just want to build the product that my users were meant to have and i really like that approach with flutter flutter also is a super user-friendly environment okay it uses uh the dart programming language which is fast but it also uses web assembly which is also faster than javascript so out of the gate it's going to perform better than javascript again it's it's still new in recent years and it's still going to get better but i'm super happy and proud of what they've done with it i wanted to do a test recently so i got my full stack developer jason brewer this is him right there and i told him flutter and dart's a way better experience for cross-platform development and he didn't believe me and so i put him to the test i said what i want you to do is go build an app with react native and then i want you to go build that same app with flutter and dart and so that's what we did we even made a youtube video on this react native app that we built it took jason four hours to get the react native project just to run it did not run out of the box and i knew that was gonna happen because we had built an app we had invested so much money in an app with react native a few years back and it was the most awful experience i had ever had i had ever had in my life developing on a platform not true xamarin was even worse but so he went in and it took him four hours just to get the project running he is a react developer he lives and breathes react and javascript four hours to get it to work and tons of headaches along the way before he actually got the app deployed then i had him build a flutter app using the dart programming language he got it running within five minutes and had it developed in less than an hour okay the other app had taken him a day and a half this app took about an hour i hope you can already see the power that comes from the developer tools that are part of flutter and dark but now that's just my opinion and my experience working with those they're both going to do the job for you so that's fine now let's talk about just the money and freelancing behind cross-platform apps you are not going to find any jobs really for flutter or for react native yeah there's a few okay don't leave a comment saying that's not true there's a few but the real jobs are in native they're absolutely innate now if you want to become a top freelancer where you go to clients and you say i can build you an iphone and android app for your business help you make more money you have huge opportunities with cross-platform if i was going to be an independent freelancer like on upwork.com and i wanted to make a hundred thousand dollars a year i would use flutter and dart myself personally or react native as a second option and i would build apps for clients using those technologies because i'd be able to deploy quickly both platforms and add value to my clients huge opportunities with flutter and dart and i mentioned earlier that i'm building an app my initial choice was actually flutter and dark but i didn't have a developer at the time because it would have been so nice just to build once and deploy everywhere but i'm trying to help my students out get them to learn native ios native android so it's a good opportunity for them as well too but it was a serious consideration for me because i'm a small business a small app and it's more accessible you can go really far with a cross-platform system but there's no jobs there's not really any jobs for that stuff the jobs are in native okay so there's some overview of native and cross-platform and i just want to mention a few more one is xamarin xamarin allows you to build cross-platform apps in c sharp my professional opinion is you should only ever use xamarin if your team only knows c-sharp if your team is c-sharp experts and you don't want to learn new stuff that's when you should use xamarin it does not have hardly as many features as react native or flutter and there's lots of problems with it and the apps just don't come out high quality they just don't this is my been my experience again you can try it out for yourself but xamarin allows you to build cross-platform apps with c-sharp but the the platform is not great we built an app in the company for it and about two months in we scrapped it because the platform was so awful similarly with ionic ionic is like a third-party type of framework for building cross-platform apps it's been around for a while some people really like it but i would never put my eggs in that basket i would go the open source route of you know react native or flutter and dart where there's huge companies backing it there's some other older ones too like phone gap and things like that but really the true contenders for cross platform are flutter versus react native flutter is faster by design because it's going to use with a web assembly under the hood javascript is typically a slow language i talked about that earlier but if you are a javascript developer and that's what you know obviously do react native right it makes sense so there's a few tips on all the things relating to cross-platform the jobs are in native you can do great things with freelancing and cross-platform if you're a small business or app and you want to focus on your business without having to hire a bunch of developers start with cross-platform you have a great experience and you can move a lot faster um if you need extreme performance use native swift or native kotlin and android i hope this information is super useful for you i'm an app addict i've been building apps since the app stores came out for iphone for android and i've tried all these platforms take my advice but always play around for yourself that's it for now this is mark walbeck with devslopes.com see you next time so check it out all you have to do is click that subscribe button and that little bell and you will get notified when videos like this drop you can see me right as it goes live how cool that be every single week new videos click subscribe
Info
Channel: Devslopes
Views: 23,256
Rating: 4.950242 out of 5
Keywords: native app development vs cross platform, native app development vs hybrid, react native app development, cross platform vs native development, cross platform vs native app development, native vs hybrid vs cross platform, native android vs flutter, react native vs swift, which language should I learn for, which language should i learn for app development, flutter vs react native 2021, mobile development for beginners, mobile development 2021, cross platform app development
Id: UsUriZLCwws
Channel Id: undefined
Length: 13min 31sec (811 seconds)
Published: Wed Jun 02 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.