Maybe you’re considering a career in iOS development or you’re just seeing what’s out there and you want to learn the pros and cons of everything.
Unfortunately, I personally can’t give a lot of pros and cons for all the other fields because iOS development is all I ever know but I hope this helps.
Maybe you’re here just because you’re curious, which is also super-duper.
Interested in free iOS apps?
You may like to download AppValley Official app.
App Vs Website
The first point is that not every company needs an app.
If you think about all the platforms and services and websites out there, a lot of them need a website but not every single one of them needs an iOS and Android app.
So choosing iOS development as a career path is a limiting choice, where you could work.
In the 2010s most people wanted to make an app for their product so it wasn’t so limiting.
But if you look at the number of jobs in web development, for example, iOS development, it is completely different.
At the same time, some products are better suited for iOS apps and websites as well so it kind of goes both ways.
I do think that it’s more universal for companies to want websites before making an app.
Next is that not every company needs a lot of iOS developers.
Even if a company has an iOS app they don’t necessarily want to always invest a lot in mobile and that’s because the use case doesn’t make sense or they haven’t found one that does.
I started iOS development in 2014 and throughout the whole 7 years, it’s also just been a struggle to convince companies to just like invest in higher iOS developers.
This debate of like mobile or web, which one goes first, is always going on.
If you had to prioritize something and often mobile loses out.
So honestly I’ve spent a fair amount of time convincing product leaders that mobile is worth investing in.
Even though I’m an engineer but how else am I going to have things to work on if I don’t convince people that it’s an important thing to work on.
It’s definitely getting better over time though more and more companies need an app for them.
Next on the list for why I don’t like iOS development and that is probably my biggest con, it’s really expensive to be an iOS developer.
You have to develop iOS apps and Mac apps on a Mac, you can’t do it on Linux or Windows or anything.
It means that to create iOS apps you have to have a Macbook.
There are a lot of Mac products out there with varying price points but I do feel like you need at least a Macbook Pro.
You can run Xcode on any Mac but if you run it on something like a Macbook Air, it’s just gonna be really smooth.
I think a 13-inch Macbook Pro has the minimum specs of processing power to run everything.
Also, Xcode takes almost 20 GB of space on your computer so it just rules out a lot of people.
If Macs are that expensive and that’s what you need as an entry into this field, so yeah the financial burden is real.
So it literally rules out so many people from becoming iOS developers, to begin with, because not everyone can afford a Mac.
This is exactly why things like web development catch on much faster because anybody with any machine from anywhere, no matter their financial situation, can start coding.
Apple consciously chooses their price points like this so until they introduce like a 2 to 3 hundred dollar or even 5 hundred dollar Mac line.
It’s just gonna be extremely exclusive.
So yeah that’s something that I really don’t like about iOS development.
The next thing is that Xcode is kind of hard to work with.
Xcode is the official IDE for iOS development made by Apple.
So it’s great because it’s integrated at every level.
Apple makes a programming language, the machines, the phones the IDE, the frameworks, and everything but it just doesn’t work for me.
Sometimes there are actually a lot of jokes in the iOS development community like how to coax Xcode to do what you want it to.
Compared to some of the third-party tools out there, it is still the best but it doesn’t make it any easier to work with sometimes.
iOS development necessitates a compilation process, compile times can be super-duper long depending on the machine that you have.
It also gives really cryptic like hard-to-understand error messages sometimes.
You often just have to clear the cache, you have to restart your computer and what not so it’s just like it’s.
Just a part of iOS development.
I wish it worked a little bit easier but no development tool is perfect so I guess that’s just what we got nonetheless.
It still made my list for why I don’t like iOS development.
So iOS development is kind of a niche technology.
I think it’s actually harder to translate to other technologies that are out there.
My impression of web developers and other developers is that it’s really easy or fairly easy for them to pick up other kinds of technologies and programming languages.
As iOS development is a closed ecosystem so things do change but not super drastically.
It’s just harder to do a career change and hop across to become a front-end developer for instance.
So if you choose your vote as an iOS developer you can’t choose and hop between different things.
It just becomes harder and harder if you like to pick up other things but yeah it’s still a niche.
App Store Review
Next on the list which is I know a really big pain that all iOS developers share, is that you can’t deploy things whenever you want, unlike web development where you can deploy thousands of things a day.
You can deploy whenever you want, at any hour of the day, that’s not the case for iOS development.
That’s because we have something called an App Store Review process.
Apple put this in to ensure a level of quality and safety for all the apps that they have on the App Store for its users which is great you know I think that’s a good thing.
It means that you can’t download a virus if you download an app from the App Store.
But for developers, it means that you have to go through a review process with Apple every single time you want to make an update to your app.
A really brief overview is that you submit a binary to Apple, they review it in about a day or two, and then they may accept or reject it.
Then if it’s accepted, you can publish it but if it’s rejected you have to do a lot of back and forth and try to fix the issue and you have to adhere to all the App Store review guidelines.
So yeah the fact that you have to wait a day for Apple to get to your app alone just makes that whole process a lot longer.
So you have to kind of plan your releases.
It also means that if you put a production bug out there then it’s going to be out there for you know at least half a day.
So yeah you just have to be more careful.
Lastly on the list and I don’t really know how to convey this but I thought I should say it, is that iOS development is a little bit campy.
Apple changes and releases updates and stuff and you’re always just like, that’s so amazing.
It’s so great or you always criticize it for what it didn’t do.
It’s just a company and some products.
There’s stuff like rivalry with Android and I’m just like who cares everyone will use whatever phone they want.
Yes, maybe it matters in the business world, but like no point in iOS developers getting all up in arms about who’s better and who’s worse.
It’s like everything exists for a reason and there’s no better or worse.
So leave it as it is.
It is not a big deal.
Okay, so because of this kind of culture of wireless development and the financial hurdle that you have to overcome to be one it’s not always the most welcoming place.
I mean there are a ton of great resources for iOS developers iOS tutorials and teachers and websites and resources that are super welcoming.
I hope you enjoyed this article and you got to know a little bit about my personal opinions and views on why I don’t like iOS development.
Do I still like it?
Yes well. I still keep doing it of course but yeah like I said I want to make sure that you all get the full picture that it’s not this glimmering perfect technology out there and maybe you already knew that but just wanted to talk from my own.
You can learn more about iOS development here.
You may also learn about the kernel and how it works.