Re: [ovirt-devel] Tools for developing and building oVirt.js project

2014-09-01 Thread Sandro Bonazzola
Il 29/08/2014 17:16, Vojtech Szocs ha scritto:
 
 
 - Original Message -
 From: Vojtech Szocs vsz...@redhat.com
 To: Sandro Bonazzola sbona...@redhat.com
 Cc: infra in...@ovirt.org, devel@ovirt.org
 Sent: Friday, August 29, 2014 4:43:44 PM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js project



 - Original Message -
 From: Sandro Bonazzola sbona...@redhat.com
 To: Vojtech Szocs vsz...@redhat.com
 Cc: Tomas Jelinek tjeli...@redhat.com, Mooli Tayer
 mta...@redhat.com, devel@ovirt.org, infra
 in...@ovirt.org
 Sent: Friday, August 29, 2014 8:05:58 AM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
 project

 Il 28/08/2014 21:00, Vojtech Szocs ha scritto:


 - Original Message -
 From: Sandro Bonazzola sbona...@redhat.com
 To: Tomas Jelinek tjeli...@redhat.com, Mooli Tayer
 mta...@redhat.com
 Cc: devel@ovirt.org
 Sent: Tuesday, August 26, 2014 12:03:14 PM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
 project

 Il 26/08/2014 09:38, Tomas Jelinek ha scritto:


 - Original Message -
 From: Mooli Tayer mta...@redhat.com
 To: Greg Sheremeta gsher...@redhat.com
 Cc: devel@ovirt.org
 Sent: Tuesday, August 26, 2014 9:17:20 AM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
 project

 Are we talking about using node as a development/test/packaging(minify
 etc
 )
 tool or having a runtime backend (site) on top of node?

 It is only devel environment (e.g. build dependency), not runtime.


 If it's build dependency it's not just devel environment.

 Right, I messed up my comment above, sorry.

 Node.js can be (and typically is) used as both devel  build dependency
 for JavaScript projects.

 We must ensure that all required build dependencies are available and
 properly packaged for all supported distributions.

 Yes, fully agreed.

 Fedora already has some packages we could use, for example:
 http://koji.fedoraproject.org/koji/packageinfo?packageID=15154
 http://koji.fedoraproject.org/koji/packageinfo?packageID=15356

 However, there's one complication (as Greg mentioned before): npm (Node
 package manager) resolves Node-specific packages (esentially JavaScript
 artifacts) via HTTP access, so we'd need some infra to serve these, and
 for each such JS module:
 - either use existing package for that JS module, if one exists
 - or maintain package for that JS module on our own [*]

 [*] I understand that this is not what we want to do in general

 I would add
 - Ask supported distributions to provide needed rpms

 Well, that ^^ would be ideal.



 In other words, there would have to be some infra to support builds for
 JavaScript/Node.js projects, similar to existing infra to support builds
 for Java/Maven projects:
 - package for Node.js + npm
 - package for each JS module (likely problematic)
 - tool (existing Artifactory that serves Maven artifacts?) to serve
   JS modules via HTTP for npm to consume (maybe problematic)


 Adding infra for above


 In any case, we can proceed with developing oVirt.js without requiring
 Node.js as a build dependency. I see two possible solutions here:

 1, avoid using build tools like Traceur (ES6 - ES5 transpiler)
and UglifyJS (code compressor/obfuscator), just concatenate
JS source files into resulting JS target file (either via
command in Makefile or via some Maven plugin)

PROS: no special build requirements
CONS: can't use tools like Traceur

 2, use build tools like Traceur and UglifyJS, commit resulting
JS target file into source tree, maybe with git commit hook
for this

PROS: can use tools like Traceur
CONS: storing target JS file in source tree

 3, (?)

 Use something simpler to package for compressing / minimizing like
 http://yui.github.io/yuicompressor/ or any other tool like that at build
 time
 (nothing against Node.js at development time).

 YUI Compressor is written in Java, we could use it within our Java-based
 Engine build. It seems that YUI Compressor uses Rhino (JS engine written
 in Java) with some custom Rhino extensions/tweaks.

 I didn't find Fedora package for YUI Compressor, but I found this:

   http://davidb.github.io/yuicompressor-maven-plugin/

 And luckily, this Maven plugin is also in JBoss Maven repo:

   
 https://repository.jboss.org/nexus/service/local/repositories/central/content/net/alchim31/maven/yuicompressor-maven-plugin/1.4.0/yuicompressor-maven-plugin-1.4.0.pom

 OK, now some bad news. According to this:

   http://www.yuiblog.com/blog/2012/10/16/state-of-yui-compressor/

 development on YUI Compressor continues through JavaScript (surprise!)
 project yUglify (it's based on UglifyJS which I proposed way above):

   https://github.com/yui/yuglify

 And, not surprisingly, yUglify is Node.js module. Here we go :)

 As everyone can see, all popular tools for JavaScript development
 are pretty much centered around Node.js, that is not coincidence.
 Avoiding Node.js for JavaScript

