Кіріспе

Каталогтар жиынтығының түрі

NeXTSTEP, OPENSTEP және олардың MacOS, iOS, iPadOS, tvOS және watchOS тікелей ұрпақтарында, сондай-ақ GNUstep жүйесінде, жиынтық – анықталған құрылымы мен файл кеңейтімі бар файлдар каталогы, ол байланысты файлдарды тұжырымдық бірлік ретінде топтастыруға мүмкіндік береді. Орындалатын кодты қамтитын жиынтықтарға қосымшалар, фреймворктер және плагиндер жатады. Мұндай жиынтық әдетте орындалатын кодты көрсететін бір файлдан және nibs, үлгілер, кескіндер, дыбыстар және басқа да медиа сияқты ресурстарды көрсететін файлдардан тұрады. Кейбір басқа жүйелерде, мысалы Microsoft Windows, осы ресурстар көбінесе компиляция кезінде тікелей орындалатын файлға қосылады. Ескі Macintosh жүйелерінде де ұқсас тәсіл қолданылады, онда файлдың ресурстық бөліміне қосымша метадеректерді қосуға болады. RISC OS және ROX Desktop жүйелерінде қолданылатын қосымша каталогтары да ұқсас тұжырымға негізделген. Орындалатын кодты қамтымайтын жиынтықтарға құжат пакеттері (iWork құжаттары) және медиа кітапханалары (iPhoto Library) жатады. Cocoa, NeXTSTEP және GNUstep Foundation фреймворктеріндегі NSBundle класы және Core Foundation-дағы CFBundle арқылы бағдарламалық түрде жиынтықтарға қол жеткізуге болады. Жиынтықтарға көбінесе метадеректер үшін файл қосады. Apple жиынтығы үшін Бірыңғай типті идентификатор (UTI) – com.apple.bundle.

Қолданба топтамалары

Қолданбалық жиынтықтар каталогтық иерархиялар болып табылады, мұнда ең жоғарғы деңгейдегі каталогтың аты қосымша кеңейтімімен аяқталады. macOS қолданбасының жиынтығында, жиынтықтың жоғарғы деңгейдегі каталогтың астындағы бірінші каталогы әдетте «Мазмұн» деп аталады. «Мазмұн» ішінде әдетте қосымшаның орындалатын коды бар «MacOS» деп аталатын тағы бір каталог болады. «Мазмұн» қалтасында «Info.plist» деген файл бар, онда бағдарламалық қамтамасыз етуді жеткізушінің аты, қосымшаның орындалатын файлы мен белгішесін қамтитын файлдардың атауы, қосымшаның нұсқасы, сұралған рұқсаттар және т.б. сияқты қосымша туралы ақпараттар болады. «Мазмұн» қалтасында әдетте «Resources» деп аталатын каталог та бар, онда қосымшаның ресурстары сақталады. Басқа нәрселермен қатар, «Resources» қалтасында қосымшаның nib файлдарының жергілікті тілдерге аударылған нұсқалары бар. Басқа да көп қолданылатын қосалқы каталогтарға плагиндер, фреймворктер, CodeSignature және ортақ фреймворктер жатады. «Frameworks» каталогы қосымша пайдаланатын фреймворктерді қамтиды және жүйеде осы фреймворктің басқа нұсқасы болған жағдайда да қолданылады. «Shared Frameworks» каталогында оларды қамтитын қосымшада да, басқа қосымшаларда да пайдалануға болатын фреймворктер бар; олар жүйеде басқа жерде жаңа нұсқасы болмаса ғана қолданылады. «Plugins» қосымшада қолданылатын кеңейтілген кодты қамтиды. «CodeSignature» қалтасында жүйе пакеттің сенімді тараптан келгенін және оның бұзылмағанын растау үшін пайдаланатын ақпарат бар. Әдетте, Finder қолданбалық жиынтықтарды, оларды пакеттер деп те атайды, негізгі құрылымы жоқ түсіксіз файлдар ретінде көрсетеді; жиынтықтың мазмұнын «Пакет мазмұнын көрсету» контекстік мәзір элементі арқылы көрсетуге болады. GNUstep әдетте қосымшаның атауын қосымша коды бар қалтаны атау үшін пайдаланады. Балама ретінде, оларды компьютерлік архитектурасымен және кодтың арналған операциялық жүйесімен атауға болады, бұл майлы екілік файлды құрайды, соның арқасында қосымшаны көптеген платформаларда ашуға болады.

macOS фреймворк жиынтығы

macOS фреймворктері де топтамалар түрінде сақталады; фреймворк топтамасының жоғарғы деңгейдегі каталогы фреймворктің атын, одан кейін «framework» кеңейтімін қамтиды. Жоғарғы деңгейдегі каталогта «Versions» каталогы орналасқан, онда фреймворктің бір немесе бірнеше нұсқасы бар. Әрбір кіші каталогта фреймворктің динамикалық кітапхана коды бар, файлдың аты фреймворктің атымен сәйкес келеді, сондай-ақ «Headers» папкасы – фреймворк үшін бас файлдарды, және «Resources» сияқты басқа да қосалқы папкалар болуы мүмкін. «Versions» каталогында ағымдағы фреймворк нұсқасының каталогына сілтеме жасайтын «Current» символдық сілтемесі де бар. Жоғарғы деңгейдегі каталогта «Versions/Current» мазмұнына символдық сілтемелер орналасқан. Finder фреймворк топтамаларын мөлдір емес файлдар емес, каталогтар ретінде көрсетеді. GNUstep фреймворктерді пайдаланғанымен, олар көбінесе топтамалар түрінде сақталмайды, себебі фреймворктерді жүктеудің толық семантикасы басқа платформалар үшін тым бөтен деп есептеледі.

Жүкті бумалар

Жүктелетін бундельдер – орындалу кезінде жүктелетін кодты қамтитын бундельдер. Жүктелетін бундельдер әдетте .bundle кеңейтімімен сақталады және көбінесе плагиндер ретінде қолданылады. macOS жүйесінде, оларды қолдамайтын қосымшаларға да бундельдерді жүктеуге болады, бұл Safari және Apple Mail сияқты танымал қосымшалар үшін үшінші тараптан жасалған өзгерістерге мүмкіндік береді. NeXTSTEP-тен мұраланған мүмкіндік, GNUstep-та да осындай интерфейс бар. Әдетте, Finder жүктелетін бундельдерді, оларды пакеттер деп те атайды, ішкі құрылымы көрінбейтін файлдар ретінде көрсетеді; бундельдің мазмұнын "Пакет мазмұнын көрсету" контексттік мәзірі арқылы көруге болады.

Басқа бундельдік форматтар

macOS-та өздерінің жеке бундель пішімін пайдаланатын көптеген қосымшалар бар (мысалы, CandyBar iContainer, Aperture aplibrary, VMware Fusion vmwarevm және т.б.).

.Iproj

lproj файлы – OpenStep, macOS немесе GNUstep бағдарламалық қамтамасы үшін жергіліктілендіру файлдарын қамтитын жиын. Ол әдетте белгілі бір тілге арналған nib файлдарын, сондай-ақ қажет болған жағдайда жол файлдарын (string файлдары) және кескіндерді (мысалы, ReadMe немесе лицензиялық файлдар) қамтиды. Бұл жергіліктілендірілген файлдарды орнатушы жасаушылар орнату пакеттерін бейімдеу үшін пайдаланады. Олар сонымен қатар бағдарлама жинағына да қосылады.