Pushing Swift to the Server

  • For Swift on the server you only need an editor like Sublime, Atom, or whatever suits your fancy. That's it, nothing else. Get one of the most popular frameworks like Kitura, Vapor, Perfect, Zewo or the dozens of smaller ones and be ready to deploy to Heroku, Bluemix, AWS, Google Cloud, Digital Ocean in no time.

    It is that simple, tested, proven, it works, it simply works. In just a couple of weeks I developed a couple of apps in Swift and they're up and running unattended:

    http://swiftforums.herokuapp.com

    http://pokerduel.herokuapp.com

    Repos here:

    https://github.com/kuyawa

    And the fact that you can also develop for the desktop, mobile, tablets, watch, TV and IoT in one language is a huge advantage.

    Swift is here to stay.

  • Wow. That "same language connected by an interface schema would have prevented Mars mission loss" thing is a really thin stretch.

  • Is Swift on the server a good idea? I don't own (or plan to own) a Mac. Does Apple support cross-platform tooling? I honestly don't know, but given their history, my default assumption is to be skeptical.

    Why would you choose this over Go or Rust? (Rust is totally sweet for server dev, and I've spun up a few Rust servers for things.)

  • Swift is fast and the language is nice and all, but this feels more like propaganda. Let's not forget IBM and Apple have become friends recently.[1]

    I really don't see Swift becoming a popular full stack solution outside of environments invested in iOS and macOS.

    Swift can indeed run on a multitude of systems but that doesn't mean it's a good option. For example it's not even close to being ready for Android. It can run, but that's it. Other than that you are on your own. No UI libs, nothing.

    This leaves you with iOS if you need to run on mobile which is extremely restricted. Want to freely distribute an app among your colleagues on the lab? Fuck you. You have to do all sorts of acrobatics with testing devices, provisioning certificates, etc.

    In Android you just compile an .apk and send the link to your colleagues to install it, like in any other platform on Earth except iOS. Even macOS.

    [1] http://www.apple.com/ipad/business/work-with-apple/ibm/

  • IBM, the purveyor of Rational/Websphere suite of Java tools and appservers talking about Java memory usage is sign of changing times. I hope they do better job this time with Swift tools and frameworks.

  • I recently rewrote a server that I had in Kotlin and really happy with the results. With this I am pleasantly surprised! I already liked the syntax, and now it gives me another reason to try it out. I am not sure though how would it compare with Go.

  • I'd be interested to know if any developers are investing in swift outside of the Apple ecosystem. Given that the language still seems to be in flux (the v2 -> v3 transition didn't appear seamless), why would you pick it?

  • Why? Why choose Swift over a language with an established framework ala python, ruby, ASP.NET, Node.js ?

  • No, I don't want to share models between the client and the server. I want an API dependency between them, a code dependency is actually worse.

    Why should the frontend change when the backend changes it´s abstractions? I want to change them independently, because they have different constraints and dependencies.

    If you are implementering your database schema in the frontend, you´re doing it wrong.

    An API is a view against a domain, which in turn is an abstraction above the database. However the client is not aware of the entire domain and shouldn´t be.

    Only thing that is a good idea to share is the domain language and the API interface, but can be solved easily by other means than share code base.

    And as soon you throw in another client with an other programming platform, all the benefits is lost anyway.

  • This repo demonstrates deployment of the Kitura web framework using Node.js and Now.

    https://github.com/aranajhonny/now-swift-example

  • How many projects really have just an ios client? If the argument is to have the client and server the same language then isn't that also an argument for a Java android & Java server?

  • It looks like we're getting Swift EE before Go EE.

  • Perfect team is writing an article for Native iOS and Android development using Swift. To be release soon.

  • Ctrl-f for "So,". 24 results.

    You can sound much more professional and less juvenile by dropping the "So," prefix when you speak or write.

  • Why. Seriously. Why. Whatever happened to domain-specific languages.