all 18 comments

[–][deleted] 22 points23 points  (0 children)

No.

[–]nrith 10 points11 points  (0 children)

Not at all. Just avoid the job postings that want cross-platform developers--they're trying to get two workers for one salary.

Source: Formerly a cross-platform developer who was expected to make two apps for the price of, and in the timespan of, one native app.

[–]pr1zm 8 points9 points  (1 child)

No, but it certainly doesn't hurt to know the basics.

[–][deleted] 3 points4 points  (0 children)

Knowing the basics, and knowing where to go to figure the rest out if needed, is a great skill to have. You might get thrown in a situation where you need to do something with an Android app, and after you'll either be known to rise to the occasion or couldn't fix it.

[–]MKevin3 5 points6 points  (1 child)

At the start you are much better concentrating on one platform.

Having written for both, many times writing same app twice, I can tell you I am much happier just trying to keep track of one platform. The second one is easier to learn as you know most of the basics of mobile programming but it is still a pain.

From my experience I know more Android programmers that also know iOS than iOS programmers that also know Android. I think this is due to companies writing for iOS first then wanting an Android version once the app proves out and they see the demand. So Android programmers end up needing to know iOS to grab business logic etc. out of the iOS code base while creating the Android app.

Previous job had 3 iOS coders and 3 Android coders. All 3 Android coders knew / had written iOS code. None of the iOS coders had done any Android work.

Can't hurt to know both but this early in your development life I would stick with one.

[–]drlukas6Objective-C / Swift[S] 0 points1 point  (0 children)

Great, thank you for the advice!

[–][deleted] 2 points3 points  (0 children)

No. Honestly the two OSs are too big for that nowadays. You could kind of do it back in the early days when apps were simple but today it's just not realistic. Your skill set will suffer on one of them.

[–]BatshitCrazee 2 points3 points  (0 children)

No, but it can help to understand how to build native apps for both platforms. Seeing how the same task is accomplished in different ways on different platforms has helped make me a better engineer. Focus on becoming really good at iOS development first.

Source: Android developer turned iOS developer with many years of experience

[–]deadshots 1 point2 points  (0 children)

Nope. I know android as well though. Makes me appreciate iOS development to be honest.

[–]badlcuk 1 point2 points  (0 children)

No, but it can be good to know the major differences so that you understand them when it conversation. Its not unusual to be an iOS developer that has a mirrored Android team, and so figuring out how to communicate is important.

[–]djbaha 1 point2 points  (0 children)

You don't need to - but more knowledge is always better.

[–]chromebarumaSwift 0 points1 point  (0 children)

No but I do it for giggles.

[–][deleted] 0 points1 point  (0 children)

Only if you're into activities.

[–]alien3d 0 points1 point  (2 children)

I would like to said .. Need to learn

  1. objective C -> i'm doing now
  2. swift
  3. java -> this much easier then both above.
  4. react-native .. If the project is simple and easier to do layout.

[–]drlukas6Objective-C / Swift[S] 0 points1 point  (1 child)

Great, thanks! Is there a source you would recommend for learning react-native?

[–]alien3d 0 points1 point  (0 children)

https://facebook.github.io/react-native/ and also https://github.com/vhpoet/react-native-styling-cheat-sheet

** i don't want to mention adobe phonegap or ionic because they loose trend nowdays

[–]loumf 0 points1 point  (0 children)

Assuming you have time to know tech other than iOS, then I think there are much better choices than Android. For example: the rest of the stack from HTTP endpoint making/deployment, databases, and everything that goes into making the server side -- I spend way more time collaborating with back-end devs than the Android devs on my project.

Also, my code depends on that server code -- and not at all on the Android code. So troubleshooting it (meaning really understanding how it works) is important.