June 4, 2014

Impact of Swift to iOS apps and iOS developers

Written By Gishan Don Ranasinghe


At the WWDC 2014 Apple announced that, they are introducing a new programming language called Swift aims to be Objective-C without baggage of C. This was totally unexpected to the developers but there was a big cheer from the audience. At least for more than 20 years Objective-C was used to develop native iOS and OSX apps. Time to time Apple managed to improve the performance of Objective-C and its VVM Compilers, to get maximum performance of the iOS and OSX devices they are manufacturing to the app.

But as some of the developers know, after iOS 7 was introduced most of the apps did not manage to perform well with iOS 7. There were few issues with memory management when developing an app to meet image editing and image processing client requirements. With upcoming iOS 8 , Apple introducing Swift to minimise issues like these and also to maximise the performance of features like generics, iterations, object orientation and memory management. According to apple Swift apps will be faster than Objective-C apps outperforming them by over 93x. This is a significant figure when it comes to dealing with iOS image processing and memory management.

Swift provides many more advantages to the developers by providing easy syntax and code structure. So the developers can get straight to the point. In objective-c even a simple print (NSLog); needs to pass the format validations. But in Swift you can just use println(“”) without a semicolon. And the playgrounds are another feature provided by Swift. Using playgrounds developers can see the realtime output of the code changes with out running the entire app in the simulator.

Even Swift is clearly more efficient and fast than objective-c, there will be a impact to the developers who is developing native iOS apps already. This is fair because a development language change of a particular product like iOS can turn everything upside down. But if you think of a object oriented programme as the real world and if you can understand the logic of the software which you are targeting to develop or the client is asking you to develop I think any developer can adjust to any Object-Oriented programming language.

We need to adjust and improve ourselves to compete with the fast moving world.