Native VS Web
Introduction
Welcome to my take on the ultimate controversial debate: Native vs. Web. I'll be honest, I don't think one is better than the other, but I've been working with both for long enough to know what's good and what's bad.
Without further ado, Let's get to it.
Native
Pros
Rules, Regulations, and Tough Standards
One thing that you can always count on with Native apps is their sheer high standards and regulations with app deployment. Not only does your app need proper efficient code, but it also needs to use design industry standards, accessibility features, appropriate colors, and more. Depending on your view, these can be considered as cons, but if you're a developer, you know that these things define the quality of your app. If you want to learn, grow, and make a name for yourself in the industry, you have to respect these rules. Everyone does.
Security
Do you know what's great about high standards? Security. Not only do app stores check your app for any design and development flaws, but they also make sure your app is secure and trustworthy. If your app causes any security risks, it reflects poorly on its platform.
Latest Tech
One of the coolest things about mobile applications is that you're literally working with the latest tech. You're developing using languages that are constantly updating, testing on devices that keep getting better and better, and utilize software that keeps improving over time. As a human, there's nothing more humbling than working in the mobile application industry.
Cons
Rules, Regulations, and Tough Standards
Wait? This title again? Yes. I believe that these elements can apply as cons as well.
So, you've been developing an app with a few colleagues for a few months now and you're finally about to publish the app...NOPE. Guess what, Apple looked over your code and design then decided that your app doesn't look and perform right. This can and will happen to a lot of developers. I'm giving a bad rap to Apple, but to be real, it makes sense. Apple tries really hard to keep their OS looking consistent and working smoothly. If your app doesn't respect those standards, they won't approve your app. I'm just scratching the surface, but it's a big part of this industry. Follow it, or be left behind.
When it comes to android, you might have a little more leeway, but regardless, industry standards have to be met.
Limited Access
You're writing with native code, obviously, so keep in mind that all users using your application can only access it via the platform it was developed for. So, you either go team iOS or team Android, or you develop for both. Either way, users can only use your app on those specific operating systems.
Do you know what's even worse? Those devices are DAMN expensive too. I'll do you one worse, as a developer, it's almost necessary for you to own multiple devices running different operating systems to be able to properly test your applications. There goes the college saving!
Miss 2 Birds With One Stone
What kind of title is that? It makes sense, trust me. Going to develop for Android AND iOS? Well congratulations, now you have to write code for two different languages. Now I know what you're thinking. "Alex, you do know some frameworks allow you to write in on language for both platforms, right?". Now let me ruin it for you. Yes, you're right, you can use those development frameworks, but let's be honest, there's still going to be inconsistencies from one platform to the other that need to be ironed out.
Also, you think that some technologies across operating systems work the same? HAHA. Good one. Apple is stubborn and Android is behind. With that, developing with technologies can cause some major issues when trying to innovate.
Web
Pros
Artistic and Technical Freedom
No app store, no standards. Don't get me wrong, if you want your web app to perform well and actually get visitors, you'll need to implement some of them, but you're never required to follow any guidelines. Which is pretty damn cool. Do whatever you want, who's going to stop you? Just don't do anything illegal obviously.
Not a developer? Not a problem. So many services offer low-effort websites using templates and subdomains(Ex. WordPress, Squarespace...). These services offer amazing value to non-tech-savvy individuals that require an online presence without breaking the bank and brain.
Flexible
What if I told you the web has been around much longer than mobile devices? What a crazy concept! Well, it was(surprise, surprise). So what does that have to do with flexibility? It doesn't, but the websites that live on the web are. I can guarantee you that most apps found on mobile devices have alternatives on the web. Anything can be done on the web. No restrictions, no boundaries, no limits. It's a sandbox for creating.
Best part? As a developer, you will ALWAYS find documentation and help for the languages your using. HTML, CSS, and Javascript have been around much longer than any mobile language(excluding some, but for the most part, yes).
Accessible To All
It's the web! You can access it on anything and anywhere(as long as you have internet). No operating system restrictions either. Most websites are responsive and support multiplatform features.
Cons
Security Risks
Well, I think this one is pretty obvious. You're on the web, you'll face some viruses, phishing scams, identify theft, or even the dark web if you really try. The point is, as much as I would love to say that the internet is safe, it really isn't. Regardless of website security measures, there's always a risk. It's never about the website's security, it's about the user's capability of breaking it.
Difficulty
Front-end development, back-end development, frameworks, databases, service workers, graphics design, accessibility, and responsiveness. Creating websites can be over-bearing depending on your skill level. If you have the time and patience, you can make one yourself, but it would be quite the feat.
Most of the time and this includes mobile apps too, you need a full team to create these web or mobile apps. Regardless of the goal, the in-between is the hardest part.
Domain
Most of the time, you want a custom domain for your website. Unfortunately, those costs and most of the time, monthly. It's one of the downsides of the web, you need an address for people to remember and visit. If you're lucky, you'll get one you like. If you're unlucky, you'll have to scour the web for a domain service that owns the domain or settle with one that you'll never be satisfied with.
Conclusion
I hope you enjoyed my little rant. As a developer, I'm always intimidated by all the different aspects that come with developing an app or web app. I'm sure many of you share that feeling. However, you have to remember that learning is a part of being a developer. A good developer is one that always throws themselves knee-deep in challenges. With that said, go create some curly braces!