Thread: Mac Development Questions
11-06-2006, 05:45 PM #1CodeJunkieGuestMac Development Questions
I've been programming on Windows for a few years, but I'm trying to start on Mac.
Being accustomed to Windows programming, I'm confused on a few things.
On Windows, you had source files that were compiled and linked to DLLs. That created an executable file that linked to those DLLs and any files the program needed were separate from the executable. As far as I can tell, on Mac, everything required by the program is within the program's file. Is that right?
I'm not exactly sure what I'm asking because I'm so confused, but what is the equivalent of DLLs, source code, and executable files on Mac?
11-06-2006, 06:15 PM #2
- Member Since
- Oct 27, 2005
You're confused? I'm no developer, but I would hazard a guess that the equivalent of DLL is the plist, which is basically just a preference file and the rest is contained within the app as you stated above. The executable equivalent is a .dmg which is just a container for the application, the Source Code equivalent has got me, I will offer that this code is created using X11 which is a Graphical Interface for Unix.
I'm not trying to give you a bum steer, just trying to help out.
11-06-2006, 06:17 PM #3CodeJunkieGuest
Well, I guess there's not a Mac equivalent for source code, source code is source code. I guess I meant how it relates to everything else.
In Xcode, I'm confused about some of the terms. Like, what is the "target" and "product" and "frameworks"? I have an idea of what they all are, I just can't figure out how they're related.
11-06-2006, 06:24 PM #4
- Member Since
- Oct 27, 2005
I just found this:
and finally this (no offence intended):
11-08-2006, 03:08 AM #5
- Member Since
- Jun 25, 2005
- On the road
- 2011 MBP, i7, 16GB RAM, MBP 2.16Ghz Core Duo, 2GB ram, Dual 867Mhz MDD, 1.75GB ram, ATI 9800 Pro vid
My understanding of DLLs is that they are just libraries of sharable code than can be linked at compile time and used at run time as needed. This would be similar to the Cocoa frameworks and Unix libraries. Most of code written for the Mac doesn't actually copy those libraries to its self at compile time. If I remember correctly, the Objective-C model allows late binding, allowing for a minimal amount of required information at compile and linking time about the detail of the framework workings. Sorry to be vague, its been a long time since I looked at this.
Go to this page and download "Xcode 2 User Guide" (not the deprecated 2.0 guide listed above it) and look at page 279 about targets.
Executable files can be a single file like a .exe Windows file, or a special .app folder containing one or many programs with supporting files. Go to the Applications folder and right click on the iMovie application. Select "Show Package Contents" and investigate the folders below in the new window that appears. Just don't muck with the files because you could stop the program from working.
Notice that iMovie has its own set of custom frameworks. This could allow Apple to update just a framework for users, instead of asking them to download the whole thing. The way Apple does updates, this would of course be hidden to the user.
Go to the Apple Developer Documentation starting page to learn more. Also look at getting a free developer user name and joining the appropriate Apple mailing lists for your interests.
If you want to learn to program Cocoa applications, I suggest buying one the higher rated books found on Amazon. At minimum start here.
11-08-2006, 03:29 AM #6
Also, p-list files are more akin to the Windows registry, as they contain hierarchies of key/value pairs just like the registry, but with separate files for each thing that needs one.
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
By shekib82 in forum Apple DesktopsReplies: 1Last Post: 12-17-2012, 01:45 PM
By G_Morgan in forum OS X - Development and DarwinReplies: 2Last Post: 11-04-2008, 04:05 PM
By dbento in forum Web Design and HostingReplies: 7Last Post: 07-25-2008, 10:26 AM
By Noble Bell in forum OS X - Development and DarwinReplies: 6Last Post: 06-03-2007, 11:01 AM
By static0verdrive in forum OS X - Development and DarwinReplies: 2Last Post: 05-03-2006, 10:14 AM