Re: [ovirt-devel] Tools for developing and building oVirt.js project

2014-08-29 Thread Vojtech Szocs


- Original Message -
 From: Sandro Bonazzola sbona...@redhat.com
 To: Vojtech Szocs vsz...@redhat.com
 Cc: Tomas Jelinek tjeli...@redhat.com, Mooli Tayer mta...@redhat.com, 
 devel@ovirt.org, infra
 in...@ovirt.org
 Sent: Friday, August 29, 2014 8:05:58 AM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js project
 
 Il 28/08/2014 21:00, Vojtech Szocs ha scritto:
  
  
  - Original Message -
  From: Sandro Bonazzola sbona...@redhat.com
  To: Tomas Jelinek tjeli...@redhat.com, Mooli Tayer
  mta...@redhat.com
  Cc: devel@ovirt.org
  Sent: Tuesday, August 26, 2014 12:03:14 PM
  Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
  project
 
  Il 26/08/2014 09:38, Tomas Jelinek ha scritto:
 
 
  - Original Message -
  From: Mooli Tayer mta...@redhat.com
  To: Greg Sheremeta gsher...@redhat.com
  Cc: devel@ovirt.org
  Sent: Tuesday, August 26, 2014 9:17:20 AM
  Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
  project
 
  Are we talking about using node as a development/test/packaging(minify
  etc
  )
  tool or having a runtime backend (site) on top of node?
 
  It is only devel environment (e.g. build dependency), not runtime.
 
 
  If it's build dependency it's not just devel environment.
  
  Right, I messed up my comment above, sorry.
  
  Node.js can be (and typically is) used as both devel  build dependency
  for JavaScript projects.
  
  We must ensure that all required build dependencies are available and
  properly packaged for all supported distributions.
  
  Yes, fully agreed.
  
  Fedora already has some packages we could use, for example:
  http://koji.fedoraproject.org/koji/packageinfo?packageID=15154
  http://koji.fedoraproject.org/koji/packageinfo?packageID=15356
  
  However, there's one complication (as Greg mentioned before): npm (Node
  package manager) resolves Node-specific packages (esentially JavaScript
  artifacts) via HTTP access, so we'd need some infra to serve these, and
  for each such JS module:
  - either use existing package for that JS module, if one exists
  - or maintain package for that JS module on our own [*]
  
  [*] I understand that this is not what we want to do in general
 
 I would add
 - Ask supported distributions to provide needed rpms

Well, that ^^ would be ideal.

 
  
  In other words, there would have to be some infra to support builds for
  JavaScript/Node.js projects, similar to existing infra to support builds
  for Java/Maven projects:
  - package for Node.js + npm
  - package for each JS module (likely problematic)
  - tool (existing Artifactory that serves Maven artifacts?) to serve
JS modules via HTTP for npm to consume (maybe problematic)
  
 
 Adding infra for above
 
 
  In any case, we can proceed with developing oVirt.js without requiring
  Node.js as a build dependency. I see two possible solutions here:
  
  1, avoid using build tools like Traceur (ES6 - ES5 transpiler)
 and UglifyJS (code compressor/obfuscator), just concatenate
 JS source files into resulting JS target file (either via
 command in Makefile or via some Maven plugin)
  
 PROS: no special build requirements
 CONS: can't use tools like Traceur
  
  2, use build tools like Traceur and UglifyJS, commit resulting
 JS target file into source tree, maybe with git commit hook
 for this
  
 PROS: can use tools like Traceur
 CONS: storing target JS file in source tree
  
  3, (?)
 
 Use something simpler to package for compressing / minimizing like
 http://yui.github.io/yuicompressor/ or any other tool like that at build time
 (nothing against Node.js at development time).

YUI Compressor is written in Java, we could use it within our Java-based
Engine build. It seems that YUI Compressor uses Rhino (JS engine written
in Java) with some custom Rhino extensions/tweaks.

I didn't find Fedora package for YUI Compressor, but I found this:

  http://davidb.github.io/yuicompressor-maven-plugin/

And luckily, this Maven plugin is also in JBoss Maven repo:

  
https://repository.jboss.org/nexus/service/local/repositories/central/content/net/alchim31/maven/yuicompressor-maven-plugin/1.4.0/yuicompressor-maven-plugin-1.4.0.pom

