I am a rather new contributor but these are my thoughts. A lot of the
points I'm making up I haven't brought up before, so there might be
important things I haven't considered.
There are two things that are major blockers, at least in my view:
* CoreAnimation-AppKit bridging (CAAppKitBridge) -- many macOS
applications depend on this, and also it is necessary for Chameleon and
any reasonable SwiftUI implementation
* Swift-ObjC bridging -- most newer freely-licensed and proprietary code
written on top of the macOS frameworks now use Swift, and it will be
impossible to leverage that code without implementing bridging
Getting past those blockers would enable:
* Touch support in Gui and Back -- this would make GNUstep more useful
to build code for touchscreens, just as GNOME and KDE are moving
towards. A lot of touch devices could become a lot more useful if the
high-quality existing desktop code could easily be brought to touch.
Also, given that the most viable UIKit implementation is a wrapper
around AppKit/Gui, this would reduce the maintenance burden of
maintaining touch. I'd imagine that the CAAppKitBridge would be helpful
but not necessary for this.
* UIKit implementation using Chameleon -- this would allow iOS
applications to be ported to GNUstep, which would allow us to gain a
much larger userbase. It requires the CAAppKitBridge.
* SwiftUI implementation using OpenSwiftUIProject/OpenSwiftUI (not to be
confused with the other abandoned projects called OpenSwiftUI with the
same goals) -- this would allow newer apps to be ported. Also, Apple is
starting to introduce APIs which are SwiftUI-only, and it will be
impossible to implement those without implementing SwiftUI
Things that I personally care about:
* Porting GitUp -- a very good Git client, is probably a worthwhile
project to focus effort on due to its complexity and 2015-era code,
which could show our ability to port newer non-Swift code.
* Porting CodeEdit -- would give us an actually good IDE, written in
AppKit and SwiftUI, with support for Language Server Protocol (allowing
us to use clangd for syntax highlighting, navigate to definition,
showing documentation on hover, etc) and with an Xcode-like appearance
Another thing we should think about:
* Apple is rewriting Foundation in Swift (this new code is Apache-2.0
licensed), and has already been using parts of swift-foundation in
production. Modern Foundation and CoreFoundation have parts which are
simple wrappers around swift-foundation.
Does anyone have any thoughts?
On 2/15/25 18:16, Richard Stallman wrote:
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
Congratulations on the new release.
Is there an up-to-date list of the features that GNUstep needs and lacks?
I would like to see it.