Hi Guys.
We are considering a simplified component mechanism in a little rewrite that has been ongoing for a couple of weeks.
Previously with Silk you could use the following types of component:
- local (in 'component' directory)
- user installed in .silk repository (shared across projects locally)
- silk core (part of the distribution) (shared by all silk users)
There are elements we like about this and others we do not like.
We like the ability to create quick throw away components locally, relevant only to the specific project you are working on.
We dislike the complexity of getting components added to the core distribution (no mechanism was ever thought up for this).
We dislike the large amount of code required to manage components etc in the Silk codebase.
Part of our rewrite has been to switch to Twitter Bower to manage dependencies and components (it did not exist when we wrote the original Scala Silk). This strips out a load of maintenance. We think that components can be further simplified though.
At this point our little rewrite is more or less functional, minus error handling, and it only looks for components in one place (a local repo managed by bower).
We are evaluating putting local components back in and wanted your feedback.
Cheers.