OK, now some bad news. According to this:

  http://www.yuiblog.com/blog/2012/10/16/state-of-yui-compressor/

development on YUI Compressor continues through JavaScript (surprise!)
project yUglify (it's based on UglifyJS which I proposed way above):

  https://github.com/yui/yuglify

And, not surprisingly, yUglify is Node.js module. Here we go :)

As everyone can see, all popular tools for JavaScript development
are pretty much centered around Node.js, that is not coincidence.
Avoiding Node.js for JavaScript development complicates the whole
development and build process (from developer's perspective).

OK, now what we can do. I suggest to use wro4j (Java-based):

  https://code.google.com/p/wro4j/

wro4j uses Rhino to execute most of its processors

Re: [ovirt-devel] Tools for developing and building oVirt.js project

2014-08-29 Thread Vojtech Szocs


- Original Message -
 From: Vojtech Szocs vsz...@redhat.com
 To: Sandro Bonazzola sbona...@redhat.com
 Cc: infra in...@ovirt.org, devel@ovirt.org
 Sent: Friday, August 29, 2014 4:43:44 PM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js project
 
 
 
 - Original Message -
  From: Sandro Bonazzola sbona...@redhat.com
  To: Vojtech Szocs vsz...@redhat.com
  Cc: Tomas Jelinek tjeli...@redhat.com, Mooli Tayer
  mta...@redhat.com, devel@ovirt.org, infra
  in...@ovirt.org
  Sent: Friday, August 29, 2014 8:05:58 AM
  Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
  project
  
  Il 28/08/2014 21:00, Vojtech Szocs ha scritto:
   
   
   - Original Message -
   From: Sandro Bonazzola sbona...@redhat.com
   To: Tomas Jelinek tjeli...@redhat.com, Mooli Tayer
   mta...@redhat.com
   Cc: devel@ovirt.org
   Sent: Tuesday, August 26, 2014 12:03:14 PM
   Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
   project
  
   Il 26/08/2014 09:38, Tomas Jelinek ha scritto:
  
  
   - Original Message -
   From: Mooli Tayer mta...@redhat.com
   To: Greg Sheremeta gsher...@redhat.com
   Cc: devel@ovirt.org
   Sent: Tuesday, August 26, 2014 9:17:20 AM
   Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
   project
  
   Are we talking about using node as a development/test/packaging(minify
   etc
   )
   tool or having a runtime backend (site) on top of node?
  
   It is only devel environment (e.g. build dependency), not runtime.
  
  
   If it's build dependency it's not just devel environment.
   
   Right, I messed up my comment above, sorry.
   
   Node.js can be (and typically is) used as both devel  build dependency
   for JavaScript projects.
   
   We must ensure that all required build dependencies are available and
   properly packaged for all supported distributions.
   
   Yes, fully agreed.
   
   Fedora already has some packages we could use, for example:
   http://koji.fedoraproject.org/koji/packageinfo?packageID=15154
   http://koji.fedoraproject.org/koji/packageinfo?packageID=15356
   
   However, there's one complication (as Greg mentioned before): npm (Node
   package manager) resolves Node-specific packages (esentially JavaScript
   artifacts) via HTTP access, so we'd need some infra to serve these, and
   for each such JS module:
   - either use existing package for that JS module, if one exists
   - or maintain package for that JS module on our own [*]
   
   [*] I understand that this is not what we want to do in general
  
  I would add
  - Ask supported distributions to provide needed rpms
 
 Well, that ^^ would be ideal.
 
  
   
   In other words, there would have to be some infra to support builds for
   JavaScript/Node.js projects, similar to existing infra to support builds
   for Java/Maven projects:
   - package for Node.js + npm
   - package for each JS module (likely problematic)
   - tool (existing Artifactory that serves Maven artifacts?) to serve
 JS modules via HTTP for npm to consume (maybe problematic)
   
  
  Adding infra for above
  
  
   In any case, we can proceed with developing oVirt.js without requiring
   Node.js as a build dependency. I see two possible solutions here:
   
   1, avoid using build tools like Traceur (ES6 - ES5 transpiler)
  and UglifyJS (code compressor/obfuscator), just concatenate
  JS source files into resulting JS target file (either via
  command in Makefile or via some Maven plugin)
   
  PROS: no special build requirements
  CONS: can't use tools like Traceur
   
   2, use build tools like Traceur and UglifyJS, commit resulting
  JS target file into source tree, maybe with git commit hook
  for this
   
  PROS: can use tools like Traceur
  CONS: storing target JS file in source tree
   
   3, (?)
  
  Use something simpler to package for compressing / minimizing like
  http://yui.github.io/yuicompressor/ or any other tool like that at build
  time
  (nothing against Node.js at development time).
 
 YUI Compressor is written in Java, we could use it within our Java-based
 Engine build. It seems that YUI Compressor uses Rhino (JS engine written
 in Java) with some custom Rhino extensions/tweaks.
 
 I didn't find Fedora package for YUI Compressor, but I found this:
 
   http://davidb.github.io/yuicompressor-maven-plugin/
 
 And luckily, this Maven plugin is also in JBoss Maven repo:
 
   
 https://repository.jboss.org/nexus/service/local/repositories/central/content/net/alchim31/maven/yuicompressor-maven-plugin/1.4.0/yuicompressor-maven-plugin-1.4.0.pom
 
 OK, now some bad news. According to this:
 
   http://www.yuiblog.com/blog/2012/10/16/state-of-yui-compressor/
 
 development on YUI Compressor continues through JavaScript (surprise!)
 project yUglify (it's based on UglifyJS which I proposed way above):
 
   https://github.com/yui/yuglify
 
 And, not surprisingly, yUglify is Node.js module. Here we go

Re: [ovirt-devel] Tools for developing and building oVirt.js project

2014-08-28 Thread Vojtech Szocs


- Original Message -
 From: Sandro Bonazzola sbona...@redhat.com
 To: Tomas Jelinek tjeli...@redhat.com, Mooli Tayer mta...@redhat.com
 Cc: devel@ovirt.org
 Sent: Tuesday, August 26, 2014 12:03:14 PM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js project
 
 Il 26/08/2014 09:38, Tomas Jelinek ha scritto:
  
  
  - Original Message -
  From: Mooli Tayer mta...@redhat.com
  To: Greg Sheremeta gsher...@redhat.com
  Cc: devel@ovirt.org
  Sent: Tuesday, August 26, 2014 9:17:20 AM
  Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js
  project
 
  Are we talking about using node as a development/test/packaging(minify etc
  )
  tool or having a runtime backend (site) on top of node?
  
  It is only devel environment (e.g. build dependency), not runtime.
 
 
 If it's build dependency it's not just devel environment.

Right, I messed up my comment above, sorry.

Node.js can be (and typically is) used as both devel  build dependency
for JavaScript projects.

 We must ensure that all required build dependencies are available and
 properly packaged for all supported distributions.

Yes, fully agreed.

Fedora already has some packages we could use, for example:
http://koji.fedoraproject.org/koji/packageinfo?packageID=15154
http://koji.fedoraproject.org/koji/packageinfo?packageID=15356

However, there's one complication (as Greg mentioned before): npm (Node
package manager) resolves Node-specific packages (esentially JavaScript
artifacts) via HTTP access, so we'd need some infra to serve these, and
for each such JS module:
- either use existing package for that JS module, if one exists
- or maintain package for that JS module on our own [*]

