There seeem to be several books out there that talk about tag libraries, and several frameworks that handle one aspect or the other, but I believe creating a new tag is akin to creating a new language, and there are the usual concerns of usability, extensibility and customization that I am trying to resolve.
At the simplest best, a good tag library design (IMO) should provide the following:
- Well defined interfaces between presentation layer and tag libraries themselves
- Tag library syntax should be declarative - on the lines of markup languages like HTML - where you describe what you want, and not HOW it should be done. From what I've read so far, I have come to believe the tag library syntax should not be procedure-oriented, but action-oriented.
- Perhaps the biggest challenge is to foresee the customization needs of future users, ISV and OEM's. A well defined taglib should not only ease the life of web page designers, but also make it easy to customize the views.