Just watched the talk and have to say I wasted at least 25 minutes, it is waaaay too long for the little amount of information I got. This talk even assumes quite a bit of knowledge about npm, so it can be misleading if you do not have an understanding about that one already.

A much better starting point I found would be this text (also mentions bower but with a proper introduction of npm first):
http://tech.pro/tutorial/1190/package-managers-an-introductory-guide-for-the-uninitiated-front-end-developer

Also, the talk sounds like bower is offering a huge repo of components already while I found the selection bower offers rather humble. There are lots more components in npm that I would also consider useful for the browser and I have some components that I would also consider useful for backend JS like node.js, so I would put it in npm rather than bower. 
Here is a comparison of JS packagers, bower is just one among them:
https://github.com/wilmoore/frontend-packagers

In the end, deciding which packing tool to use and using it might not be the critical step.
I believe the way of getting there is way more challenging. This means changing our code to be ready to be shipped out as a component, doing this in a pretty, consistent and efficient way while still being able to use those components with the MediaWiki resource loader.

Right now I am looking into AMD (asynchronous module definition) and alternative, simpler solutions, thinking about how this could be integrated nicely with what we have.
I get the feeling in the end we will have to add some mechanism to the builder step of the resource loader. Currently all it does is minifying the code. What we probably want there is some involvement into component definition/usage so we can use and define resources in a CommonJS way for example. Still scratching on the surface of this topic, so this is just a first impression.

Cheers,
Daniel


2013/7/22 Jeroen De Dauw <jeroendedauw@gmail.com>
Hey,

I found an excellent talk on Bower, a package manager for client side JavaScript.

https://www.youtube.com/watch?v=o9Xo_WFAyqg

It is very similar to NPM for server side JS, or to Composer, the PHP thing. In fact, you can watch this talk as an introduction to Composer :D

This talk briefly touches on some other tools as well, namely require.js, grunt and yoman. When I went to IPC a few weeks back, I returned with basically the same list of tools, based on the various JS related talks there. The people at the local (in Berlin) JS user groups generally seem to have these tools on their "the good stuff out there you want to be using" list as well.

Given how promising these things look, I continue to recommend we investigate them to see how we can use them to improve our workflow and code. If I'm not mistaken, Danwe is planning to poke at some off this "soonish".

This talk gives one an idea on what this tool is, why it is useful, and how it can be used. I encourage everyone doing JS in the project and not familiar with Bower yet to at least watch the video, as this seems to be something the self respecting JS devs all know about nowadays.

Cheers

--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil. ~=[,,_,,]:3
--

_______________________________________________
Wikidata-tech mailing list
Wikidata-tech@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-tech




--
Daniel Werner
Software Engineer

Wikimedia Deutschland e.V. | Obentrautstr. 72 | 10963 Berlin
Tel. (030) 219 158 26-0

http://wikimedia.de

Wikimedia Deutschland - Gesellschaft zur Förderung Freien Wissens e.V. Eingetragen im Vereinsregister des Amtsgerichts Berlin-Charlottenburg unter der Nummer 23855 B. Als gemeinnützig anerkannt durch das Finanzamt für Körperschaften I Berlin, Steuernummer 27/681/51985.