Chris Coyier ma niesamowite podsumowanie SASS vs LESS na css-tricks.com . Zdecydowanie warto przeczytać.
Jeśli chodzi o niektóre z twoich konkretnych pytań:
Społeczność
Pracuję całkowicie z SASS / Compass, więc nie jestem do końca zaznajomiony ze społecznością LESS, ale tak naprawdę nie potrzebowałem społeczności SASS. Ich dokumentacja jest fantastyczna i rozwiązała wszelkie problemy, na które do tej pory napotkałem.
Oto, co warto, oto statystyki SASS vs LESS, które Chris ma w swoim poście, które zaktualizowałem dla bieżących liczb:
Liczba otwartych problemów na LESS: 121
Liczba otwartych problemów na Sass: 87
Oczekujące żądania ściągnięcia na LESS: 13
Oczekujące żądania ściągnięcia na Sass: 8
Liczba zatwierdzeń w ostatnim miesiącu w LESS: 49
Liczba zatwierdzeń w ostatnim miesiącu w Sass: 7
Warto zauważyć, że liczby te były mniej więcej takie same, jak w przypadku pisania Chrisa w maju 2012 roku. To mówi mi, że oba są dość równe pod względem działalności programistycznej.
Dojrzałość
Technicznie rzecz biorąc, Sass jest starszy. Pojawiło się w 2007 roku, podczas gdy LESS pojawiło się w 2009 roku. To powiedziawszy, porównania, które widziałem, stawiają oba z nich na prawie tym samym poziomie „dojrzałości” w odniesieniu do funkcji i tym podobnych.
Oba mają również frameworki, które dostarczają im więcej narzędzi. LESS ma mniej frameworka i Centage (dodatkowo, Twitter Bootstrap jest zbudowany z LESS). Sass ma Kompas, Grawitację i Susy. Oba prawdopodobnie mają więcej, jeśli je kopiesz, ale są to jedne z pierwszych, które pojawiają się podczas wyszukiwania.
Czy są jakieś prawdziwe różnice?
Jeśli chodzi o pisanie, nie bardzo. Jeśli używasz podobnej do CSS składni SCSS w Sass (zamiast bardziej podobnej do Pythona składni SASS), masz tylko typowe niewielkie różnice w składni ( @
vs $
), ale w większości są one w zasadzie takie same.
Dwie największe różnice w kodowaniu, które znalazłem, to: a) sposób, w jaki radzą sobie z jednostkami podczas matematyki, oraz b) w jaki sposób radzili sobie z dziedziczeniem. Gdy otrzymasz coś w rodzaju 20px + 2em
, LESS upuści drugą jednostkę i przyjmie, że masz na myśli pierwszą (yeilding 22px
), podczas gdy Sass zgłosi błąd (w zasadzie niedopasowanie typu). Dzięki dziedziczeniu LESS traktuje to jak miks (nie mogę tego dobrze wyjaśnić, więc zobacz sekcję dotyczącą dziedziczenia w tym artykule Tuts + ).
To, czy ktoś jest lepszy od drugiego, zależy od tego, jak wolisz, aby sobie z tym poradził.
Inną największą różnicą, o której wiem, jest to, w jaki sposób i gdzie każda z nich jest domyślnie kompilowana. Sass używa Ruby i kompiluje na serwerze, umożliwiając przechowywanie i wysyłanie skompilowanego pliku CSS do klienta. Z drugiej strony MNIEJ domyślnie używa skryptu less.js do kompilacji CSS w locie. Jednak przy użyciu Node.js LESS może kompilować po stronie serwera w taki sam sposób, jak Sass.
Który?
Więc jeśli są w zasadzie takie same, którego należy użyć? Cóż, chyba że naprawdę podoba ci się składnia SASS podobna do Pythona lub naprawdę nie uważasz, że kompilacja po stronie klienta jest dobrym rozwiązaniem, lub wolisz czyjeś wywołanie dziedziczenia jest ważniejsze niż to, czy wolisz mieć (lub już mają) Zainstalowane Ruby lub Node.js.