discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: a c++11 wrapper for gnustep libraries


From: H. Nikolaus Schaller
Subject: Re: a c++11 wrapper for gnustep libraries
Date: Tue, 11 May 2021 14:24:17 +0200

> Am 11.05.2021 um 13:48 schrieb Usama makhzoum <osmakh1@gmail.com>:
> 
> 
> On 5/10/21 11:20 PM, H. Nikolaus Schaller wrote:
>> Hi,
>> 
>>> Am 10.05.2021 um 20:58 schrieb أسامة مخزوم <osmakh1@gmail.com>:
>>> 
>>> hi all
>>> 
>>> I am thinking of a C++11 wrapper for base, gui and other libraries, may be 
>>> it is easier to do than another PL (because of objective-c++ existence). 
>>> however, i want to hear from you: I would like to have opinions and whether 
>>> if there was a attemp to do this (with c++98, for example).
>>> 
>>> This also can give gnustep (another step). macosX developers always 
>>> searches for c++ wrappers around cocoa and friends. before they enforced 
>>> deeply to objc and swift, they simply wishing the last wish "I hope that 
>>> someone did it". so maybe a c++ wrapper can make gnutep famous for the mac 
>>> development, rather.
>> On macOS C++ is not the primary language (except for kernel drivers). It is 
>> ObjC and Swift.
>> 
>> IMHO, objc++ exists because there are some interesting C++ based libraries 
>> (e.g. data processing, business logic, file format decoders) where it should 
>> be possible to integrate them into objc based GUI apps. So in MVC 
>> architecture, C++ would be mainly used for providing an existing data model.
> 
> this could be also a reason for writing such a wrapper.

I do not understand how it would help. If the GUI is to be written in ObjC and 
some C++ libs to be included, wrapping ObjC transforms the whole project into a 
C++ project which is not what I would like to have.

> why doing things in two language becomes the standard way? think of it as you 
> were using python and have to do GUI staff with Qt, does i have to try py-c++ 
> or to use a wrapper like pyqt?

Well, if I use ObjC and want to do some macOS or Linux or Windows GUI stuff. 
Then I simply use GNUstep withou any wrappers.

> 
> 
> GNUSTEP framework is a very easy-and-popular framework, i like it both with 
> developing, and in use. and I think it will make another little advance if 
> there was some easy/neat way to use from c++ (and many other programming 
> languages, like perl, and even javascript), i assume some progress when a c++ 
> programmer (thinks in terms of templates, mutli-inheritance and 
> smartpointers) has access to GNUSTEP. I know that i didn't invent something 
> new or make things impossible as possible. I want to help people that like 
> c++-syntax to consider gnustep as an option, after all.

Ok!

Now, I could imagine something like a https://www.wxwidgets.org glue so that 
you can compile any wxWidgets based application not only for macOS, Linux (GTK, 
Qt, X11 etc.) or Windows but also for GNUstep. So make GNUstep another 
"backend" option for wxWidgets in the list of supported platforms:

        https://www.wxwidgets.org/about/   (i.e. create some wxGNUstep)

> 
>> 
>> I wonder what a use case of the reverse wrapping would be.
> 
> a syntax-sugar, or convince wrapper is the main goal.  maybe used as 
> additional gui-frontend for a c++  graphical or command line application 
> without too much diving into obj-c++.

There may be a key decision before starting a project like you are thinking of: 
which classes and interfaces should your wrapper provide? Something completely 
new (optimized for wrapping GNUstep) or a well known set of interfaces already 
used by many C++ projects.

Beware: there are already many:

        
https://www.reddit.com/r/cpp/comments/babfl5/a_pretty_big_list_of_c_gui_libraries/

So wxWidget seems to me one of the preferred choices - but I am not that active 
in C++ that I know what others are doing.

What I therefor suggest is to check if it is sufficient to make a special 
compiler setup to compile wxOSX/Cocoaas as C++ wrapper around GNUstep. So it 
may even almost exist but nobody did have the idea to make use of it. And it 
may be a much more manageable task than inventing a new wrapper and make people 
use it.

Now I see a nice benefit of such a project: get any source package from github 
(e.g. KiCAD) that uses wxWidgets, compile it with wxGNUstep and get a 
harmonized look and feel inside a GNUstep desktop...




reply via email to

[Prev in Thread] Current Thread [Next in Thread]