Since a few of us seem to be interested in learning Swift, I wondered what languages or frameworks people are (or thinking about) pairing a Swift app with on the backend?
Are you sticking with something like Rails or Phoenix? Or opting to use one of Swift’s own frameworks, like Vapor or Kitura?
I wonder also if learning a Swift web framework might actually be a good way to learn Swift - since many of us are familiar with the workings of a framework and it might help us get our head around things?..
I would still use the framework that I have always used F# Giraffe/Suave. I know that logically it seems to make sense on paper to use the same language on the server as the client but I just don’t see the value proposition in practice. You can develop F# mobile apps with Xamarin but I still prefer Swift.
Since server programming is nothing like programming for the device I just don’t see the advantage. I have seen posts where people bring up that you can use models on both, but unless you type 5 words a minute that doesn’t really buy you anything. You won’t really be sharing anything of value between the client and the server since the problems you solve are very different.
At the end of the day I think the only advantage of having the same language on both is that you like the language and enjoy programming both on the client and server. And developer happiness is not something to be taken lightly, but I don’t see any real business value in it. Languages are so easy to learn with all the information out there, that using a single language just isn’t something that I would consider in a business context, only a hobby one.
Some of the reasons why I was thinking Swift on the server might be appealing to some:
- As you mentioned, if Swift is someone’s favourite language that they want to use it everywhere
- If someone is learning Swift, it might make sense to use it ‘as much as possible’ even if while learning it
- Make use of custom hardware (see below)
I think it may only be a matter of time before Apple gets back into the server game - what could we do if we had dedicated Apple servers with chips like the A13?
A13 Bionic was built with a focus on machine learning, with a dedicated 8-core Neural Engine capable of 5 trillion operations per second, two Machine Learning Accelerators on the CPU and a new Machine Learning Controller to balance performance and efficiency. Together, A13 Bionic and iOS 13 enable new intelligent apps that make use of machine learning and Core ML.