discuss-gnustep
[Top][All Lists]
Advanced

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

Re: GNUstep vs. The Cocotron for Mac to Windows porting


From: Riccardo Mottola
Subject: Re: GNUstep vs. The Cocotron for Mac to Windows porting
Date: Sun, 13 Dec 2015 20:26:31 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:42.0) Gecko/20100101 Firefox/42.0 SeaMonkey/2.39

Hi Rolf,


Dr. Rolf Jansen wrote:
I am a Mac developer and in the past I successfully used The Cocotron to port, 
build and distribute one of my bigger GUI application projects for Windows. 
This one is feature complete now, and I am now looking forward to port one of 
my next big projects to Windows. I am considering to use GNUstep for this, 
however, I got some questions:

I do maintain and use a couple of applications under Windows, but only with GNUstep, so I don't know how things compare with Cocotron.


1. Look & Feel

I want my applications look & feel native on Windows, and I am demanding on 
that. I read, that the WinUXTheme is still under development, and my question is 
now what exactly does this mean. Do most of the GUI elements work and look nice? 
Or, perhaps, do only the buttons look nice and the other stuff looks and feels 
somehow? What is missing? Does it crash any now and then? For my other application, 
I submitted some contributions to The Cocotron in order to letting it behave and 
look good on Windows.

Most elements display well and directly with WinUX, meaning that they theme and blend in WinXP, Win7, Win8 and even Win10. Tested and proven with all of them. Buttons scrollbar and native file dialogs do work (with limitations). There is extra-code that needs soem setup for which I have not released a guide yet, but I will do soon.

Caveats? yes, there are.
Popupbuttons do not work well for me they have a coupe of issues, the most annoying is that in certain conditions (that is, certain Popupbuttons) do not update in display (but do work) in the first usage. Other, within the same app, do work. There are issues with multi-monitor setup where monitors have different sizes too.

You will have issues with document based applications if you don't have empty docs, this is not a problem of the theme itself.

I am not aware of other things, but it depends on what your application uses.

Look here:

http://multixden.blogspot.it/2014/09/improvements-in-gnusteps-native-window.html



3. Shared Code Base

My other GUI application got apprx. 25000 lines of custom Objective-C and C 
code, and it is a shared code base for both platforms Mac OS X and Windows. 
With a little bit of coding discipline, I was able to keep the number of 
platform specific #ifdef segments low (perhaps 5 small snippets). Can I expect 
the same with GNUstep for my still to be ported application (apprx. 50000 
lines, other purpose, same coding style).

I don't know The Cocotron, but I would expect something similar, just perhaps different. In my case, I have one application ported with no changes at all, the other one has changes because networking is different on windows. Other apps might require ifdefs to tweak UI elements.


4. PDF readiness

My application requires reading and flawless display of PDF files, as well as 
generation of PDF files from its view contents, some of which may become really 
huge. Does this work with GNUstep on Windows?

I would say no, I am not aware of native PDF handling on windows. Do you know what The Cocotron uses? On GNUstep you have two kits: PDFKit and PopplerKit which rely on xpdf and poppler libraries. Or you can GSPdf's approach to work with ghostscript. I got none of the above working on windows yet, not because of the GNUstep code, but because of the dependend library/application.

I did not try since a long time though, things might have gotten better upstream.


5. RTF views and editing

Does GNUstep provide complete RTF compatibility, editing and display. Here The 
Cocotron is lacking, and the application to be ported to Windows does rely 
heavily on perfect RTF text formatting capabilities. So actually, my concerns 
may be rephrased to, whether it would be more work for me to implement the 
missing RTF capabilities into The Cocotron, compared to implement something 
into GNUstep if not to work around any other shortcomings in GNUstep.

Our RTF support is quite good. We use it internally and it improved a lot in the past years thanks to Fred's invaluable work. Since SimpleWebKit essentially transforms HTML into RichText, support for attributes, images and other details made big strides, I seriously doubt The Cocotron has such quality. I did interchange files with WordPad quite well and did try basic RTF features in read/write from and to Windows apps. We do write RTF files that are usually read quite well, however the RTF produced by latest Word might be problematic, because specs are not clear and MS changed stuff, it is no longer a 1:1 match of the corresponding Word format.
The best would be to test some example and use Ink to show them.

If I need to change something within GNUstep, then my intention is to commit my 
changes upstream, and ideally the GNUstep frameworks shipped with my 
application would be based on the upstream code at the given point in time. 
This is how, I handled it with The Cocotron. May I expect the same with 
GNUstep? Do I need to provide the sources in a separate place anyway, or may I 
simply add a link to the GNUstep SVN repository on a prominent place (e.g. the 
About panel) of my application?

If your changes are of general use and quality, we will be happy to improve GNUstep itself, send in the patches!

Cheers,

Riccardo



reply via email to

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