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.
--debug-info
komentarzami i wierszami dla Firebug i Chrome kilka wersji wstecz, zanim pojawią się standardowe), oraz symbole zastępcze (w zasadzie @extend bez pisania klasy, z której należy rozszerzyć) są w najnowszej wersji.Wierzę, że twój wybór może zależeć przynajmniej trochę od tego, co robisz lub używasz; Pracuję przede wszystkim z Railsami i obsługuje Sass dla CSS do tego stopnia, że jest on aktywnie dołączany przy tworzeniu nowego projektu. Jeśli chcesz użyć czegoś takiego jak zawsze popularny Bootstrap, który domyślnie używa Less, nie musisz się obawiać, ponieważ istnieje wiele popularnych klejnotów, takich jak bootstrap-sass, które pozwalają ci używać go w swoim projekcie.
Jest to ściśle anegdotyczne, ale każde wrażenie, jakie osobiście miałem, to to, że Sass ma większą społeczność i więcej wsparcia, i szczerze mówiąc oficjalna dokumentacja dla Sassa jest znacznie bardziej szczegółowa i długa niż w przypadku Less (zwiększenie rozmiaru czcionki i dopełniania dla wszystkiego nie tworzy dłuższego fragmentu tekstu). Jeśli chcesz zagłębić się w szczegóły, chociaż nie znam do końca Less, opierając się wyłącznie na obu językach, Sass jest jedynym, który posiada dziedziczenie selektorów. Jestem pewien, że istnieją inne różnice, które ludzie mogą rozwinąć.
W końcu każdy ma swoje preferencje, a jeśli okaże się, że jedno pasuje ci bardziej niż drugie, powinieneś go z całą pewnością użyć, jeśli może zrobić to, czego potrzebujesz. Jednak podczas korzystania z Sassa z pewnością podobała mi się jego przejrzystość i skuteczność, szczególnie biorąc pod uwagę, że jestem w domenie Railsów.
źródło
Nie jestem pewien, czy Less ma coś porównywalnego, ale jedną z głównych zalet Sass jest biblioteka Compass , która zapewnia wiele typowych idiomów CSS, standardowe hacki potrzebne dla starszych przeglądarek i funkcje CSS3 bez potrzeby prefiksu przeglądarki, a nie wspomnieć o automatycznym generowaniu CSS dla obrazów duszków.
Kolejną zaletą - przynajmniej dla mnie - jest to, że Sass pozwala na składnię podobną do Pythona, którą uważam za znacznie bardziej czytelną.
źródło