[*] I understand that this is not what we want to do in general

In other words, there would have to be some infra to support builds for
JavaScript/Node.js projects, similar to existing infra to support builds
for Java/Maven projects:
- package for Node.js + npm
- package for each JS module (likely problematic)
- tool (existing Artifactory that serves Maven artifacts?) to serve
  JS modules via HTTP for npm to consume (maybe problematic)

In any case, we can proceed with developing oVirt.js without requiring
Node.js as a build dependency. I see two possible solutions here:

1, avoid using build tools like Traceur (ES6 - ES5 transpiler)
   and UglifyJS (code compressor/obfuscator), just concatenate
   JS source files into resulting JS target file (either via
   command in Makefile or via some Maven plugin)

   PROS: no special build requirements
   CONS: can't use tools like Traceur

2, use build tools like Traceur and UglifyJS, commit resulting
   JS target file into source tree, maybe with git commit hook
   for this

   PROS: can use tools like Traceur
   CONS: storing target JS file in source tree

3, (?)

What do you think?

Note that this might work for small projects in short term.

If we agree that JavaScript is the common base technology for
oVirt frontend, not having well-established build environment
(such as Node.js) will make it very hard to develop and maintain
bigger JavaScript projects in the long term.

 
 
  
  I'd just like to point out that one thing is the development of the
  ovirt.js itself
  which is not going to be a big project and I can imagine also using less
  ideal (slower) tools for it's development.
  
  A completely different story will be when (if) we decide to use ovirt.js to
  develop some parts of the webadmin/userportal
  in javascript instead of GWT (or even rewrite the whole FE to JS) which
  will be a big project (set of projects).
  
  If we want to be effective in that effort, we will need good tools.
  
 
  From my perspective I can't stress enough how important is the separation
  of ovirt UI part from the backend. I agree to everything Vojtech said
  about
  developing to the browser with java.
 
  Mooli.
 
  - Original Message -
  - Original Message -
  From: Vojtech Szocs vsz...@redhat.com
  To: devel@ovirt.org
  Sent: Monday, August 25, 2014 11:13:38 AM
  Subject: [ovirt-devel] Tools for developing and building oVirt.js
  project
 
  Hi guys,
 
  last week, we had oVirt.js PoC session and I mentioned the possibility
  of using Node.js and related tools like npm to develop  build oVirt.js
  project.
 
  I'd like to hear your opinion - what do you think about using Node.js in
  context of developing  building JavaScript projects? (oVirt.js etc.)
 
  Obviously, I'm strongly biased towards Node.js because of its popularity
  and therefore availability of various tools (npm packages) for
  JavaScript,
  for example: grunt (task runner), jslint/hint (code analyzer), uglifyjs
  (minify/compress), karma (both one-time  continuous test runner),
  traceur
  (es6 - es5 compiler), etc.
 
  My understanding is that any special-purpose JavaScript development tool
  is typically implemented as module for Node.js (due to its popularity),
  so I think it makes sense to use

