Organization of frameworks for client, server and plugins

I am working on a large project that contains a server, some plugins for managing devices that can be loaded into the server process, as well as clients that can connect to the server. I am looking for best practice to structure the structure (s) that should ultimately exist.

There are header files that are shared between the client, server, and plug-ins, and some headers that are specific to every aspect of the system. Sometimes headers are only shared between the client and server, the server and the plugin. Similarly, there is a common code that can be shared between all three aspects of the project, as well as code that will be needed for only one specific aspect.

When the project is completed, we will need to release the client application and the developer API for third-party developers.

I am not sure how to properly structure the Framework that are needed to support this.

Do I need to have 2 separate frameworks? Or can I have 1 framework that includes all headers and provides 2 separate dylib?

If I need to have 2 separate frameworks, what should I do with header files that are shared between all aspects of the system? I do not want to copy them to each structure in order to avoid possible version problems.

Will there be a reasonable option for a third framework?

Can anyone recommend best practice for structuring these kinds of things with Frameworks on OS X?

+3
source share
1

Framework = +

, . , .

3 , . : Qt Mac, , , . , (, QtScript.framework).

+1

All Articles