зеркало из https://github.com/mono/mail-archives.git
136 строки
5.0 KiB
HTML
136 строки
5.0 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE> [Mono-osx] Is native look on OS X possible?
|
|
</TITLE>
|
|
<LINK REL="Index" HREF="index.html" >
|
|
<LINK REL="made" HREF="mailto:mono-osx%40lists.ximian.com?Subject=%5BMono-osx%5D%20Is%20native%20look%20on%20OS%20X%20possible%3F&In-Reply-To=21945507.post%40talk.nabble.com">
|
|
<META NAME="robots" CONTENT="index,nofollow">
|
|
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
|
<LINK REL="Previous" HREF="001979.html">
|
|
<LINK REL="Next" HREF="001983.html">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
<H1>[Mono-osx] Is native look on OS X possible?</H1>
|
|
<B>Joanna Carter</B>
|
|
<A HREF="mailto:mono-osx%40lists.ximian.com?Subject=%5BMono-osx%5D%20Is%20native%20look%20on%20OS%20X%20possible%3F&In-Reply-To=21945507.post%40talk.nabble.com"
|
|
TITLE="[Mono-osx] Is native look on OS X possible?">cocoasharp at carterconsulting.org.uk
|
|
</A><BR>
|
|
<I>Wed Feb 11 04:22:09 EST 2009</I>
|
|
<P><UL>
|
|
<LI>Previous message: <A HREF="001979.html">[Mono-osx] Is native look on OS X possible?
|
|
</A></li>
|
|
<LI>Next message: <A HREF="001983.html">[Mono-osx] Is native look on OS X possible?
|
|
</A></li>
|
|
<LI> <B>Messages sorted by:</B>
|
|
<a href="date.html#1980">[ date ]</a>
|
|
<a href="thread.html#1980">[ thread ]</a>
|
|
<a href="subject.html#1980">[ subject ]</a>
|
|
<a href="author.html#1980">[ author ]</a>
|
|
</LI>
|
|
</UL>
|
|
<HR>
|
|
<!--beginarticle-->
|
|
<PRE>niknil a écrit :
|
|
|
|
><i> OK, but Monobjc, Mcocoa etc are specifically for the Mac. What I'm looking
|
|
</I>><i> for is a cross platform framework (=the same code on different platforms).
|
|
</I>><i> Sorry I didn't mention that in my previous post, but I thought that
|
|
</I>><i> Mono was
|
|
</I>><i> a cross platform framework. It says so on the mono-project home page, but
|
|
</I>><i> when I look at the Mac and Linux screenshots of my sample app, I can see
|
|
</I>><i> that it's not quite that. Although the app runs at different
|
|
</I>><i> platforms, it's
|
|
</I>><i> not 'true' cross platform in the sense that wxWidgets and QT are.
|
|
</I>
|
|
Unfortunately, you are looking for an unfindable Utopia. Mono is
|
|
certainly a cross platform framework, in as much as it provides a great
|
|
OO framework for the "business" code.
|
|
|
|
But, as others have said, the UI side of things really cannot be done as
|
|
a single code framework. It is not only the look and feel of the
|
|
individual controls that is important but, also, the layout of those
|
|
controls, according to the guidelines for form design for the relevant
|
|
platform. Now, Linux users might be a relatively eclectic UI experience
|
|
but Mac users really do seem to jealously guard how they want their apps
|
|
to look. Nowadays that means Cocoa controls, laid out to Cocoa UI
|
|
guidelines; even Carbon UIs are now "deprecated"; look at Adobe having
|
|
to rewrite Photoshop because Carbon doesn't support 64bit.
|
|
|
|
I am guessing but, are you writing some or all your business logic in
|
|
the form units? If so, this would explain your disappointment with the
|
|
UI facilities provided by the Mono framework.
|
|
|
|
Mac developers are used to using the MVC (Model View Controller) design
|
|
pattern to separate out the UI from the underlying business logic.
|
|
Unfortunately, most Windows developers come from a tool, like Delphi or
|
|
Visual Studio, where it is easy (one might even say encouraged) to code
|
|
your entire application with your business logic actually written in the
|
|
event handlers on the form class.
|
|
|
|
I have just spent the past four years working with a client who wanted
|
|
to untangle the spaghetti code that had accrued in their Delphi
|
|
application. Our answer was to implement the MVP (Model View Presenter)
|
|
design pattern, which is a more sophisticated MVC, in C#. Now we have a
|
|
UI where the form classes have absolutely no knowledge of the business
|
|
classes they are being asked to display.
|
|
|
|
Now all we have to do, to get our application to run as a native Mac
|
|
app, is to write a small hierarchy of generic "Interactor" classes for
|
|
the different types of controls, design the forms in Interface Builder,
|
|
and use Delphi Prism to link the C# business classes to an authentic
|
|
Cocoa UI experience.
|
|
|
|
Joanna
|
|
|
|
--
|
|
Joanna Carter
|
|
Carter Consulting
|
|
|
|
</PRE>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--endarticle-->
|
|
<HR>
|
|
<P><UL>
|
|
<!--threads-->
|
|
<LI>Previous message: <A HREF="001979.html">[Mono-osx] Is native look on OS X possible?
|
|
</A></li>
|
|
<LI>Next message: <A HREF="001983.html">[Mono-osx] Is native look on OS X possible?
|
|
</A></li>
|
|
<LI> <B>Messages sorted by:</B>
|
|
<a href="date.html#1980">[ date ]</a>
|
|
<a href="thread.html#1980">[ thread ]</a>
|
|
<a href="subject.html#1980">[ subject ]</a>
|
|
<a href="author.html#1980">[ author ]</a>
|
|
</LI>
|
|
</UL>
|
|
|
|
<hr>
|
|
<a href="http://lists.ximian.com/mailman/listinfo/mono-osx">More information about the Mono-osx
|
|
mailing list</a><br>
|
|
</body></html>
|