Re: [ovirt-devel] Tools for developing and building oVirt.js project

2014-08-26 Thread Mooli Tayer
Are we talking about using node as a development/test/packaging(minify etc )
tool or having a runtime backend (site) on top of node?

From my perspective I can't stress enough how important is the separation
of ovirt UI part from the backend. I agree to everything Vojtech said about
developing to the browser with java. 

Mooli.

- Original Message -
 - Original Message -
  From: Vojtech Szocs vsz...@redhat.com
  To: devel@ovirt.org
  Sent: Monday, August 25, 2014 11:13:38 AM
  Subject: [ovirt-devel] Tools for developing and building oVirt.js project
  
  Hi guys,
  
  last week, we had oVirt.js PoC session and I mentioned the possibility
  of using Node.js and related tools like npm to develop  build oVirt.js
  project.
  
  I'd like to hear your opinion - what do you think about using Node.js in
  context of developing  building JavaScript projects? (oVirt.js etc.)
  
  Obviously, I'm strongly biased towards Node.js because of its popularity
  and therefore availability of various tools (npm packages) for JavaScript,
  for example: grunt (task runner), jslint/hint (code analyzer), uglifyjs
  (minify/compress), karma (both one-time  continuous test runner), traceur
  (es6 - es5 compiler), etc.
  
  My understanding is that any special-purpose JavaScript development tool
  is typically implemented as module for Node.js (due to its popularity),
  so I think it makes sense to use Node.js as a platform for JavaScript
  development.
  
  There are also Java-based projects for JavaScript (post)processing like
  wro4j, however these tend to be implemented by invoking JS tools (like
  uglifyjs) from Java context via Rhino (JS engine for Java), for example:
  

  https://code.google.com/p/wro4j/source/browse/wro4j-extensions/src/main/java/ro/isdc/wro/extensions/processor/support/uglify/UglifyJs.java
  
  (To me, developing JavaScript project with Java-centric tooling sounds
  quite strange in general.)
  
  There's also webjars repository for hosting popular web resources for
  use in Java applications (i.e. Maven artifact for uglifyjs etc.), but
  this is just for easier dependency management from Java perspective
  (JAR file as a distribution format for web resources):
  
http://www.webjars.org/
  
  Overall, I'm in favor of using Node.js to manage all tasks related to
  JavaScript development and build process. If you have any objections
  or suggestions, I'd like to hear them!
  
  (I understand that Node.js essentially means new dependency with all
  implications, but in this case, I think it's worth it. But this is
  just me, so please share your opinions.)
  
  Thanks,
  Vojtech
 
 I think most developers would agree that node.js is the tool of choice for
 JavaScript development.
 
 The thing we must carefully consider is that node.js uses its own package
 manager (npm -- much like maven), and unlike maven, tooling does not yet
 exist to deal with npm packages in an rpm environment.
 
 This isn't on the same level as adding a logging library or a collections
 library or something. I'd argue that dependencies don't get any heavier
 than this one. That is worrisome to me.
 
 Run 'yum list available |grep nodejs' on your machine to see which node.js
 packages are available. Note that I don't see karma or uglify available in
 either Fedora or Red Hat SCL (Software Collections) [1].
 
 [1]
 https://sochotni.fedorapeople.org/nodejs010-RHSCL-1-RHEL-6/Server/x86_64/os/Packages/
 
 Greg
 ___
 Devel mailing list
 Devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/devel
 
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] Tools for developing and building oVirt.js project

