2012-04-20 6 views
7

Ich habe folgende Voraussetzung.Was sind die Vor- und Nachteile von Cocoa-Frameworks, Bibliotheken und Bundles?

Ich muss dll Art der Sache auf mac implementieren. Ich muss eine Backend-Bibliothek erstellen, die dynamisch geladen werden kann. Diese Backend-Bibliothek wird die Kakao-Klassen und C++ - Klassen enthalten.

Was ist Vorteil/Nachteil von Kakaorahmenwerk, ich googelte so weit, ich war nicht in der Lage, das beste herauszufinden. Bitte geben Sie mir einen Vorschlag.Ist Kakaorahmen auch dynamisch geladen?

+0

Definieren Sie "besser". –

+0

Was ist der Vorteil/Nachteil des Kakaorahmens im Vergleich zur Bibliothek/zum Bündel? – Akbar

Antwort

9

Der Hauptunterschied zwischen einer dynamischen Bibliothek und einem Framework besteht darin, dass ein Framework Ressourcen (Bilder, Sounddateien, Nibs usw.) und Headerdateien enthalten kann. Wenn Sie eine dynamische Bibliothek verwenden, sind diese separat.

Sowohl ein Framework als auch eine dynamische Bibliothek werden zur Laufzeit geladen. Wenn Ihre Bibliothek nur unter Mac OS X verwendet wird, empfehle ich, ein Framework zu erstellen, da es einfacher zu verwalten ist, da sich alles in einem Ordner befindet.

Bundles (die weißen LEGO-Bausteine) werden fast ausschließlich als Plug-Ins verwendet. Wenn Sie eine Plug-in-Schnittstelle erstellen möchten, sollten Sie Bundles akzeptieren und ein Framework bereitstellen, mit dem die Bundles verknüpft werden können. Pakete werden auch zur Laufzeit geladen.

+0

Vielen Dank für Ihre Antwort, wieder verwirrt, wie Plugin von der Bibliothek unterscheiden. – Akbar

+0

Eine Anwendung kann von dynamischen Bibliotheken und Frameworks abhängen, während Plug-Ins optional sind. Plug-ins können von Drittanbietern erstellt werden, um Ihrer Anwendung zusätzliche Funktionen hinzuzufügen. Natürlich ist es nicht erforderlich, eine Plug-in-Schnittstelle bereitzustellen. –

+0

Yeh hat es, Danke nochmal. Wie Sie sagten Frameworks werden auch dynamisch geladen. Während der Erstellung von Kakao-Frameworks, werden wir das Framework-Projekt erstellen und nach /Library/Framework.While verwenden, in unserer Anwendung müssen wir das Framework hinzufügen unser Projekt, das bedeutet, dass wir das Framework zur Kompilierzeit statisch verknüpfen. Wie gesagt kann das Laden von runtime.please das ist. – Akbar

1

Hier ist ein decent tutorial (PDF-Formular), das ein wenig tiefer geht und die Unterschiede zwischen normalen Bibliotheken und Frameworks erklärt.

Verwandte Themen