3 ms·
There aren't many great production-ready open-source frameworks for code-editor components in Swift. I assessed quite a few but found that the feature completen
by jackhodkinson 2y ago
There aren't many great production-ready open-source frameworks for code-editor components in Swift. I assessed quite a few but found that the feature completeness was far from what I needed. I tried to fork [CodeEditSourceEditor](https://github.com/CodeEditApp/CodeEditSourceEditor https://github.com/CodeEditApp/CodeEditSourceEditor) and add the extra features I wanted, but I think it would have taken me 6-12 months to get it to an acceptable state, meanwhile not spending any time focusing on the rest of the product experience.
I decided to play around with Typescript and Electron over a weekend and ended up getting a really solid prototype so I made the heart wrenching decision to move over.
I'm messing around with writing my own text editor component in Swift now, but it's quite a big endeavour to get the standard expected for a production ready product.
I'm assuming a pure-swift CAD UI would be equally difficult. Would be really cool to see that tho.
- rjurney 2y agoDon't listen to the grinches that stole Swift. Electron is fine. We have lots of RAM. Just make it good. Data scientists won't care.
- cageface 2y agoFWIW I've had good experiences with Tauri so far. It's great being able to call back easily into Rust code and I haven't had any real issues with the wrapped web view. At this point I'd start with Tauri first and only switch to Electron only if I really need something only Chrome supports or if I need to support Linux. I guess the webview story there is not so good.
- harshitaneja 2y agoTauri supports linux.
- cageface 2y agoRight but from what I've read the webview it uses there is way less stable and featureful than Windows or Mac. I haven't actually tried it myself.
- westurner 2y agotauri-apps/tauri: https://github.com/tauri-apps/tauri https://github.com/tauri-apps/tauri : > The user interface in Tauri apps currently leverages tao as a window handling library on macOS, Windows, Linux, Android and iOS. To render your application, Tauri uses WRY, a library which provides a unified interface to the system webview, leveraging WKWebView on macOS & iOS, WebView2 on Windows, WebKitGTK on Linux and Android System WebView on Android. ... Tauri GitHub action: https://tauri.app/v1/guides/building/cross-platform/#tauri-github-action https://tauri.app/v1/guides/building/cross-platform/#tauri-g... WebView: https://en.wikipedia.org/wiki/WebView https://en.wikipedia.org/wiki/WebView CEF: Chromium Embedded Framework > External Projects: https://github.com/chromiumembedded/cef#external-projects https://github.com/chromiumembedded/cef#external-projects : cefglue, cefpython,: https://github.com/cztomczak/cefpython https://github.com/cztomczak/cefpython (edit) tauri-apps/wry > Bundle Chromium Renderer; Chromium WebView like WebView2 (Edge (Chromium)) https://github.com/tauri-apps/wry/issues/1064#issuecomment-2219332720 https://github.com/tauri-apps/wry/issues/1064#issuecomment-2...