[HN Gopher] NodeSwift: Bridge Node.js and Swift
       ___________________________________________________________________
        
       NodeSwift: Bridge Node.js and Swift
        
       Author : joshuawright11
       Score  : 73 points
       Date   : 2024-06-19 16:15 UTC (6 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | anonymouse008 wrote:
       | Wait, so you compile a swift executable that's callable from js?
       | How would one distribute this client side in browser?
       | 
       | I'm not smart enough to understand this. I love swift, vapor and
       | node individually, I don't get it together
        
         | wk_end wrote:
         | Node's a server-side thing, so I don't think you'd distribute
         | these in the browser.
        
           | vips7L wrote:
           | It's a desktop thing too when working with cli tools or
           | electron, though I've found that for electron I just end up
           | calling other languages via IPC on stdin/out. It might not be
           | as fast as ffi from node, but its certainly leagues easier
           | and clearer.
        
         | robmccoll wrote:
         | You wouldn't run this in the browser. On the frontend, this
         | would be useful for Electron apps (which run an embedded
         | Chromium for the UI and a local node server for business logic
         | and interfacing with the operating system) on MacOS. On the
         | backend, this might be useful if you have a node-based API and
         | want to share some Swift code between your iOS frontend and
         | node backend.
        
         | brailsafe wrote:
         | It might be possible to compile it to web assembly and then
         | call it in the browser.
        
       | floydnoel wrote:
       | this is freakin great
        
       | elpakal wrote:
       | I get paid to write Swift code at the day job, at night I write a
       | lot of node backend code for a side project. I have to say that
       | it's pretty refreshing to jump in and not have the (increasingly)
       | opinionated Swift compiler barking at me for everything I do.
       | Unfortunately Swift has also made me extremely paranoid in JS,
       | where I find that everything I write is checked for null, but I
       | don't think I'd trade the freedom in nodeJS for Swift's type
       | safety. This is super cool though, well done.
        
       | goestoo wrote:
       | So, the main use case of this is for writing Electron apps, the
       | biggest benefit of Electron is having cross-platform apps, using
       | swift code in your Electron app that's only work on macOS gonna
       | defeat of propose of an Electron app.
        
         | dieortin wrote:
         | Swift code can run on Windows and Linux too
        
           | goestoo wrote:
           | Sorry, I didn't know that, I thought swift is only for Apple
           | platforms.
        
         | adamnemecek wrote:
         | Electron apps can have native components and in fact many do.
        
         | mmcclure wrote:
         | This has already been corrected, but just calling out a bullet
         | from the feature section:
         | 
         | > Cross-platform: NodeSwift works not only on macOS, but also
         | on Linux, Windows, and even iOS!
         | 
         | Now I'm curious about the iOS bit. Is that intended for React
         | Native?
        
       | guzik wrote:
       | Oh my, yes! We have some legacy microservices written in
       | Swift/Vapor (while our main stack is NestJS) and instead of
       | rewriting them to TypeScript, we can use this. Cool!
        
         | joshuawright11 wrote:
         | What drove the switch from Vapor -> Nest?
        
       ___________________________________________________________________
       (page generated 2024-06-19 23:00 UTC)