Skip to content

Instantly share code, notes, and snippets.

@itod
Created January 14, 2010 17:37
Show Gist options
  • Save itod/277339 to your computer and use it in GitHub Desktop.
Save itod/277339 to your computer and use it in GitHub Desktop.
An important heads up for anyone following the project: Last night I was able to remove
the largest dependencies in the Fluidium project: The OmniFrameworks.
I have been using the OmniFrameworks for only one purpose: the Preferences Window API
in OmniAppKit. This required also linking to OmniBase and OmniFoundation. OF and OA
are very large frameworks, and the part I was using (the Preferences Window API) was
a very very small part. So although the OmniFrameworks are wonderful, it didn't make
sense for the project to have these huge dependencies when only a very small part
was being used.
So after a few hours of tinkering, I was able to extract *just* the code necessary
for the Preferences Window API stuff from all three frameworks and remove the rest.
So to clarify, there is still some OmniFrameworks code in the project, but it's a
relatively small amount now, and it's built directly into the app rather than
linked in as three large embedded frameworks.
This has reduced the final .app product size by ~7MB and reduces the build time by
about half. This should be a major improvement for everyone.
Considering the size of this change, you might want to trash your existing local
repository and do a new clone, to make sure you remove the massive number of
now-unused files.
Finally, thanks to OmniGroup for providing some truly wonderful code that has made
creating the preferences window (and prefs icon grid) *much, much* easier than it
would have been otherwise. You guys rock. :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment