On Tue, Aug 1, 2017 at 2:18 AM, David Chisnall <[email protected]> wrote: > On 31 Jul 2017, at 20:43, Liam Proven <[email protected]> wrote: >> >> GNUstep apps can _only_ be written in Objective-C? > > Kind of. They can only be written in a language that has good bridging to > Objective-C[++]. All of the interfaces are exposed as Objective-C objects, > but there are bridges that allow these to be used from (as far as I am aware): > > - Java (JIGS) > - Ruby (RIGS) > - Python (not sure if this has a name, but I think it’s now part of the > upstream ObjC bridge). > - Rust
I'm not sure if the port still works anymore, however bindings to the scheme-like language with objective-c like dispatch added, making the briding pretty seamless. https://github.com/nulang/nu > And we have a GSoC student who is working on porting JavaScriptCore, which > would give us a high-performance JavaScript bridge too (for some workloads, > JSC will generate faster code than using ObjC). > > The most under-appreciated language is probably Objective-C++. C++11 or > later is a good language for programming in the small, Objective-C for > programming in the large, and the two compose surprisingly well. I’ve > recently been writing an OmniOutliner replacement[1] in Objective-C++, and > finding that I can do a lot of things in about half as much code in > Objective-C++ than in either Objective-C or C++ (for example, Objective-C’s > for..in loops are restricted to collections that contain objects, but with a > tiny adaptor you can use NSIndexSet or NSString in C++ range-based for loops). > >> OK, if so... are there any other rival foundation classes for writing >> GUI apps in Objective-C on Linux? > > There are five implementations of the Foundation framework that I know of: > > - GNUstep Base > - Microsoft’s WinObjC, which uses a lot of code from Apple’s SwiftFoundation > - libFoundation (I think this is dead now?) > - Justin Hibbits’ implementation (lightweight, FreeBSD-only, very clean > code, but largely unmaintained now). > - Cocotron (upstream[2] seems to be dead - last commit 2 years ago, though > there are some moderately active forks). not a faithful implementation of foundation, rather its own thing, but there is https://webkeks.org/objfw/ https://webkeks.org/git/ which seems to have QT bindings and a gui abstraction library. > Of these, only GNUstep and Cocotron also provide an AppKit implementation. > Microsoft’s WinObjC provides an incomplete UIKit implementation, though > recently they’ve refocused on providing bridging for their own GUI framework, > to make it possible to use the same core on Windows and iOS but have native > GUIs for each. > > David > > [1] https://github.com/davidchisnall/OpenOutliner/ > [2] https://github.com/cjwl/cocotron _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
