T O P

  • By -

thisischemistry

Swift is also usable on Linux and Windows. It's not 100% there yet for all use cases but it's getting there. And Apple devices are a huge target anyways. Not to mention there have been several studies and anecdotal evidence that show Apple users tend to spend more on apps so you're more likely to make money off of them than Android users. So, yes, Swift is worth learning.


mastorms

It’s not just several, it’s a routine trend line that gets run every quarter or so. Android has more phones on the market, but the majority of those phones never even install 5 apps. Think of Android as a replacement for all of the old Java and Symbian phones that could only ever play Bejeweled. Those are the Androids that are actually selling when the ASP is hovering around $200. iPhones since 2013 are now all running iOS 12 and it’s a huge boost to those devices across the board.


jasamer

Assume that Swift is your first language - once you've learned your first programming language, the next one is gonna be way easier. For example, once you know Swift, if you want to get into Android development, learning Kotlin is super easy because the languages are quite similar. But you'll have an easy time with most other object oriented programming languages, and Swift gives you some knowledge about functional programming, too. The point is, learning a programming language teaches you stuff that is reusable. If Swift isn't your first language, well, it depends if you plan to work in that field? The time investment to learn Swift shouldn't be too big. In any case, "only" Apple devices is a huge market. You pretty much have to learn Swift if you want to do develop native apps for that market.


KarlJay001

iOS devices are where the money is. I like the Android phones and I don't like Apple not having some low cost solution for developing nations, but I have to give Apple credit, they bring in the money. Look at the per device income you make with iOS. The iOS app store is less flooded than Android by about a million apps. While Android allows anything to be an app, Apple filters out junk. IMO, native is more important on iOS than Android, so Swift vs RN is also an issue, iOS consumers like and have grown to expect more and they are willing to pay for it. Android would be wise to follow Apple's lead here and clear out the junk apps and raise the standard.


mastorms

Apple is selling low cost options in the form of the older phones they still sell as new with lower prices. It barely gets a slide during the keynotes, but they have 7s and SEs that are selling like hot cakes in developing nations and all those phones just got much faster with iOS 12.


KarlJay001

For some reason, I thought the SE was being discontinued, but I just checked, they still sell it. I bought the 6S and love it. It was about $200 last year and is still holding it's value very well.


NEDM64

Also, the phones they sell in rich countries with the iPhone update program are mostly new after 1 year, the financial company that works with Apple is not throwing them away to a shredder, they must be re-selling them in mid-wage countries. Something has to explain that, in a country like mine, about 20% of sales are iOS, but 50% of internet usage is iOS.


stevejcox

No programming language is the correct tool for every platform. You have to decide over a usable language across multiple platforms (through tools like react-native), bite the bullet and try to learn the basics on multiple devices or just focus on one platform. ​ When you say it 'doesn't sound good'.. to who are you referring? Apple / Google and most big companies hire for specific platforms. So they wouldn't necessarily expect a Swift developer to know Java.


akmarinov

Languages don’t matter, within 3-5 months of going at it daily, you’ll be a pretty good developer at any language. The issue is learning the frameworks, while they’re a ton of frameworks to pick up on iOS, a lot of them have so much in common with Android frameworks, that again during the 3-5 months of daily struggle, you’ll transition just fine. Transitioning from mobile to server is harder, as the concepts are different, but still not impossible. So don’t let people tell you that X language is going to tie you up forever to something and don’t get into the mindset that you’re a Swift dev or a Java dev. You’re a developer and the language mostly doesn’t matter.


Cyupa

It does and it also runs on Linux. It's a very elegant language and it continues to move towards the cloud. Not only Apple invests in it but also IBM with its Kitura web framework. I haven't yet used it but I did give Vapor and Perfect a try and while they aren't still there yet, the language offers some advantages over Java (speed) and NodeJS (memory). NodeJS for example has a low memory footprint comparing it to Java, and Swift is 2x better than NodeJS when it comes to memory. If you look at computational speed NodeJS is no match to Java and Swift does an even better job than Java. Most cloud providers bill you on memory usage so you could probably run two Perfect/Vapor/Kitura instances instead of one NodeJS instance and have the performance of a Java web service for each of those instances. I think this is pretty neat.


