Apple is planning to hold its traditional presentation of products for software developers in June. This year, the corporation will release a new version of the operating system iOS 12 and an updated programming language Swift 5 for building iOS and MacOS apps. We have collected five important features that developers are expecting from Swift 5.
The main focus is on ABI (more precisely, the Swift Dynamic Library that interacts with ABI) that will gain stability and become a part of the operating system, but not apps. Currently each app (written in Swift) has to contain/supply the version of the Swift Dynamic Library that it is compatible with.
It is expected that the allocation approach of device memory resources during programming will be changed in the fifth version, which is necessary to enhance the operation of resource-intensive apps. Among other developers’ suggestions is further optimization of the compiler that ensures the backward compatibility of the Swift versions.
Another improvement is a new capability for processing text and string values. It will increase the ergonomics of the language and positively affect the quality and speed of development.
New tools for building and using asynchronous APIs will be introduced in Swift 5. The current asynchronous APIs are complicated to use, whereas new ones are expected to improve. Again, the use of the asynchronous approach in programming allows system resources to be used more efficiently. For a mobile platform – this is a huge advantage that leads to energy saving and increases the app’s execution speed.
It is the fifth version update in Swift. Sometimes developers criticize new changes, but not because they need to adapt to them—often there is nothing complicated to learn. The pushback comes because changes in the new language versions can be incompatible with previous ones. Often, current source code stops working in the latest versions of Swift (IDE, Xcode), and developers have to constantly customize their code for new versions. Therefore, one of the wishes for Swift 5 is maximum consistency.