SASS'ın LESS'e göre herhangi bir avantajı var mı? [kapalı]


36

Bu css önişleyiciler hakkında araştırma yapmaya çalışıyorum.

Bir sss önişlemcisi olarak sass kullanmanın herhangi bir avantajı var mı? Aradığım faktörler arasında topluluk büyüklüğü, yazılım projesi olgunluğu vb.

Bununla ilgili başka bir soru olduğunu biliyorum , ancak yapıcı bir şekilde yazılı ve kapalı değildi.

Güncelleştirme

Önyükleme şimdi Sass kullanmak için gitti gibi görünüyor

Yanıtlar:


32

Chris Coyier , css-tricks.com adresinde SASS vs LESS'in müthiş bir anısına sahip . Kesinlikle okunmaya değer.

Bazı özel sorularınız için:

Topluluk

Tamamen SASS / Compass ile çalışıyorum, bu yüzden LESS'in topluluğunu yakından tanımadım ama SASS topluluğuna gerçekten ihtiyacım olmadı. Onların belgeleri harika ve şimdiye kadar karşılaştığım tüm sorunları çözdü.

Yine de, neye değerse, işte Chris'in görevinde bulunan ve şu anki numaralar için güncellediğim SASS vs LESS istatistikleri:


LESS'teki açık konu sayısı : 121 Sass'deki açık konu sayısı: 87

LESS'de bekleyen çekme istekleri: 13
Sass'ta bekleyen çekme istekleri: 8

LESS'teki son ayın
taahhüt sayısı : 49 Sass'daki son ayın taahhüt sayısı: 7

Not etmek gerekirse, bu sayılar Chris'in Mayıs 2012'de yazdığı gibi kabaca aşağı doğru kayıyordu. Bu da bana her ikisinin de gelişme faaliyeti bakımından oldukça eşit olduğunu söylüyor.

Olgunluk

Teknik olarak konuşursak, Sass daha yaşlı. 2007'de LESS 2009'da çıktı. Bu, gördüğüm karşılaştırmaların her ikisini de özellikleri ve neye göre hemen hemen aynı "olgunluk" seviyesine getirdiğini söyledi.

Her ikisi de kendilerine daha fazla araç getiren çerçevelere sahiptir. LESS'in Daha Az Çerçevesi ve Centage (ek olarak, Twitter Önyüklemesi LESS ile oluşturulmuştur) vardır. Sass'ın Pusula, Yerçekimi ve Susy var. Her ikisi de, muhtemelen onlar için kazı yaparsanız, ancak bunlar arama yaparken ortaya çıkan ilklerden bazılarıdır.

Öyleyse gerçek farklılıklar var mı?

Konu yazmaya gelince, gerçekten değil. Sass'ta CSS benzeri SCSS sözdizimini kullanıyorsanız (daha fazla Python benzeri SASS sözdizimi yerine), yalnızca tipik küçük sözdizimi farklarına ( @vs $) sahip olursunuz , ancak çoğu zaman, temel olarak aynıdır.

Kodlamada bulduğum en büyük iki fark: a) matematik yaparken birimleri nasıl ele aldıklarını ve b) miras ile nasıl ilgilendiklerini. Gibi bir şey verildiğinde 20px + 2em, LESS ikinci üniteyi düşürür ve ilk (ye 22px) demek istediğinizi varsayar ; oysa Sass bir hata verir (temel olarak yazım uyumsuzluğu). Kalıtım ile, LESS bir karışım gibi davranır (gerçekten iyi açıklayamam, bu yüzden bu Tuts + makalesinin kalıtım bölümüne bakın).

Birinin diğerine göre daha üstün olup olmadığı şeyleri nasıl halletmeyi tercih ettiğinize bağlıdır.

Bildiğim diğer en büyük fark, her birinin varsayılan olarak nasıl ve nerede toplandığıdır. Sass, Ruby'yi kullanır ve sunucuda derler; derlenmiş CSS dosyasını istemciye depolamanızı ve göndermenizi sağlar. Öte yandan, LESS, anında CSS'yi derlemek için less.js komut dosyasını kullanma varsayılanıdır. Bununla birlikte, Node.js kullanımıyla, LESS sunucu tarafında Sass'ın yaptığı gibi derlenebilir.

Hangisi?

Peki, eğer temelde aynılarsa, hangisini kullanmalısın? Peki, Python benzeri SASS sözdizimini gerçekten sevmiyorsanız ya da gerçekten müşteri tarafı derlemenin bir yol olduğunu düşünmüyorsanız ya da birinin diğerini miras almasını büyük ölçüde tercih ediyorsanız, sahip olmayı tercih edip etmemenizin daha önemli olacağı (ya da Zaten var) Ruby veya Node.js yüklü.


