Swift, open and serving
When I started to learn Swift right after WWDC 2014, one of my first consideration was that the language had a much wider applicability than Objective C. In particular, Swift seemed to be very suitable for server-side programming, a field which Apple has no interest in and almost never had, at least with regard to its products (except for the defunct WebObjects framework). So that was a bit puzzling, if Swift was meant as a replacement for ObjC, why opening this potential, or how to exploit it ? Then in WWDC 2015, it was announced that Swift would go Open Source later on. So it did on the 3rd of December, 2015, and not in a shy way. GitHub , dedicated website, mailing lists… the works. If Apple wasn't behind this you'd think it was a good old community-originating OSS project.
With the opensourcing of Swift was a Linux port (still no Windows one, but that should arrive before long). And now the scene is complete... As of this writing, here are the server-related Swift projects I've come across :
- https://github.com/izqui/Taylor
- https://github.com/brownleej/tailor
- https://github.com/elliottminns/blackfish
- https://github.com/glock45/swifter
- https://github.com/tannernelson/vapor
- https://github.com/Zewo/Zewo
- https://github.com/PerfectlySoft/Perfect
That's quite a few already, but I've kept the big one for last : https://github.com/IBM-Swift/Kitura
I recall 15 years ago hearing about how "IBM has gone Java crazy". It would be ironic if IBM would again get crazy about a language initially meant for UI programming but blossoming on the server side. At the very least they are putting some serious resources behind this, this is not a side project.
Now I really wish a Swift/based CMS will emerge, as my long-standing poor impression of Wordpress has recently been confirmed by the finding of multiple backdoors in my own website, which were used to send spam. I haven't been careful enough with security, not updating Wordpress often enough or opening too many permissions so that it would update without errors, but all this should be easier and less error-prone. And a compiled language with no "eval" statement would be much harder to exploit. If I had more free time I'd start working on a Swift-based drop-in Wordpress replacement. Forget about the themes, just exploiting the posts and comments DB would be enough. The hard part would be HTML generation, but I’d settle for plain and boring pages (which my current theme is) for not having to worry so much about security.
In any case, Swift's future looks quite interesting.