寫 component 是個龐大複雜的工作,通常元件之間會有一些共同的地方,例如畫出介面的drawing API或偵測 mouse event 的 MouseManager,這些東西就可以集中起來放在 base class 然後讓所有的元件(button, list, grid, panel…)共用。
類似這樣的東西就算是 framework。
以EnFlash, AsWing 與 ActionStep 這三組 open source component來說,如果去看他們的程式架構就會發現上面說的事情,他們都有一組龐大的base class在底層負責某些事情,有了這些東西後製作其它的組件速度才會快,而且因為共用大部份的class,所以下載體積(code footprint)也可以降低。
如果以商業的產品來看,framework最大最恐怖的就是 macromedia (呃,adobe)的 V2 component,至於 GhostWire, XPComponent等也有大小不一的 framework在底層,只是沒開放出來給end user看到而已。