where does macports store it's installed application database?

Panayotis Katsaloulis panayotis at panayotis.com
Thu Dec 10 02:41:11 PST 2009


On 10 Δεκ 2009, at 12:10 ΜΜ, Ryan Schmidt wrote:

> Perhaps that's true, but if for example you write an app with Cocoa  
> and Interface Builder, it's extremely difficult to create an  
> interface that doesn't look Mac-like. That is to say, your buttons  
> will look like Mac OS X buttons, your lists will look like Mac OS X  
> lists, and so on. They're standard Mac OS X interface elements.  
> Whereas with Java, things often do not look right. For example in  
> your beta1 jar, the list headers do not look or behave like list  
> headers do in the Finder. The window toolbar, while it bears a  
> superficial visual resemblance to a Mac OS X toolbar, has almost  
> none of the behaviors Mac OS X users are accustomed to. And the text  
> rendering does not respect the LCD font smoothing setting in the  
> Appearance preferences so the text does not look like it does in  
> other applications. This is not a complaint against your app per se,  
> and I understand that your app is not finished and that you'll still  
> improve it; the complaint is that in Java it is even possible (and  
> apparently even the default) to create interface elements that do  
> not look and feel like the rest of the OS. This complaint may extend  
> to other non-Cocoa development environments too, but I have less  
> experience with them (or less knowledge of which apps are made with  
> those environments). But there's a maxim I've heard before which I  
> think is apt, which is something about how those who don't use  
> standard OS widgets are doomed to re-implement them poorly. This  
> goes for web sites that write their own scroll bars using Flash or  
> JavaScript, and to date it seems to apply to Java apps too.
>

You are right with this.
Practically Java will never be just like MacOS X
The feel is *not* exactly the same.
Still, this blog post is useful
http://explodingpixels.wordpress.com/2009/10/30/mac-apps-dont-have-to-look-like-a-mac-app/
and is written by the guy who created MacWIdgets for Java
http://code.google.com/p/macwidgets/
and currently was acquired by Apple :)

So yes, java is not pixel perfect, but it *can* produce nice and  
usable/friendly GUIs.

>> Java has a lot of advantages, like for example is a protected  
>> language. See for example your situation (the exception you got)  
>> and you know exactly what happened.
>> In Pallet I got only something like
>> 10/12/2009 2:48:02 π.μ.	com.apple.launchd.peruser.501[274]	 
>> ([0x0-0xac0ac].org.MacPorts.Pallet[14275]) Job appears to have  
>> crashed: Segmentation fault
>> What can I do now?  :-)
>
> I would say from a normal user's perspective, there's effectively no  
> difference. The program "didn't work" and the user needed to report  
> the problem to the developer. :-/

No difference for the user, but a big difference for the developer :)
And right now I am a developer with this application ;-)

> I appreciate that Java is useful for projects that need to be cross- 
> platform. I just question whether a MacPorts GUI is such a project.  
> I'm told most of the support for non-BSD systems (such as Linux) was  
> removed in MacPorts 1.8.0, so it might not even compile there now,  
> and anyway few if any of our committers and port maintainers test  
> their ports on non-Mac operating systems, so the bulk of our port  
> collection is unlikely to be of significant value to non-Mac users.  
> The bottom line is MacPorts is made for Mac OS X.
>
> I completely understand wanting to reuse a technology you're already  
> familiar with; I do this too. But before you devote too much time to  
> the endeavor, I want to make sure you're aware of the downsides of  
> using Java for an app on Mac OS X, and that the advantages Java  
> might have in other situations might not apply to this project.

I have no wish for this application to be multi-platform.
I have even used parts of Java that play well with Mac, but not so  
well with other OSes.
What I want to recycle is the knowledge I get from this project (in  
every project you always learn something) and the reusable parts I  
might be able to use in my other projects.

For example I've created a "proper" sudo launcher in Java, which I am  
planning to use in my other projects, like this one
http://freshmeat.net/projects/jupidator



>
>> And finally, if you were really  worried about performance, you  
>> wouldn't use tk, right ?
>> ;-)
>
> To clarify, MacPorts uses Tcl; there's no Tk anywhere in it that I  
> know of.

Yes, yes, my mistake - I wanted to write Tcl ;)


More information about the macports-users mailing list