Just some arguments to take under consideration:

- do we want to add the bootstrap mixins and CSS preprocessors features in
the SSX objects? If so, then having a CSS preprocessor that caches the
bootstrap sources seems good.

- with SASS, it is easy to add a path where to find the includes. With
LESS, it does not work with the Rhino version (it uses some stuff related
to NodeJS). Even by modifying a bit the LessC source file, I haven't
managed to make it work.

I also prefer the LESS syntax + the fact that it is the default syntax of
Bootstrap, but technically, I find more and more reasons to prefer SASS...

---

We need to make a decision now, we should not wait anymore.

LESS pros:
- Syntax closer to CSS
- Syntax not to much similar to Velocity
- the Boostrap's choice
- Very popular
- Caty, Denis and I like it!

LESS cons:
- The java part uses Rhino and is less customizable
- No cache system
- include-path does not work with the java version so how could we handle
the @import command?

SASS pros:
- Good extensibility using JRuby
- Include-path works well
- Cache system so we can import Bootstrap mixin's in our SSX with better
performances

SASS cons:
- Syntax closer to Velocity

Guillaume



2014-05-06 10:02 GMT+02:00 Ecaterina Moraru (Valica) <[email protected]>:

> My personal opinion about LESS vs. Saas is that I prefer LESS,
> both from a syntax non-similarity point of view,
> but also because it's more close to the original CSS specifications and
> thus they are more likely to keep things separate/simpler (separation of
> concern of presentation vs. control structures that add complexity and that
> can be achieved by a dedicated language).
>
> But this preference is more of a hunch than an experimented study, so we
> can further analyze the performance and other aspects in order to get a
> conclusion.
> Thanks,
> Caty
>
>
> On Mon, May 5, 2014 at 11:53 PM, Denis Gervalle <[email protected]> wrote:
>
> > Hi devs,
> >
> > I am jumping in late on this debate, so do not baffle me if I have missed
> > something. IMO the performance should not be a priority criteria.
> > Performance could always be improved over time, and may vary in any
> > implementation to became better but also worse. So, our decision should
> be
> > more based on proposed features, our perception of the popularity and
> > community, and also our taste, even if this could be subjective.
> >
> > Like Cathy, I am very concerned by the similarity of SASS and Velocity,
> and
> > I see this as a misfeature of SASS for us. On an technical point of view,
> > SASS seems more robust and complete than LESS, but is also a bit more
> > complex and less easy to adopt. Even if not really relevant here, I like
> > the idea that LESS could work client side thanks to its javascript based
> > implementation.
> >
> > Bootstrap is initially made with LESS (which probably boost the
> popularity
> > of it) and since we choose Bootstrap, it seems also quite natural to
> prefer
> > LESS like they do (I would have said just the opposite if we had opted to
> > adopt, lets say, Compass, which is a framework based on SASS).
> >
> > My perception of the community of both is quite the same, there is not
> that
> > much contribution to any of them, since both are mainly driven by one or
> > two developers. LESS appears after SASS and have gained popularity,
> enough
> > to be adopted by Bootstrap, does it looks like a indication... this is
> > probably a bit misleading, but once again we choose Bootstrap.
> >
> > Performance seems to reflect the same as my perception of the technical
> > aspect of these products. SASS is more mature and complete, and therefore
> > it has been a bit more optimized, but LESS is not that bad and will
> surely
> > improve over time as well.
> >
> > So, you have probably decoded my though from the above, I have the
> feeling
> > that currently LESS fits better for us than SASS. Maybe we will have to
> > adopt both in the end, but I would start with LESS.
> >
> > This was just my personal thoughts, thanks for reading,
> >
> >
> >
> > On Mon, May 5, 2014 at 5:44 PM, Guillaume "Louis-Marie" Delhumeau <
> > [email protected]> wrote:
> >
> > > Update:
> > >
> > > SASS have good performances because it does not always compute all the
> > > sources. All imported files (using @import) are cached and not
> recompiled
> > > when there is not change on these files.
> > >
> > > It is good if we often recompute flamingo (that does a lot of @import),
> > but
> > > it means that the SASS' performances are not that better than LESS'
> when
> > it
> > > comes to compile new files, which can happen every-time we will
> compile a
> > > SSX object in the future (if we decide to).
> > >
> > > So I have done a benchmark without the cache, and then the performances
> > of
> > > SASS are quite the same than LESS, but a bit slower (see:
> > > https://github.com/xwiki-contrib/less-vs-sass-benchmark ).
> > >
> > > Other thing to consider:
> > > In both LESS and SASS, it is possible to set a directory where the
> > imported
> > > files are searched. So we can add bootstrap sources in every SSX
> objects
> > so
> > > that users can use Bootstrap mixins (good thing IMO).
> > >
> > > In this case, it will be good to have the cache system that SASS has.
> > >
> > > Thanks,
> > > Guillaume
> > >
> > >
> > > 2014-04-30 15:17 GMT+02:00 Thomas Mortagne <[email protected]
> >:
> > >
> > > > On Wed, Apr 30, 2014 at 3:16 PM, Thomas Mortagne
> > > > <[email protected]> wrote:
> > > > > On Wed, Apr 30, 2014 at 3:04 PM, Caleb James DeLisle <[email protected]
> >
> > > > wrote:
> > > > >>
> > > > >>
> > > > >> On 04/30/2014 02:59 PM, Thomas Mortagne wrote:
> > > > >>> On Wed, Apr 30, 2014 at 2:33 PM, Caleb James DeLisle <
> [email protected]
> > >
> > > > wrote:
> > > > >>>> https://encrypted.google.com/search?q=less+css -> About
> > 116,000,000
> > > > results (less is a common word so this is skewed)
> > > > >>>> https://encrypted.google.com/search?q=sass+css -> About
> 2,480,000
> > > > results
> > > > >>>>
> > > > >>>> https://github.com/less/less.js -> 1756 commits, 152
> > contributors,
> > > > 2296 forks
> > > > >>>> https://github.com/nex3/sass -> 5554 commits, 135 contributors,
> > 650
> > > > forks
> > > > >>>>
> > > > >>>> Less feels a bit safer from a community standpoint,
> > > > >>>
> > > > >>>> both have java/C/ruby/js implementations (node-sass is a binding
> > to
> > > > the C version).
> > > > >>>
> > > > >>> No they don't, the only working implementation of less is in js
> for
> > > > example.
> > > > >>
> > > > >>
> > > > >> https://github.com/less/less.ruby
> > > > >> https://github.com/marceloverdijk/lesscss-java <-- wrapper around
> > the
> > > > js impl w/ rhino
> > > > >
> > > > > "working" was an important detail. Guillaume already tried
> > > > > https://github.com/marceloverdijk/lesscss-java.
> > > >
> > > > Actually I tough you were talking about another one, If you really
> > > > look at the detail you will see this one is using rhino so no it's
> not
> > > > a java implementation.
> > > >
> > > > >
> > > > >> https://github.com/BramvdKroef/clessc
> > > > >>
> > > > >>
> > > > >>>
> > > > >>>>
> > > > >>>> These numbers seem to be suggesting that consensus will form
> > around
> > > > Less if anything.
> > > > >>>>
> > > > >>>> Thanks,
> > > > >>>> Caleb
> > > > >>>>
> > > > >>>>
> > > > >>>> On 04/30/2014 01:22 PM, Guillaume "Louis-Marie" Delhumeau wrote:
> > > > >>>>> One point in favour of SASS (SCSS): it seems more customizable.
> > For
> > > > >>>>> example, we can define our own SASS functions (like
> > > > >>>>> xwiki-colortheme-get('variable_name')) or our own Importer (for
> > > > example,
> > > > >>>>> @import will not look in the filesystem but somewhere in our
> > XWiki
> > > > >>>>> instance).
> > > > >>>>>
> > > > >>>>> In this case, we can simply avoid using velocity.
> > > > >>>>>
> > > > >>>>> See:
> > > > >>>>>
> > > >
> > >
> >
> http://sass-lang.com/documentation/file.SASS_REFERENCE.html#defining_custom_sass_functions
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> 2014-04-29 15:35 GMT+02:00 Jeremie BOUSQUET <
> > > > [email protected]>:
> > > > >>>>>
> > > > >>>>>> 2014-04-29 9:58 GMT+02:00 Caleb James DeLisle <[email protected]>:
> > > > >>>>>>
> > > > >>>>>>> My 2 cents worth is all that matters is community.
> > > > >>>>>>> Between Groovy, Velocity (I think we're now the biggest user
> of
> > > > that) and
> > > > >>>>>>> prototypejs, we're pretty good at backing the wrong horse.
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>> That may be right but as of now at least, groovy/velocity are
> > > > popular at
> > > > >>>>>> least among xwiki current users (dev oriented ones).
> > > > >>>>>> I'm really glad personally that you didn't choose PHP or JSPs
> > even
> > > > if they
> > > > >>>>>> were (and are) far more popular than Velocity ... ;)
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>>> In 3-5 years, one of LESS/SASS (or perhaps something else
> > > > entirely) will
> > > > >>>>>> be
> > > > >>>>>>> the standard for CSS preprocessing and the other will be a
> > > > historical
> > > > >>>>>>> amusement.
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>> Maybe CSS preprocessing as we know now, will be a historical
> > > > amusement.
> > > > >>>>>> It's still very very young. To me it mostly looks like hacks
> > added
> > > > to
> > > > >>>>>> workaround things that pure css SHOULD manage ideally, or
> should
> > > > not have
> > > > >>>>>> to manage at all... Not saying that css preprocessing is bad
> > > though
> > > > of
> > > > >>>>>> course :)
> > > > >>>>>> The problem is that the "best" and the "most popular" are not
> > > > always the
> > > > >>>>>> same ... (to say the least)
> > > > >>>>>>
> > > > >>>>>> Lets not be the ones left holding the bag.
> > > > >>>>>>>
> > > > >>>>>>> Thanks,
> > > > >>>>>>> Caleb
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>> On 04/28/2014 06:01 PM, Guillaume "Louis-Marie" Delhumeau
> > wrote:
> > > > >>>>>>>> 2014-04-28 16:33 GMT+02:00 Ecaterina Moraru (Valica) <
> > > > >>>>>> [email protected]
> > > > >>>>>>>> :
> > > > >>>>>>>>
> > > > >>>>>>>>> My major concern about Sass is the syntax very similar to
> > > > Velocity and
> > > > >>>>>>> the
> > > > >>>>>>>>> way we will handle the parsable style sheets.
> > > > >>>>>>>>>
> > > > >>>>>>>>
> > > > >>>>>>>> I think you talk about the fact that variables are prefixed
> > with
> > > > $ in
> > > > >>>>>>> SASS.
> > > > >>>>>>>>
> > > > >>>>>>>> 2 solutions:
> > > > >>>>>>>> - it should be possible to escape the $ when velocity should
> > > > ignore the
> > > > >>>>>>>> variable
> > > > >>>>>>>> - when the variable does not exist in the velocity context,
> it
> > > > displays
> > > > >>>>>>>> $variable and it does not fail.
> > > > >>>>>>>>
> > > > >>>>>>>> I personally prefer LESS for the reason for this reason, but
> > > > regarding
> > > > >>>>>>> the
> > > > >>>>>>>> performances, we might consider the things differently, even
> > > with
> > > > a
> > > > >>>>>> cache
> > > > >>>>>>>> system (which will be needed anyway).
> > > > >>>>>>>>
> > > > >>>>>>>> I need more opinions about this.
> > > > >>>>>>>>
> > > > >>>>>>>> Thanks,
> > > > >>>>>>>> Guillaume
> > > > >>>>>>>>
> > > > >>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>> Thanks,
> > > > >>>>>>>>> Caty
> > > > >>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>> On Mon, Apr 28, 2014 at 5:21 PM, Guillaume "Louis-Marie"
> > > > Delhumeau <
> > > > >>>>>>>>> [email protected]> wrote:
> > > > >>>>>>>>>
> > > > >>>>>>>>>> Hi guys.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> Since we did not have made a strong analysis on SASS, I
> have
> > > > played a
> > > > >>>>>>> bit
> > > > >>>>>>>>>> with it to compare.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> Thomas had the intuition that it should perform faster,
> > > because
> > > > JRuby
> > > > >>>>>>> is
> > > > >>>>>>>>> a
> > > > >>>>>>>>>> better implementation for Ruby than Rhino is for JS.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> So I have published a little benchmark about them, that
> you
> > > can
> > > > see
> > > > >>>>>>>>> there:
> > > > >>>>>>>>>> https://github.com/xwiki-contrib/less-vs-sass-benchmark
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> The benchmark is about the time that it takes to compile
> > > > Bootstrap.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> The results are very clear, SASS perform 2 times faster
> than
> > > > LESS.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> Since it seems easy to switch from LESS to SASS (bootstrap
> > had
> > > > >>>>>> written
> > > > >>>>>>> a
> > > > >>>>>>>>>> converter), maybe we should consider this option.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> Other thing:
> > > > >>>>>>>>>> I would like to run Velocity on the sources of my CSS, in
> > > order
> > > > to
> > > > >>>>>>> easily
> > > > >>>>>>>>>> integrate the color theme variables. But it is risky to
> run
> > > > velocity
> > > > >>>>>> on
> > > > >>>>>>>>> the
> > > > >>>>>>>>>> whole tree of bootstrap sources (just imagine that
> bootstrap
> > > > has an
> > > > >>>>>>> "#if"
> > > > >>>>>>>>>> ID...).
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> So Thomas and I suggest that we can run Velocity on files
> > > > suffixed by
> > > > >>>>>>>>>> .scss.vm or .less.vm, to only run velocity on some files
> > (for
> > > > >>>>>> example:
> > > > >>>>>>>>>> color-theme.less.vm) that we handle.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> WDYT?
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> Thanks,
> > > > >>>>>>>>>> Guillaume
> > > > >>>>>>>>>>
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> 2014-04-23 17:29 GMT+02:00 Guillaume "Louis-Marie"
> > Delhumeau <
> > > > >>>>>>>>>> [email protected]>:
> > > > >>>>>>>>>>
> > > > >>>>>>>>>>> Hello.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> In 6.0, we have released a first version of Flamingo. It
> > uses
> > > > >>>>>>> Bootstrap
> > > > >>>>>>>>>>> and the LESS preprocessor during the build to create the
> > > final
> > > > >>>>>>>>> style.css
> > > > >>>>>>>>>>> file.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> But currently, there is a serious regression compared to
> > > > Colibri: it
> > > > >>>>>>>>> does
> > > > >>>>>>>>>>> not support color themes.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> So I have started a proposal about the color theme
> handling
> > > in
> > > > >>>>>>>>> Flamingo,
> > > > >>>>>>>>>>> that you can see there:
> > > > >>>>>>>>>>>
> > > > >>>>>>
> > > >
> http://design.xwiki.org/xwiki/bin/view/Proposal/ColorThemeforFlamingo
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> My conclusion is that we need to integrate the LESS
> > > > preprocesor on
> > > > >>>>>> the
> > > > >>>>>>>>>>> runtime. This way, we can add velocity variables
> > > > (corresponding to
> > > > >>>>>> the
> > > > >>>>>>>>>>> color theme) in our LESS sources BEFORE the LESS
> > preprocessor
> > > > is
> > > > >>>>>>>>>> launched.
> > > > >>>>>>>>>>> Doing the opposite, (process velocity after LESS) causes
> > some
> > > > >>>>>> problems
> > > > >>>>>>>>>> that
> > > > >>>>>>>>>>> I have reported on the previous link.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> To me, it would be a good step ahead for proposing LESS
> to
> > > our
> > > > >>>>>> users.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> Regarding this, some ideas are coming to me:
> > > > >>>>>>>>>>> - it is quite easy to integrate LESS since we can use
> Rhino
> > > to
> > > > >>>>>> launch
> > > > >>>>>>>>> the
> > > > >>>>>>>>>>> LESS preprocessor (which is a javascript program). See:
> > > > >>>>>>>>>>> https://github.com/sandroboehme/lesscss-java
> > > > >>>>>>>>>>> - we need a cache system in order to not always compute
> the
> > > > >>>>>> style.css
> > > > >>>>>>>>>>> served to the user (performances issue).
> > > > >>>>>>>>>>> - we need to add this in the "skin" action.
> > > > >>>>>>>>>>> - in the future, we also need to modify the skinx
> actions,
> > to
> > > > enable
> > > > >>>>>>> it
> > > > >>>>>>>>>>> for Skin Extensions.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> We also need to agree on the use of LESS instead of
> SASS. I
> > > > have
> > > > >>>>>> used
> > > > >>>>>>>>>> LESS
> > > > >>>>>>>>>>> on Flamingo because Bootstrap has originally been written
> > > with
> > > > it
> > > > >>>>>>>>>> (although
> > > > >>>>>>>>>>> an official SASS port exists), so this choice is not
> based
> > > on a
> > > > >>>>>> strong
> > > > >>>>>>>>>>> analysis. Anyway, it looks quite simple to move from one
> to
> > > the
> > > > >>>>>> other
> > > > >>>>>>>>> and
> > > > >>>>>>>>>>> it is probably too soon to predict which of these 2
> > > > preprocessors
> > > > >>>>>> will
> > > > >>>>>>>>>> win
> > > > >>>>>>>>>>> on the long term.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> Do you think I am going in the right direction?
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> Thanks for reading,
> > > > >>>>>>>>>>> Guillaume
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>> _______________________________________________
> > > > >>>>>>>>>> devs mailing list
> > > > >>>>>>>>>> [email protected]
> > > > >>>>>>>>>> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >>>>>>>>>>
> > > > >>>>>>>>> _______________________________________________
> > > > >>>>>>>>> devs mailing list
> > > > >>>>>>>>> [email protected]
> > > > >>>>>>>>> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >>>>>>>>>
> > > > >>>>>>>> _______________________________________________
> > > > >>>>>>>> devs mailing list
> > > > >>>>>>>> [email protected]
> > > > >>>>>>>> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >>>>>>>>
> > > > >>>>>>> _______________________________________________
> > > > >>>>>>> devs mailing list
> > > > >>>>>>> [email protected]
> > > > >>>>>>> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >>>>>>>
> > > > >>>>>> _______________________________________________
> > > > >>>>>> devs mailing list
> > > > >>>>>> [email protected]
> > > > >>>>>> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >>>>>>
> > > > >>>>> _______________________________________________
> > > > >>>>> devs mailing list
> > > > >>>>> [email protected]
> > > > >>>>> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >>>>>
> > > > >>>> _______________________________________________
> > > > >>>> devs mailing list
> > > > >>>> [email protected]
> > > > >>>> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >> _______________________________________________
> > > > >> devs mailing list
> > > > >> [email protected]
> > > > >> http://lists.xwiki.org/mailman/listinfo/devs
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Thomas Mortagne
> > > >
> > > >
> > > >
> > > > --
> > > > Thomas Mortagne
> > > > _______________________________________________
> > > > devs mailing list
> > > > [email protected]
> > > > http://lists.xwiki.org/mailman/listinfo/devs
> > > >
> > > _______________________________________________
> > > devs mailing list
> > > [email protected]
> > > http://lists.xwiki.org/mailman/listinfo/devs
> > >
> >
> >
> >
> > --
> > Denis Gervalle
> > SOFTEC sa - CEO
> > _______________________________________________
> > devs mailing list
> > [email protected]
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to