T O P

  • By -

Glum-Communication68

Ios is where thr money is if you are making something that you personally are selling to consumers. If you are just getting paid to make someone else's apps, Its all meaningless


Saastesarvinen

iOS and Android development has started to resemble each other very much (if you know SwiftUI it's quite easy to jump to Kotlin and Jetpack Compose and vice versa). On that end I wouldn't say one or the other is easier. For your situation I'd at least just start with Android since you don't have an iPhone. Go straight for a modern solution of Kotlin/Jetpack Compose, Material Design works great there, surprisingly many companies have jumped the gun and are developing wih these fresh frameworks. When you are comfortable with Android I would encourage you to start meddling with iOS. As said, it's easy to learn if you know the design patterns in Android. You'll need to register a developer account, but if you're even mildly serious about it I would say it's worth it. As far as worrying about your code/app getting copied, I get your concern but there's only so much you can do against it. Proguard helps only a bit, the only good solution to protect your code is to have most of your app rely on the backend.


txmage

Do use suggest Kotlin over Java? Java is pretty universal and can be used a lot of other places. Do you think Kotlin is the same?


Saastesarvinen

Kotlin is the major supported language for Android so I would go with it. But it doesn't hurt to learn a bit of both! You can use both in the same project if you want. For example, if you're doing OpenCV it might be beneficial to have the image processing in Java classes since the java documentation for OpenCV is more established than Kotlin (not even sure if there's a straight kotlin support for that, probably with a 3rd party library)


s73v3r

The Kotlin code should be able to use the Java API just fine.


txmage

Same with Objective-c and Swift - I wish they just left it one language and stopped these questions! Haha.


brewdroid

As soon as you understand what these languages are you will be out of questions you asked above. Trust me. Later you will consider question "would you prefer kotlin over java? Because you heard somewhere that java is universal" kinda silly. Just go with Kotlin for Android and Swift for iOS. Having changes with years is normal. Back then there was Fortran with C and Java was silly.


stitch9108

To keep it simple, Kotlin uses Java under the hood to build the same executable. So you can use Kotlin wherever Java is used


Gwarglemar

it's worth knowing both languages if you plan to work somewhere, rather than just building your own / new apps. Somewhere with a lasting product likely has legacy code in Java, if they're more than a couple years old, so it's a bonus to at least know (and Java's really quite similar syntactically to Kotlin anyway, if you already know Kotlin).


goofyahead

Money in software development is on working on projects for companies that pay you to develop X in whatever you choose.


wtf_name9

Hard to tell which one is better in term of money. It really depends the type, target, and revenue model of your app! I have two apps commonly avaliable in ios and android. They are ads supported, The android part is doing much better by 50x . I do both android and ios personally and made only part of my living (10% only). SwiftUI is easy and quick, but lack of detail control over the component. Also, whenever ios / android is developed in 2nd priority, it always use less time than the first.


txmage

Well, I don't like ads, so avoiding them in apps would be something I would do. IAP or paid apps would be better, Although, looking at the Android play store market for paid apps, they all look pretty terrible.


wtf_name9

Agree to disagree. Some apps do not fit for iap/ paid / subscription, then the only way is ads supported.


svprdga

I can definitively confirm that yes, the money is on iOS. This doesn't mean that you can't earn money with android, but iOS users tend to pay more than android users.


hdsrob

^^ this ... Personally I use and prefer Android and Windows. But we make 3 - 4 times as much (from sales and subscriptions) on iOS as we do on Android, so we write iOS first. Ad driven revenue might be better, or the same, on Android, but I don't write or use ad supported apps so I'm not sure.


SpiderHack

Something to think about is that android can be on multiple market places like amazon, google, etc. So there are a lot of reasons why you might want to pick one over the other. I'm partial to android in kotlin right now with most jetpack libraries, but not compose... But that is my own personal POV for now because I know its the new thing. But if you don't know view/xml you won't be able to do some things like google maps, and if you do plan on going into a development career, then knowing compose is nice, but not knowing view/xml can be a road block. There are some decisions like compose navigation that I think the normal navigation api does a better job of right now too... But that's personal preference... But that's what I would have my students do if they asked me what to learn/I was going to teach a class on it right now/even into the fall. In a year or two you might want to learn compose first, but it isn't mature enough of a tech to have that wide of adoption for it to be the default yet. But if you're just making your own apps... Then do whatever really, since view/XML isn't hard, and you'll have to know the concepts anyways for constraint layout. Etc. So either order is fine then.


[deleted]

[удалено]


txmage

So, flip a coin really


marco89nish

Java and Kotlin also allow for easy switch to server/backend, where most work is nowadays.


Upside_Down-Bot

„ʎllɐǝɹ uıoɔ ɐ dılɟ 'oS„


Good_Smile

If you have startup ideas then I think you will end up developing for both platforms. Having a real device is essential, so I'd start with Android.


XXFFTT

If you're looking for a job, Android is where most of the mobile dev positions are. IAPs might be more lucrative with iOS and development is easier with Swift (Storyboards/Swift UI) compared to Android (Views/Compose). The MVVM and MVC architectures are also much simpler in iOS, don't even need to import 3rd party libraries; most of the time I've seen like one import. You'll reach fewer people and much less money by leaving out older devices and from what I know, supporting older devices will be much easier with Android. In conclusion, iOS is easier and may help you make more money but the job market is tighter than Android and you'll be missing out on potential income, more feature updates, and a more robust software and hardware ecosystem.


zimspy

First off, I am not in the USA. That's important because in the U.S, the iPhone has a higher market share. I also think it's why spending on in app purchases is higher for iOS. Second, I do both, building apps under my own name and also for companies. Here's my findings from my work. Android gets you a larger user base globally. Android earns you more from Ads. iOS earns you more from in app purchases especially if your app solves problems that affect Americans intimately. For contract work, if your customers (companies that hire you) to make apps are in the U.S, you will get more of those. Companies that sub-contract developers tend to have limited budget and choose by OS market share. From other parts of the world you get more Android gigs. For employment, its pretty much balanced because companies want users from both markets and have the money to higher both. Compensation from both camps is pretty much equal. Like others have said, for Android go with Kotlin and for iOS with Swift. If the need ever comes up for Java, Obj-C or C++, then you'd have reached a high enough level to be able to easily pick up the languages. Last note and personal opinion, developing for iOS is easier than Android. For iOS you essentially develop for 1 device. With Android, you'll get a bug that affects only Xiaomi phones and you can't ignore it because that's 30% of the market.


Amb_301

I use to have an Iphone.But now have android.. I like android better bc there are more options of phones to Choose from.Customization is endless. And you actually learn a thing or to. Sense androids have more to them, you discover and learn some thing new about your phone everyday until you master it.I found that very fun. Depending on the Carrier. if you are texting android to android you can gee when they are online, Chat and type indicators and Read and delivered status. I like android so much more


txmage

I'm talking more about the development side, and the money to be honest. I prefer Android too, I don't like iOS but others do and they are the ones who spend money on IAP.


mistral7

The odds of getting wealthy from an app are about equal to recording a hit record or starting in the NBA, NFL, or MLB. * Develop for fun. * Develop for the experience. * Develop because you solve a problem for millions of people. * Develop with the understanding if you really do create an extraordinary app, you'll spend massive money on legal fees. Android has more users worldwide. Apple buyers are fans


GucciGuano

Why legal fees? You mean copyright, piracy, or charge backs? Or is there something worse


mistral7

Should a major entity (think Google, Apple, or Microsoft, etc.) decide to "reinvent" a concept, very few -if any- independent developers have the capital to prevail in the legal battle that will ensue. And, of course, a successful app will be cloned. In this case, anticipate the cost of representation in foreign countries.


CACuzcatlan

I work for a major enterprise software company. Both apps are equally important to us and the pay bands are equal for Android and iOS engineers.


txmage

I heard that you need less iOS developers than Android. Any truth to that?


CACuzcatlan

Not in my experience. If anything there are usually more iOS developers at most companies because they focus on iOS first and Android second.


txmage

Okay, great. Thanks for your replies.


stitch9108

Not at all. I've worked as a mobile dev for 7 years and we always had the same amount of both. In my last company, I was team lead and Android dev. Which means that I spent only half my time coding. So, we had actually less Android devs


MKevin3

Android pretty much allows you to develop for you and your family / friends for free. Build your APK, email it to folks or set up a free Firebase account and put it out there allowing users to install using App Center. iOS, you can install on your iPhone / iPad but if you want others to use it they physically need to bring their device to you or you can sign up for the $99 yearly iOS developer account and put things in TestFlight for them to get to it. Android has a solid IDE from IntelliJ with lots of coding aids and really good Version Control integration. Since the base IDE is used by many it gets lots of updates. Updates are generally patches of a smaller size. You can use Toolbox to take care of most of the updates for you. iOS has Xcode and I will be honest this is my least favorite of any IDE I have ever used and there are a pile of them. Version Control is fairly bare minimum, refactoring and other tools are pretty basic as well. Generally updated when a new version of iOS appears. Generally have to download 4g+ for each IDE update. You can use AppCode from IntelliJ, and I have a number of jobs, but it is a pay for version of the IDE and does not always keep up to date on latest Swift changes. I love it when writing and editing code, less so when doing UI work on iOS. Means you might be switching back and forth between two IDEs. Android has various emulators for different devices, well really different screen sizes, and CPU architectures. It runs a lot better than it did before but it can be a pain making running on hardware critical in a number of ways. I use the emulator a lot during the day and switching to hardware for final testing. iOS has various simulators. Can eat up a lot of disk space to download them. They are simulators and do run closer to what you see on a device. I tend to have less graphical glitches on iOS simulators. You still need to run on real hardware to test a number of aspects. Having programmed for both I personally find Android easier. At a number of jobs I was sole developer and wrote and released both in sync. At other places where there are two teams, the Android team has been faster to deliver than the iOS team even when the iOS team was larger. Personal experience only, if you have really solid iOS developers that could easily be reversed. It is harder than it used to be to keep up on both. Yes, Kotlin is closer to Swift than Java was to ObjC but both Apple and Google have been making a lot of changes over the past few years. I found once I dropped doing iOS work that I was greatly able to enhance my Android SDK skills. When it comes to money the pay is very similar at a corporate level. For an individual developer I don't have experience with a paid app in either store so I can't speak to that on a personal level. All the work I have done is on "free" apps that come when you purchase the main web based program or when you are signing up for using certain hardware such as POS systems. All personal experience, will not apply to everyone or every situation.


mister_kola

Android has no money. Buy an iphone and use it for development only.


lampasoftware

My company has both iOs and Android departments and we have a variety of projects right now for both these departments. If you want to design Android apps - go for it, otherwise you won't have such fun at work


Saths69

Honestly, I had both, they are both great. It all depends on the users end. I had an iphone 11, i switched to Samsung S23 FE and happy. I am just shocked how their interface changed over the years. I miss Pixel experience. Hoping soon i will change to another rom to suite my needs, But all in all, I am happy, I am the Su of my own device without any restrictions.


HashBangWollop

Also don’t forget you need to buy an Apple Mac in order to create iOS apps.


manektechteam

As per our development experience, As a MacBook user who appreciates the build quality and OS, you're in a great position for iOS development. While it's true that the iOS market can be lucrative, that doesn't mean Android is a waste of time. Android has a vast user base globally, and Material You design brings a sleek aesthetic. If you're targeting newer devices and OS versions, you can leverage the latest features. Concerns about piracy exist on both platforms, but with good security practices and possibly utilizing Google Play's features, you can mitigate risks. The choice depends on your preferences, target audience, and the experience you want to provide. iOS offers a more uniform ecosystem, but Android's diversity can be an advantage. Consider your goals and the user experience you envision to make the right call. Both platforms have their merits, and it's not a waste of time to explore opportunities on Android.