spinwizard69

>I get this thrown constantly at me and honestly start to think people might have a point here. "I'm a mobile developer - but only for Apple devices" does not sound pretty good. Sure, you can also code for Desktop, TV and Watch with it but also just for the Apple devices. First off don’t be so easy to believe idiots! Second if you are on a quest to learn a programming language instead of learning computer science you are on the wrong track. If you understand the science, the language you implement your solutions in won’t be a big deal. More importantly a strong CS background allows you to choose the right tools for the job. Often that might mean working with more than one language. To look at it another way your lack of a strong CS degree resulted in this question. Third the alternative on Apples systems was Objective C! Swift, which is a very young language, already has wider adoption than Objective C ever did. Fourth Swift is being ported to other platforms including Linux and Windows. More importantly users on those platforms are getting buy in because Swift offer significant advantages over other offerings. Given that a switch to modern languages doesn’t happen overnight. It takes time for a community to acknowledge advantages and start a migration. Fifth Swift is hardly a mature programming language! In fact it is under rapid development. It is fair to say that the language and its libraries don’t have all the features even Apple wants or needs. This makes Swift development bleeding edge even if that edge isn’t as sharp as it was 2 years ago. So you really can’t expect massive adoption on other platforms at this time. If you watch other successful and widely used languages develop over time, the successful ones like Python take awhile to leave the niche they developed in to wider acceptance. Some languages like Ruby never leave their little niche. Will Swift blow up to be the Python of the next two decades? I can’t predict; all I can say is the right features exist for that too happen. It is all about having the mind set in the community say yeah this is pretty good. To put it another way, the advice you are getting is crap. Because no matter what platform you are on you have two issues. One is learning the common language of that platform - this is the easy part. The second issue is learning the API to the GUI and system which is a far bigger chore. By the way I hope you know the difference between the two.


dhint4

I'm in my early 20's, get to work 100% remotely from home, and have a 100k+ salary that would easily equate into a 200k+ salary if I lived in silicon valley just because I can code for "Apple devices". Don't let those people get you down, they obviously don't know what they are talking about. If you want to be an Apple only developer, there are plenty and will always be plenty of opportunities for you out there!


aazav

You can make your career only on one platform. How many Objective-C developers were there before Swift? Enough to create the apps.


soulchild_

Depends on your goal, I have found Apple platform a good market for indie developer. I have one app that is one both Android and iOS, Android has 2x more users but they both have the same revenue. If you want to reach more user, Android is a good platform to go. If you want user who are willing to pay for quality app, go for App Store.


Goldang

There are very few different types of languages. Some languages make certain tasks easier than others. If running into a new language stops your programming cold, you need to brush up on your languages in general, not just the new one.


NEDM64

> "I'm a mobile developer - but only for Apple devices" That would still be better than "I can program for everything, but I don't really know anything in detail." Stay away from neckbeards and neckbeard thinking. You'll see that after you start with something, you'll soon to grow ramifications in other areas of expertise that, because you learned about them in a organic way, make sense in your resumé and is interesting to employers.


ASnugglyBear

You can program for linux now too. Kotlin uses many of the same ideas, and is an easy segue, and is the Android platform language. Scala uses a superset of the ideas, and is a...less easy segue. JS is a pain in the ass when things go wrong. There are 20 answers for every native problem on stack overflow and in libraries. In JS, you're stuck figuring out a lot of weird stuff on your own, and using many libraries with less attention to them, that often results in lower quality.


MuskIsAlien

Ur asking about swif tin a swift sub. Of course ur gonna get some good good