Greetings. I wonder if there where any attempts to use Swift for
distributed applications/services, running within a commercial cloud, for
both business intelligence, practical business domain DSL and UI/IX? And
for mobile apps on iOS, of course. Same language - for any types of
development. Including web(backend) development.
I’m using it for all of the below at considerable scale (currently running on multi-region clusters across Azure, AWS, and Digital Ocean using Kubernetes), and have been since Kitura was announced.
The primary reason for wanting to contribute to Swift server development. I’ve also experimented with using it as a machine learning development platform to much weaker results.
On 3 Jan 2018, at 19.56, Ivan Serdyuk via swift-server-dev <firstname.lastname@example.org> wrote:
Greetings. I wonder if there where any attempts to use Swift for distributed applications/services, running within a commercial cloud, for both business intelligence, practical business domain DSL and UI/IX? And for mobile apps on iOS, of course. Same language - for any types of development. Including web(backend) development.
swift-server-dev mailing list
Wow that is impressive stuff Phil. I didn’t know Kitura was in the works.
In the works? In regards to what?
If you mean in regards to the project itself, Kitura has been around almost since Swift was open sourced.
I was already looking at trying to develop a minimal web application platform in Rust, and switched to experimenting with Swift. IBM’s project was the first I saw that supported HTTP, and it was modeled on Express (the Node.js project), which I was familiar with and had used extensively, (most of my web applications were Express-based). So it was a logical start.
Vapor & Perfect are also good efforts, which arrived later, but when it came to getting the runtime project production-ready, and I had the opportunity to change the underlying HTTP project, neither Vapor nor Perfect fitted with my approach still. Kitura 2 is a huge improvement and I’m so familiar with it at this point that if I hit an issue I can just PR the main project. Not that I’ve had to yet.
I also added a customized templating engine, mixed in some markdown support, support for Web Components (Custom Components & Shadow DOM), OpenGraph, peer-to-peer clustering, offline app support (WebSockets & Service Workers), i18n, a REST service API for remote management, a client runtime for the service, and web hooks for extensions, all rolled into a 6MiB runtime, Dockerized.
Altogether, coming from an Express web app stand-point, the results have been great, without all of the other optional cloud platform & ML components on-top.