Apple recently announced in its official language blog Swift news that many of us have been waiting for some time. Ever since Apple released Swift as an open source and officially supported Linux Ubuntu, we wait for the language to be mature enough to access other programs.
For a few years, the language has been evolving, developing, having gained the stability of the API, binary, opportunities to create high-quality libraries in the language … and now it is an opportunity for support from other platforms.
After the release of Swift 5.2 with Xcode 11.4 and its compatible version of Linux Ubuntu, Apple officially announced the release plan for the next version of Swift 5.3 and we have finally reached the expected support of the platform: For Windows and other Linux distributions other than Ubuntu.
Language is not a bookstore
Recently, in the Apple Coding Daily episode (which you can listen to here), I had one why iOS apps can't be built on systems other than macOS. It's basically a matter of dependencies and libraries. To build iOS apps we use a collection of libraries known as Cocaoa Touch. These libraries support networking, audio, graphics, animation, task management, graphic design, animation, machine learning … Cocoa Touch all have hundreds of libraries that solve all the little or big work needed to build an app.
Cocaoa Touch is a collection of libraries that allow you to create iOS apps, which do not work in other applications due to the level of the homepage.
Most of those libraries are reliable: other libraries are dependent on. And they all, to their highest degree, rely on the core of a macOS program similar to that used by iOS, iPadOS, watchOS or tvOS: Darwin. Dependency is nothing more than that, in its operation, using elements from some libraries and these from others, it creates a tree that reaches the center of the operating system.
So if we wanted to create iOS apps with Apple's official library, with Cocaoa Touch and its development kit (SDK) we would need to get the Darwin kernel and the rest of the tree (s) of libraries used for a program such as Windows or some distribution. for Linux. Which, as you can imagine, to make macOS work on Windows as a program. Something unpleasant.
The same is true of the opposite. I cannot program Windows desktop applications using Mac or Linux, because the reliance on libraries used by Windows is at the app level itself.
The same paradigm that has been happening in languages like C, C ++ or C # for many years, can now also be done with Swift. General purpose, cross language
And why do I explain all this? Because what Apple did to find Swift Language is capable of producing integrated programs that can be used in programs running without macOS, such as Windows or Linux distribution outside of Ubuntu. And as long as you can create a program in Swift and use a Swift library that is solely based on any language and library integrated, this program has the same code, can be integrated and run on Windows, Linux or Mac.
Not just Swift
Swift's arrival in programs such as Windows opens up a huge window of possibilities for server-side solutions, many new libraries, command-line creation, language integration in existing tools such as Visual Studio and Swift can be used to create Windows, web or other applications as it is with C #. As long as these libraries include language support.
It's a first step, but the possibilities are endless. The actual language of your backing library, includes network or cable management and job functions and allows its package manager to create more opportunities as a community full of people focused on providing exciting activities.
So, even though you can't build iOS app apps with official libraries that only work on Apple apps, Many other options appear that will make Swift the standard and purpose-driven cross-platform process that Apple uses regularly.as Microsoft C # now.
And not only is Apple working on it: the Google team at Tensorflow (a machine learning library) is working on language to achieve its integration with Python and, in fact, are responsible for performing the installer under test with MSI (the official Windows installer). So language input and dependency will be a matter of "Next", "Next" …
All of this will come with the release of Swift 5.3 which, presumably, will come with a number of new Apple apps that were due to be released in late May (just before WWDC) as iOS 13.5. Once launched, just go to Apple's official website, swift.org, download the language, enter it, time.
Google has created a Swift installer for Windows that we are already testing. It can be downloaded with Swift 5.3 upon release.
In addition, Apple has introduced the Microsoft Language Server Protocol (LSP) standard for engine usage, labels, parsing, and code help. That would allow just one plugin, any editor such as Sublime Text, Visual Studio Code or Visual Studio similar to IDE, it can include the same code editing functions used in Xcode.
The most important step to take and no doubt, the fun.