[openstack-dev] [Horizon] the future of angularjs development in Horizon

Martin Geisler martin at geisler.net
Mon Nov 17 08:53:06 UTC 2014

Thomas Goirand <zigo at debian.org> writes:

Hi Thomas,

> On 11/15/2014 05:34 PM, Martin Geisler wrote:
>> I'm sorry if I came across as being hostile towards packagers and
>> distros. I've been running Debian for 15 years and that is because of
>> the work the Debian developers put into making the system work well
>> together at a whole.
>> When it comes to installing software, I only use apt to touch paths
>> outside my home directory. That is to ensure that the integrity of the
>> system isn't compromised. That means that software not yet packaged for
>> Debian has a low change of being installed by me.
>> However, the chances of me installing it improve significantly if I can
>> install it with pip or npm. Simply because this allows me to do a local
>> installation in a home directory -- I know then that I can easily remove
>> the sofware later.
> Sorry to say it this way, and it's not about you in particular,

You're quite right, it's not about me! I'm not about to deploy OpenStack
anytime soon so you don't have to sell the packaging solution to me :)

My main goal in this discussion was to bring some web development
knowledge to the table. It's clear to me that you have a very strong
background in Debian packaging -- and (I'm guessing here) not a very
strong background in web development.

> What we care is to find a system that will satisfy both worlds:
> distributions & upstream fast moving development. It is looking like
> NPM has the best feature and that it would be a winner against Bower
> and Grunt.

As Richard said, npm and bower are not competitors. You use npm to
install bower, and you use bower to download Angular, jQuery, Bootstrap
and other static files. These are the static files that you will want to
include when you finally deploy the web app to your server.

Before using Bower, people would simply download Angular from the
projects homepage and check it into version control. Bower is not doing
much, but using it avoids this bad practice.

There is often a kind of "compilation step" between bower downloading a
dependency and the deployment on the webserver: minification and
compression of the JavaScript and CSS. Concatenating and minifying the
files serve to reduce the number of HTTP requests -- which can make an
app much faster.

Finally, you use Grunt/Gulp to execute other tools during development.
These tools could be a local web server, it could be running the unit
tests. Grunt is only a convenience tool here -- think of it as a kind of
Makefile that tells you how to lunch various tasks.

Again, I'm just trying to bring information to light and let you know
the tools of the trade -- how you and OpenStack as a whole decide to use
and package them is not my concern.

Martin Geisler

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141117/d5365e53/attachment.pgp>

More information about the OpenStack-dev mailing list