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: Gregory Casamento
Subject: Re: GNUstep vs. The Cocotron for Mac to Windows porting
Date: Sun, 13 Dec 2015 11:53:52 -0500

Dr Jansen,

See my responses below....

On Sun, Dec 13, 2015 at 7:46 AM, Dr. Rolf Jansen <rj@obsigna.com> 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:
>
>
> 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.
>

GNUstep uses the native theming capabilities of Windows itself to
blend in.  The WinUXTheme delegates to Windows to draw the widgets so
they look entirely native.  Nothing major is missing.   The buttons,
the menus and everything are done this way.

> 2. Interface Builder compatibility
>
> Can I use my .xib-files (Deployment target OS X 10.6) without any changes for 
> building Windows applications? With The Cocotron I can.
>

As long as they generate nib files you can.  The trick here is that
Cocotron doesn't support XIB files either.  They use the nibs which
are converted during the build process and read those.   Just like
Cocotron, GNUstep can read the nib files, but we can't directly read
the XIBs.  You will need to manually convert those using the ibtool on
your mac.  I am currently working on native xib support in GNUstep so
that no compilation of the xibs is needed.

> 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).
>

Yes, you can expect the same.  There are a number of apps on the
market currently using GNUstep.  See http://www.testplant.com for an
example of one such app.

> 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?
>

GNUstep has the capability to read and display PDFs on both Linux and Windows.

> 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.
>

Yes, GNUstep provides complete support for RTF.  I believe it would be
much more work to implement the capabilities you need for RTF support
into The Cocotron.

> 6. License question
>
> I read that it is best to ship my application with the GNUstep frameworks in 
> separate .dll files, so end users may replace the frameworks by their 
> customized ones. Is this correct? In addition, I must not prohibit reverse 
> engineering of my application interface to GNUstep. As a matter of fact, my 
> EULA's do not mention anything about reverse engineering, would this be OK, 
> or do I need to positively permit reverse engineering?
>

It is possible to build an app using a "standalone" process.   This
means that once compilation is done all of the relevant .DLLs will be
copied into place.   This still allows you to replace them.   GNUstep
doesn't like anything statically so it's entirely possible to upgrade
an individual DLL within the application directory.

> 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?
>

You may expect the same with GNUstep.   The best way to go about it is
to provide patches back to us or to sign a copyright assignment for
your changes and commit them on a branch in the SVN repo for review
and inclusion.

> Anything else to obey with?
>

Not that I am aware of.  If you have additional questions please let us know.

> Many thanks for any kind replies.
>
> Best regards
>
> Dr. Rolf Jansen
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Thanks, GC
-- 
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
http://ind.ie/phoenix/



reply via email to

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