On September 9, the official Apple blog announced that Swift 1.0 had been given the ‘Golden Master’ (GM) status – which means developers can start using it to make apps. We here discuss some of the main reasons for the widespread popularity of the new language.
There are no two ways about it – the new programming language from Apple has been a roaring success. Swift was unveiled at this year’s World Wide Developers’ Conference (WWDC), and after several developer previews, have finally been given GM status. In other words, mobile apps developed with the Swift language can now be submitted at the Apple app store. Why has Swift received such an overwhelmingly positive response from coders and app developers from all over? Let’s try to decipher this success story:
- Easy learning curve – There have been plenty of languages that promised to be the ‘next big thing’, only to turn out to be eventual flops. The key reason for this is the reluctance of developers to invest time and effort on learning a new and presumably tough language. Swift offers no such complications. An e-tutorial on Swift programming techniques can be read in less than five hours. Without having to put any ongoing projects on hold, professionals can muster the new language in a couple of weeks.
- Compatibility with Objective C – Almost all iPhone app development companies use Objective C as the default language for coding apps. If Swift had been a ‘replacement’ for Objective C, adopting it would have required a big overhaul. However, Apple has clearly focused on user-friendliness while developing the Swift concept. The new language can be used along with Objective C, ensuring that app developers do not get stuck midway through their projects.
- More intuitive programming – The ‘Interactive Playground’ feature has been a major #winner for Swift. For relatively inexperienced mobile app development executives in particular, the option of watching the outputs of code lines on a real-time basis really comes in handy. Error-detection and debugging is possible on a continuous basis – which, at the end of the day, significantly lowers the time required for app testing.
- Shorter, cleaner syntax and better speed – The Swift programming language is around 35%-40% faster than Objective-C – a factor that has been confirmed by practically everyone in the international developers’ community. One of the key contributors to this speed advantage is the option to have multiple return values while creating a function in it. Once companies start using Swift on a regular basis, the overall app development cycle is likely to become much smaller.
- Closures and inferred typing – Among the new features that Swift comes with, these two are the most noteworthy. Via the ‘Closures’ feature, lines of code written in Swift can be used to collect specific data, in a loop. There is no need for app developers to define the variable type they are using every time – inferred typing takes care of that. Memory management also becomes a whole lot easier – thanks to the ‘automatic garbage collection’ (powered by Automatic Reference Counting) property of Swift.
- The best of functional programming – For coders who prefer to work with Ruby or any other similar language, Swift is a perfect new option. Contrary what was initially thought, Swift supports low-level programming as well – which have delighted newbies in this field. The security parameters and code maintenance features of the new language are at par with the best too. Not surprisingly, Swift has kicked up quite a storm in the social networking sites!
- Helps in keeping iOS development ‘different’ – The language is a classic example of how Apple prefers to do things in ‘its own way’. Swift is a proprietary coding language for iOS and Mac OS – which rules out chances of the language being used to develop software for other platforms/vendors (e.g., Android apps). This aura of uniqueness – always a signature style of Apple – has definitely bolstered Swift’s popularity.
- Positive word-of-mouth publicity – When it comes to any tech-related issue, every meaningful nudge becomes a shove. When Nate Murray created a rendition of the insanely addictive Flappy Bird gaming app using Swift, he tweeted about it – and within the next day, the entire pool of developers on GitHub and other online communities were buzzing about the language. With every new developers’ preview version, Swift has garnered increasingly favorable reviews. The grand announcement at WWDC obviously got the tech geeks interested – but it has been the great reviews that are making new developers join the Swift bandwagon every day.
- Barriers to becoming a coder have been lowered – With due respect to all their merits, languages like Objective C, C# or Java are not particularly easy to learn for first-timers (read: students). Swift is an ‘interpreted language’, which automatically gives it a speed edge over traditional ‘compiled languages’. New programmers can download online tutorials, and start writing small codes for iOS/Mac in next to no time. The influx of new developers that Swift has facilitated does not, in any way, threaten the existing developers either. The language has separate UI options for a novice and a person who is already into creating advanced iPhone apps.
- Wider horizons with iOS 8 – These are exciting times for any Apple developer. The new mobile OS platform, iOS 8 (also announced at WWDC 2014) has several new features – like Handoff, Airdrop and several additional widgets. With Swift, coders can now expand the range of apps that they can develop – for the latest iOS devices. iPhone 6 and iPhone 6 Plus are already out, and there is a big demand for programmers who can make iOS-8-customized apps at present.
- Background task handling – This is yet another point where Swift scores over Objective-C. Smartphone app development experts no longer have to worry about managing the tasks that are running in the background, eating up workable disk space (with compiled languages, this has to be done manually). With Swift, all that is required is coding proficiency – the system takes care of the rest.
- Swift offers something new – Objective C is, without a doubt, a fantastic language for iOS app developers – but it is also a rather ‘old’ one. In fact, over 30 years have gone by, since the language was first developed (and adopted by NeXT) – and Swift comes with a fresh lease of air. No one would have liked it if all existing Objective C programs had to be converted to the Swift platform, but there is no such necessity. If the reports from app developer communities are anything to go by, Apple is not going to withdraw the Objective C support for Swift anytime soon. With 4000 new APIs on iOS, a new language was definitely something everyone was looking for.
Although developers have taken to Swift 1.0 in a big way, it is not likely to overtake the popularity of Objective C anytime soon. That’s precisely why users are being given the opportunity to work with the two languages simultaneously. The debate will rage on as to whether Apple should have made Swift available on other platforms too – but for the time being, app developers are more than happy to try their hands out with Swift on Xcode 6. It’s faster, neater, more professional, and encourages smarter programming – what’s not to love about it?