TJ Holowaychuk: Components

TJ posted on his blog about interesting idea to bring all connected content about eg. Popup and store it within one folder (or component). From that folder to component is easy to create some kind of package, package manager like npm (or I think that we can just use npm for this).

More about idea: http://tjholowaychuk.com/post/27984551477/components

There are things that we must think before we create universal component (that can be used with jQuery, MooTools, YUI...). Make them extensible enough to use in big projects.

TJ mentioned that at LearnBoost they use similar idea with server and client code in one component, this is really interesting but if such modules would be in npm registry then they would have dependencies like Express or jQuery, or some kind of MVC library.

Another fragmentation issue is AMD vs Common.JS. I also think that Common.JS are more elegant but still now we have them both in community. I think about it with some kind of MVC and not only for browser but also for server. I can think of two libraries that want to integrate it: Derby and Meteor.
I think that we must think about not only client-side components but all of them, client-side(ender), server-side(npm), and mixed. Components alone need some kind of glue code to make them usable, maybe if there will be some kind of spec for them existing libraries will just start supporting them?

From:
http://tjholowaychuk.com/post/27984551477/components
http://blog.izs.me/post/27987129912/tj-holowaychuk-components - response
https://github.com/component/spec/wiki - wiki about TJ components



Share on Hacker News
Share on LinkedIn


← Home


Want to learn more?

Sign up to get a digest of my articles and interesting links via email every month.

* indicates required

Please select all the ways you would like to hear from Krzysztof Kula:

You can unsubscribe at any time by clicking the link in the footer of my emails.

I use Mailchimp as a marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.