« Duck Duck Delphi | Main | Apesuite Beta 3 Released »
Sunday
Feb122012

Apesuite Refactoring

I just wanted to give you all a heads up about some refactoring going into Beta 4 that will effect some compatability with prior betas.

The amount of components included in the Apesuite package has been growing, including the number of utility units, rc files and other stuff we need to keep track of.  Because of this, we're making some changes to the namespacing of our files.  

The plus side of this change is that it will make locating the correct units much easier and allow us to logically manage the expansion of our component portfolio.  The down side is that this is a breaking change and you will have to change your uses clauses when you update to Beta 4.  I'm hoping that this is the last big across-the-board change that we will have to make and I'd rather do it now than later when we will effect more people and have more projects effected.

The first new namespace will be as follows:

Ape.Controls.*

This namespace will include any visual Firmemonkey controls.  Here you will find units such as:

  • Ape.Controls.Cards
  • Ape.Controls.Pagebar
  • Ape.Controls.SmartImage
  • Ape.Controls.SVG
  • Ape.Controls.Designer
  • etc...

There is also a new namespace to hold any cross-plaform non-visual components that interact at the platform layer.  These will be system integrated components and as such the namespace will be:

Ape.System.*

Currently the only component that falls into this category would be:

  • Ape.System.TrayIcon

Our final namespace holds all of our Utility units:

Ape.Utility.*

Thesse units will be classes, functions, and generic designtime tools that we use internally by our other components.  While we supply this code in the suite, generally it is expected that it is for our internal use.  There is nothing stopping you from also using these in your applications, but we make no guarantee to their effectiveness outside of how we use them and will not generally support them outisde of how they effect one of our other components, so use at your own risk.  Some examples here are:

  • Ape.Utility.Bitmaps
  • Ape.Utility.CrossPlatform
  • Ape.Utility.RTTI
  • Ape.Utility.SAX

We know that we've added a bit of wordiness to the unit names, but believe the tradeoff is worth it. We have reduced our previx from ApeSuite.* to Ape.* to help combat that however.

Let us know if you have any questions about this change.

We are expecting Beta 4 to go out in the next couple days and it will again include some new components for your enjoyment.  Be aware that as the size of Apesuite grows, so will the price of the package.  We will continue to offer the beta discount while we are in beta, but soon the retail price will be going up a bit.  Buy now if you haven't already if you want to secure the lowest price possible for these components.