picoe / Eto

Cross platform GUI framework for desktop and mobile applications in .NET
Other
3.57k stars 325 forks source link

Merge or cooperate with MonoMac.Windows.Forms projects #19

Closed mojo2012 closed 12 years ago

mojo2012 commented 12 years ago

Currently there are at least 2 similar projects that basically implement the same - a new API for the UI Cocoa components based on MonoMac.

Wouldn't it be better to merge the projects or at least share some code?

The other projects I know of are: https://github.com/mcneel/MonoMac.Windows.Form https://github.com/Clancey/MonoMac.Windows.Form

cwensley commented 12 years ago

Eto.Forms actually targets more than just one API - it targets GTK#, Windows Forms, WPF, iOS, and like the above project(s), MonoMac.. I believe the goal of MonoMac.Windows.Form is to bridge the Windows Forms API to MonoMac alone.

There's also mono's xwt project which is pretty much a complete duplicate of what Eto.Forms already does, but it is not currently usable.

mojo2012 commented 12 years ago

Why not merge both projects? Did you try to contact the mono xwt maintainer? (miguel de icaza?)

cwensley commented 12 years ago

I've talked with Miguel a bit about this - they seem to be on their own (irreversible) path, nor thinking about things like mobile development.. I can't say what's going to happen in the future, but at the moment Eto.Forms is the only one that's currently usable on the big three platforms (GTK#, WinForms, MonoMac), and now very usable and almost complete with WPF.

mojo2012 commented 12 years ago

What's the status on the MonoMac implementation?

Currently I'm exploring the potential of a "raw" MonoMac driven project and I have to admit, that - though at the beginning I was very excited - it is far from being usable from a Windows Forms (and even GTK+) programmer's view.

So many things that are already provided by WinForms are missing Cocoa and MonoMac (by design).

I think I'll check out this project - maybe it's what I need. Btw, do you always want to provide the smallest common denominator, or would it be ok, if the mac port would have more or different features as the other ports? If I go for Eto.forms then most certainly I will make my own modifications, e.g. Header Cells in NSOutlineView (SectionList?)

I'd provide the changes if you want.

cwensley commented 12 years ago

The MonoMac implementation is just as complete as GTK# and WinForms implementation(s). I currently sell my MonoMac version of PabloDraw on the Mac App Store, so that might give you an indication of it's completeness.

That's not to say that you won't run into a few issues or something that is missing that you are looking for, but it is typically a very quick turnaround to get those fixed or added (if it isn't a major feature).

If you want to do your own modifications specific to your app, you can already do that in your own source to supplement the Eto.Forms code (via Styles, or write your own custom widget/handler combo). Given the lowest common denominator 'problem', I wanted to ensure that you can still take advantage of each platform's capabilities if you so choose.

If you are mainly interested in the MonoMac port and want to add more functionality to it, that would be extremely helpful. I can port to the other platforms. If it can't be ported, we can at least add that functionality as a sample in the Eto.Test application of what you can do to enhance a specific platform.

mojo2012 commented 12 years ago

I keep you informed about my progress and possible changes/change requests.