Frederick,

Congratulations, I am glad we could be a part of it!

GC

On Mon, Oct 12, 2020 at 8:59 AM Umberto Cerrato <[email protected]>
wrote:

> So cool!
>
> > Il giorno 12 ott 2020, alle ore 14:35, Frederik Seiffert <
> [email protected]> ha scritto:
> >
> > Hi all,
> >
> > I’m happy to share that we launched our app "djay" on Android using
> GNUstep:
> > https://play.google.com/store/apps/details?id=com.algoriddim.djay_free
> >
> > It’s using the Android toolchain scripts to cross-compile GNUstep and
> its dependencies for Android:
> > https://github.com/gnustep/tools-android
> >
> > The basic setup is Clang with libobjc2 using the 2.0 runtime,
> GNUstep-Base and libdispatch. Those components allow us to compile and run
> essentially all of our existing non-UI / non-platform specific code for
> Android without changes, which is multiple 100k LOC using ARC, on 4 ABIs
> (armeabi-v7a, arm64-v8a, x86, x86_64). I’m still amazed how well it all
> works.
> >
> > For the UI we went with Qt/QML, which turned out to be a great fit. Like
> ObjC, Qt/QML is very dynamic at runtime, which enabled us to write some
> glue code that lets us do two-way bindings between QML UI components and
> our ObjC model using KVO/KVC. As the app is driven by Qt’s run loop, we’re
> driving NSRunLoop and libdispatch from Qt, which is currently done by
> swizzling NSRunLoop on launch.
> >
> > We also wrote a Java-ObjC bridge that allows us to register ObjC blocks
> as native callbacks from Java (using libffi via Mike Ash’s MABlockClosure).
> It e.g. allows us to hook into the Android notification system and call
> ObjC methods when the user triggers playback controls on the home screen.
> >
> > It’s been a challenging but very rewarding project, and it’s also been
> great to see how it improved our shared code base by forcing us to more
> strictly separate platform-specific code. I’m also happy that we could make
> some contributions to the GNUstep code base ourselves (67 PRs and counting
> ;)).
> >
> > But most importantly we really could not have done it without the
> incredible work and support from the GNUstep community, including Greg,
> David, Fred, Richard, Niels, Ivan, and others. Thank you all for your help!
> >
> > Frederik
> >
> >
>


-- 
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron
https://gf.me/u/x8m3sx - My GNUstep GoFundMe
https://teespring.com/stores/gnustep - Store

Reply via email to