Re: M1 port: Call for funding

Taoufik Dachraoui <[email protected]> Tue, 2 Jan 2024 10:51:30 +0100
Newsgroups gmane.lisp.openmcl.devel
Message-ID <CA+2r5MGh9MZ55ntQNfA_1sDzn12wKsLPosdqTxGPEVHSsarX4A@mail.gmail.com>
Hi

From
https://mitchellh.com/writing/zig-and-swiftui#appendix-why-not-objective-c

"Building a native GUI for a cross-platform application is a decades old
problem. Nowadays, most people just *don't* and fallback to using a
non-native experience such as Electron instead.

One approach to building a native GUI for a cross-platform application is
to write all of the business logic in a cross-platform language (C, Rust,
Zig, etc.) and then write the platform-specific GUI code. This is the
approach I take with my my terminal emulator
<https://twitter.com/mitchellh/status/1662217955424493570> and it works
really well. As of the current date writing this post, 93% of my repository
is business logic in Zig and C, and 4% is macOS-specific GUI code in Swift."

Kind regards

Taoufik

On Sun, Dec 31, 2023 at 9:01 PM Gary Palter <[email protected]>
wrote:

> > On Dec 31, 2023, at 2:43 AM, R. Matthew Emerson <[email protected]> wrote:
> >
> >> On Dec 29, 2023, at 10:29 AM, Ron Garret <[email protected]> wrote:
> >>
> >> ...
> >>
> >> 7.  What is your reading of the tea leaves with regards to the future
> of ObjC on the Mac platform?  Is it even worth bothering trying to port the
> ObjC bridge, or should we be thinking about a Swift bridge instead?
> >
> > It seems to me that the Objective-C runtime is going to be around for
> some time yet. Maybe at some point it will go away, and I can only hope
> that Apple will provide some other way for non-Apple languages to access UI
> libraries. Swift doesn’t have a stable ABI as far as I know, so it’s not
> possible yet to talk about calling Swift directly from CCL (without going
> through C somehow).
>
> Just for the record, the Swift ABI is stable on macOS starting with Swift
> 5.
>
> ABI stability on other platforms is still under development.
>
>

-- 
Taoufik Dachraoui