2014-08-26 Thread Tomas Jelinek


- Original Message -
 From: Mooli Tayer mta...@redhat.com
 To: Greg Sheremeta gsher...@redhat.com
 Cc: devel@ovirt.org
 Sent: Tuesday, August 26, 2014 9:17:20 AM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js project
 
 Are we talking about using node as a development/test/packaging(minify etc )
 tool or having a runtime backend (site) on top of node?

It is only devel environment (e.g. build dependency), not runtime.

I'd just like to point out that one thing is the development of the ovirt.js 
itself 
which is not going to be a big project and I can imagine also using less ideal 
(slower) tools for it's development.

A completely different story will be when (if) we decide to use ovirt.js to 
develop some parts of the webadmin/userportal 
in javascript instead of GWT (or even rewrite the whole FE to JS) which will be 
a big project (set of projects). 

If we want to be effective in that effort, we will need good tools.

 
 From my perspective I can't stress enough how important is the separation
 of ovirt UI part from the backend. I agree to everything Vojtech said about
 developing to the browser with java.
 
 Mooli.
 
 - Original Message -
  - Original Message -
   From: Vojtech Szocs vsz...@redhat.com
   To: devel@ovirt.org
   Sent: Monday, August 25, 2014 11:13:38 AM
   Subject: [ovirt-devel] Tools for developing and building oVirt.js project
   
   Hi guys,
   
   last week, we had oVirt.js PoC session and I mentioned the possibility
   of using Node.js and related tools like npm to develop  build oVirt.js
   project.
   
   I'd like to hear your opinion - what do you think about using Node.js in
   context of developing  building JavaScript projects? (oVirt.js etc.)
   
   Obviously, I'm strongly biased towards Node.js because of its popularity
   and therefore availability of various tools (npm packages) for
   JavaScript,
   for example: grunt (task runner), jslint/hint (code analyzer), uglifyjs
   (minify/compress), karma (both one-time  continuous test runner),
   traceur
   (es6 - es5 compiler), etc.
   
   My understanding is that any special-purpose JavaScript development tool
   is typically implemented as module for Node.js (due to its popularity),
   so I think it makes sense to use Node.js as a platform for JavaScript
   development.
   
   There are also Java-based projects for JavaScript (post)processing like
   wro4j, however these tend to be implemented by invoking JS tools (like
   uglifyjs) from Java context via Rhino (JS engine for Java), for example:
   
 
   https://code.google.com/p/wro4j/source/browse/wro4j-extensions/src/main/java/ro/isdc/wro/extensions/processor/support/uglify/UglifyJs.java
   
   (To me, developing JavaScript project with Java-centric tooling sounds
   quite strange in general.)
   
   There's also webjars repository for hosting popular web resources for
   use in Java applications (i.e. Maven artifact for uglifyjs etc.), but
   this is just for easier dependency management from Java perspective
   (JAR file as a distribution format for web resources):
   
 http://www.webjars.org/
   
   Overall, I'm in favor of using Node.js to manage all tasks related to
   JavaScript development and build process. If you have any objections
   or suggestions, I'd like to hear them!
   
   (I understand that Node.js essentially means new dependency with all
   implications, but in this case, I think it's worth it. But this is
   just me, so please share your opinions.)
   
   Thanks,
   Vojtech
  
  I think most developers would agree that node.js is the tool of choice for
  JavaScript development.
  
  The thing we must carefully consider is that node.js uses its own package
  manager (npm -- much like maven), and unlike maven, tooling does not yet
  exist to deal with npm packages in an rpm environment.
  
  This isn't on the same level as adding a logging library or a collections
  library or something. I'd argue that dependencies don't get any heavier
  than this one. That is worrisome to me.
  
  Run 'yum list available |grep nodejs' on your machine to see which node.js
  packages are available. Note that I don't see karma or uglify available in
  either Fedora or Red Hat SCL (Software Collections) [1].
  
  [1]
  https://sochotni.fedorapeople.org/nodejs010-RHSCL-1-RHEL-6/Server/x86_64/os/Packages/
  
  Greg
  ___
  Devel mailing list
  Devel@ovirt.org
  http://lists.ovirt.org/mailman/listinfo/devel
  
 ___
 Devel mailing list
 Devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/devel
 
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] Tools for developing and building oVirt.js project