2
+1 Güzel özet. Yakın zamanda eklenmediyse, LESS, Sass'ın @extend
steveax

LESS'in gelişimi geç saatlerde büyük ölçüde artmış görünüyor. 1.5.0 (@ extend () sözdizimi) @extend sözdizimi ekliyorlar. Ayrıca başka şeylerin yanı sıra Kaynak Haritalar da ekliyorlar.
WraithKenny

WraithKenny - Bu hala teknik olarak onları Sass'ın arkasına koyuyor. Standartlaştırılmış kaynak haritaları şu anda test dallarındadır (ve --debug-infostandart olmayanlardan önce bir süredir Firebug ve Chrome için birkaç sürüm geriye ve standart sürümlere sahip "kaynak haritaları" na sahiplerdi ) ve yer tutucular (temel olarak, gerçekte hangi sınıfı genişleteceklerini eklemeden @ extend) en son sürümdedir.
Shauna,

@Shauna arkalarında "teknik olarak" nasıl olduklarından emin değiller ... LESS geçen yıldan beri "standart olmayan" kaynak haritaları "na sahipti ve şu anda Sass'ın aksine, son kararlı yapıda zaten standart kaynak haritaları var.
subhaze

@subhaze - Önceki yorumların yapıldığı sırada, LESS genişleyen sözdizimine sahip değildi, bu yüzden hala bu yönündeydi. Ek olarak, Sass son zamanlardaki sağlam yapılara "yer tutucuları" özelliğini ekledi. Bu, her setin en gelişmiş özelliklerini karşılaştırarak her birkaç ayda bir addenda yapmayacağım. Cevabımda dediğim gibi, ikisi de hemen hemen aynıdır ve biri diğerinin sahip olmadığı bir özellik eklediğinde diğeri genellikle çok geride kalmaz.
Shauna,

6

Seçiminizin, yaptığınız veya kullandığınız şeye en azından biraz bağlı olabileceğine inanıyorum; Öncelikle Rails ile çalışıyorum ve yeni bir proje oluştururken aktif olarak dahil olduğu nokta için CSS'sini Sass'ı destekliyor . Varsayılan olarak daha az kullanan, şimdiye kadar kullanılan en popüler Bootstrap gibi bir şey kullanmak istiyorsanız, korkmak zorunda değilsiniz çünkü projenizde kullanmanıza olanak tanıyan bootstrap-sass gibi birçok popüler mücevher var .

Bu kesinlikle anekdot, ama ben şahsen oldu her izlenim Sass daha büyük bir topluluk ve daha fazla destek vardır ve doğrusunu için resmi belgeler olduğunu Sass çok daha ayrıntılı ve daha uzun olan Less (her şey için yazı tipi boyutunu ve dolgu artan daha uzun bir metin yapmaz). Her ne kadar kesinlikle iki dilde de olsa, daha azına tamamen aşina olmasam da, Sass seçicilerin mirasına sahip tek kişidir. İnsanların üzerinde çalışabilecekleri başka bir fark olduğuna eminim.

Sonunda, herkesin kendi tercihleri ​​vardır ve eğer birinin diğerinden daha iyi olduğunu tespit edersen, ihtiyacın olanı yapabilirse, mutlaka kullanmalısın. Ancak, Sass'ı kullanırken, özellikle Rails alanında olduğumu düşünerek netliğini ve etkililiğini kesinlikle gördüm.


Kabul, eğer zaten Ruby kullanıyorsanız, SASS mantıklı. Ben daha çok bir JavaScript adamıyım, bu yüzden benim için çok az!
WraithKenny

5

Az karşılaştırılabilir bir şey vardır, ama Sass başlıca avantajlarından biri olmadığından emin değilim Pusula birçok genel CSS deyimler sağlar kütüphane, tarayıcıda ihtiyaç duymadan eski tarayıcılarda ve CSS3 işlevleri için gerekli standart gardiyanlar değil, önek Sprite görüntüler için otomatik CSS üretiminden bahsedin.

Başka bir avantaj - en azından benim için - Sass'ın daha okunabilir bulduğum bir Python benzeri sözdizimine izin vermesi.


Pusula ile Karşılaştırılabilir? Bilmiyorum, ama Twitter'ın Bootstrap'ları var.
WraithKenny

Onlar farklı hayvanlar. Bootstrap, bir takım kurallar ve widget'lar iken Compass os, yeniden kullanılabilir karışımların bir koleksiyonudur
Andrea

Ayrıca, Bootstrap Sass'ta mevcuttur.
Shauna,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.