Apple has formed a working group to oversee platform support. Android in the tooling associated with the Swift programming language, as well as promoting Swift as a language for developing mobile applications for Android. Android will be added to the list of platforms officially supported by Swift.
The main tasks that the created working group will solve are:
- Improving and maintaining support Android in the official Swift toolkit, eliminating the need for third-party patches to support Android.
- Extending the capabilities of core packages such as Foundation and Dispatch to better support approaches used in developing applications for Android.
- Working with the Swift platform support team to formally define platform support levels and gradually implement them for Android.
- Determining the range of supported APIs Android and carrying out work on their integration with Swift.
- Developing a continuous integration mechanism to test related Android changes in Swift.
- Developing recommendations for organizing interaction between Swift and Android Java SDK, as well as the distribution of Swift libraries for Android.
- Development of tools for debugging Swift applications for Android.
- Facilitating the addition of support Android into various Swift packages developed by the community.
Swift combines the best elements of C and Objective-C, and provides an Objective-C-compatible object model (Swift code can be mixed with C and Objective-C code), but features automatic memory allocation, variable and array overflow control, protection against the use of uninitialized variables, and blocking access to memory after it is freed, which significantly increases the reliability and safety of the code. Swift also offers many modern programming techniques, such as closures, generic programming, lambda expressions, tuples and dictionary types, fast collection operations, and elements of functional programming.
The Swift implementation is built using LLVM project technologies. To ensure high performance, Swift programs are compiled into machine code, which in tests demonstrates performance 30% faster than Objective-C code. Instead of a garbage collector, Swift uses reference counting tools for objects. The package manager Swift Package Manager is included, providing tools for distributing modules and packages with libraries and applications in the Swift language, managing dependencies, automated downloading, assembling and linking components. The compiler and toolkit for the Swift language are distributed under the Apache 2.0 license.
Source: opennet.ru
