[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)