2014-08-26 Thread Sandro Bonazzola
Il 26/08/2014 09:38, Tomas Jelinek ha scritto:
 
 
 - Original Message -
 From: Mooli Tayer mta...@redhat.com
 To: Greg Sheremeta gsher...@redhat.com
 Cc: devel@ovirt.org
 Sent: Tuesday, August 26, 2014 9:17:20 AM
 Subject: Re: [ovirt-devel] Tools for developing and building oVirt.js project

 Are we talking about using node as a development/test/packaging(minify etc )
 tool or having a runtime backend (site) on top of node?
 
 It is only devel environment (e.g. build dependency), not runtime.


If it's build dependency it's not just devel environment.
We must ensure that all required build dependencies are available and properly 
packaged for all supported distributions.


 
 I'd just like to point out that one thing is the development of the ovirt.js 
 itself 
 which is not going to be a big project and I can imagine also using less 
 ideal (slower) tools for it's development.
 
 A completely different story will be when (if) we decide to use ovirt.js to 
 develop some parts of the webadmin/userportal 
 in javascript instead of GWT (or even rewrite the whole FE to JS) which will 
 be a big project (set of projects). 
 
 If we want to be effective in that effort, we will need good tools.
 

 From my perspective I can't stress enough how important is the separation
 of ovirt UI part from the backend. I agree to everything Vojtech said about
 developing to the browser with java.

 Mooli.

 - Original Message -
 - Original Message -
 From: Vojtech Szocs vsz...@redhat.com
 To: devel@ovirt.org
 Sent: Monday, August 25, 2014 11:13:38 AM
 Subject: [ovirt-devel] Tools for developing and building oVirt.js project

 Hi guys,

 last week, we had oVirt.js PoC session and I mentioned the possibility
 of using Node.js and related tools like npm to develop  build oVirt.js
 project.

 I'd like to hear your opinion - what do you think about using Node.js in
 context of developing  building JavaScript projects? (oVirt.js etc.)

 Obviously, I'm strongly biased towards Node.js because of its popularity
 and therefore availability of various tools (npm packages) for
 JavaScript,
 for example: grunt (task runner), jslint/hint (code analyzer), uglifyjs
 (minify/compress), karma (both one-time  continuous test runner),
 traceur
 (es6 - es5 compiler), etc.

 My understanding is that any special-purpose JavaScript development tool
 is typically implemented as module for Node.js (due to its popularity),
 so I think it makes sense to use Node.js as a platform for JavaScript
 development.

 There are also Java-based projects for JavaScript (post)processing like
 wro4j, however these tend to be implemented by invoking JS tools (like
 uglifyjs) from Java context via Rhino (JS engine for Java), for example:

   
 https://code.google.com/p/wro4j/source/browse/wro4j-extensions/src/main/java/ro/isdc/wro/extensions/processor/support/uglify/UglifyJs.java

 (To me, developing JavaScript project with Java-centric tooling sounds
 quite strange in general.)

 There's also webjars repository for hosting popular web resources for
 use in Java applications (i.e. Maven artifact for uglifyjs etc.), but
 this is just for easier dependency management from Java perspective
 (JAR file as a distribution format for web resources):

   http://www.webjars.org/

 Overall, I'm in favor of using Node.js to manage all tasks related to
 JavaScript development and build process. If you have any objections
 or suggestions, I'd like to hear them!

 (I understand that Node.js essentially means new dependency with all
 implications, but in this case, I think it's worth it. But this is
 just me, so please share your opinions.)

 Thanks,
 Vojtech

 I think most developers would agree that node.js is the tool of choice for
 JavaScript development.

 The thing we must carefully consider is that node.js uses its own package
 manager (npm -- much like maven), and unlike maven, tooling does not yet
 exist to deal with npm packages in an rpm environment.

 This isn't on the same level as adding a logging library or a collections
 library or something. I'd argue that dependencies don't get any heavier
 than this one. That is worrisome to me.

 Run 'yum list available |grep nodejs' on your machine to see which node.js
 packages are available. Note that I don't see karma or uglify available in
 either Fedora or Red Hat SCL (Software Collections) [1].

 [1]
 https://sochotni.fedorapeople.org/nodejs010-RHSCL-1-RHEL-6/Server/x86_64/os/Packages/

 Greg
 ___
 Devel mailing list
 Devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/devel

 ___
 Devel mailing list
 Devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/devel

 ___
 Devel mailing list
 Devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/devel
 


-- 
Sandro Bonazzola
Better technology. Faster innovation. Powered by community collaboration.
See how

[ovirt-devel] Tools for developing and building oVirt.js project

2014-08-25 Thread Vojtech Szocs
Hi guys,

last week, we had oVirt.js PoC session and I mentioned the possibility
of using Node.js and related tools like npm to develop  build oVirt.js
project.

