Are BNDL just a different type of APPL?

I ask because it seems BNDLs can have executable code, the same as APPLs. So wondering when one should put executable code into a BNDL and when you shouldn't?

AAPL is included in a Bundle. And Bundle may contain other types.


Where do you intend to use BNDL instead of AAPL ?

After a bit more Googling I found a DockTile plugin example that is 7 years old and looking through the code it seems to have the actual DockTilePlugin project set up as a BNDL. Hence the question. The BNDL looks to be a Target, within the APPL and saves itself inside the APPL's Contents/Plugins folder.


I'm in the process of updating that sample so that it builds and runs with the current Xcode, so will update my other question, once I have it working.

I hope I’m understanding this correctly…. It would appear that BNDLs are actually just a folder structure with an executable/binary (and other things perhaps), similar to APPLs. BUT, what has me a bit baffled right now is the difference between a BNDL and an APPL is that an APPL has a main function to kick things off, but a BNDL does not (or I can’t see one in a BNDL's xcode project)? So other than mentioning the NSPrincipalClass in the info.plist, when during the BNDL’s lifecycle does that specified PrincipalClass get instantiated?

Are BNDL just a different type of APPL?
 
 
Q