I'd like to hear your opinion - what do you think about using Node.js in
context of developing  building JavaScript projects? (oVirt.js etc.)

Obviously, I'm strongly biased towards Node.js because of its popularity
and therefore availability of various tools (npm packages) for JavaScript,
for example: grunt (task runner), jslint/hint (code analyzer), uglifyjs
(minify/compress), karma (both one-time  continuous test runner), traceur
(es6 - es5 compiler), etc.

My understanding is that any special-purpose JavaScript development tool
is typically implemented as module for Node.js (due to its popularity),
so I think it makes sense to use Node.js as a platform for JavaScript
development.

There are also Java-based projects for JavaScript (post)processing like
wro4j, however these tend to be implemented by invoking JS tools (like
uglifyjs) from Java context via Rhino (JS engine for Java), for example:

  
https://code.google.com/p/wro4j/source/browse/wro4j-extensions/src/main/java/ro/isdc/wro/extensions/processor/support/uglify/UglifyJs.java

(To me, developing JavaScript project with Java-centric tooling sounds
quite strange in general.)

There's also webjars repository for hosting popular web resources for
use in Java applications (i.e. Maven artifact for uglifyjs etc.), but
this is just for easier dependency management from Java perspective
(JAR file as a distribution format for web resources):

  http://www.webjars.org/

Overall, I'm in favor of using Node.js to manage all tasks related to
JavaScript development and build process. If you have any objections
or suggestions, I'd like to hear them!

(I understand that Node.js essentially means new dependency with all
implications, but in this case, I think it's worth it. But this is
just me, so please share your opinions.)

Thanks,
Vojtech
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


Re: [ovirt-devel] Tools for developing and building oVirt.js project

2014-08-25 Thread Greg Sheremeta
- Original Message -
 From: Vojtech Szocs vsz...@redhat.com
 To: devel@ovirt.org
 Sent: Monday, August 25, 2014 11:13:38 AM
 Subject: [ovirt-devel] Tools for developing and building oVirt.js project
 
 Hi guys,
 
 last week, we had oVirt.js PoC session and I mentioned the possibility
 of using Node.js and related tools like npm to develop  build oVirt.js
 project.
 
 I'd like to hear your opinion - what do you think about using Node.js in
 context of developing  building JavaScript projects? (oVirt.js etc.)
 
 Obviously, I'm strongly biased towards Node.js because of its popularity
 and therefore availability of various tools (npm packages) for JavaScript,
 for example: grunt (task runner), jslint/hint (code analyzer), uglifyjs
 (minify/compress), karma (both one-time  continuous test runner), traceur
 (es6 - es5 compiler), etc.
 
 My understanding is that any special-purpose JavaScript development tool
 is typically implemented as module for Node.js (due to its popularity),
 so I think it makes sense to use Node.js as a platform for JavaScript
 development.
 
 There are also Java-based projects for JavaScript (post)processing like
 wro4j, however these tend to be implemented by invoking JS tools (like
 uglifyjs) from Java context via Rhino (JS engine for Java), for example:
 
   
 https://code.google.com/p/wro4j/source/browse/wro4j-extensions/src/main/java/ro/isdc/wro/extensions/processor/support/uglify/UglifyJs.java
 
 (To me, developing JavaScript project with Java-centric tooling sounds
 quite strange in general.)
 
 There's also webjars repository for hosting popular web resources for
 use in Java applications (i.e. Maven artifact for uglifyjs etc.), but
 this is just for easier dependency management from Java perspective
 (JAR file as a distribution format for web resources):
 
   http://www.webjars.org/
 
 Overall, I'm in favor of using Node.js to manage all tasks related to
 JavaScript development and build process. If you have any objections
 or suggestions, I'd like to hear them!
 
 (I understand that Node.js essentially means new dependency with all
 implications, but in this case, I think it's worth it. But this is
 just me, so please share your opinions.)
 
 Thanks,
 Vojtech

I think most developers would agree that node.js is the tool of choice for
JavaScript development.

The thing we must carefully consider is that node.js uses its own package
manager (npm -- much like maven), and unlike maven, tooling does not yet
exist to deal with npm packages in an rpm environment.

This isn't on the same level as adding a logging library or a collections
library or something. I'd argue that dependencies don't get any heavier
than this one. That is worrisome to me.

Run 'yum list available |grep nodejs' on your machine to see which node.js
packages are available. Note that I don't see karma or uglify available in
either Fedora or Red Hat SCL (Software Collections) [1].

[1] 
https://sochotni.fedorapeople.org/nodejs010-RHSCL-1-RHEL-6/Server/x86_64/os/Packages/

Greg
___
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel