Apakah ada kelebihan SASS dibanding KURANG? [Tutup]

36

Saya mencoba melakukan penelitian pada preprosesor css ini.

Apakah ada keuntungan menggunakan sass lebih sedikit daripada sebagai preprosesor css? Faktor yang saya cari termasuk ukuran komunitas, kematangan proyek perangkat lunak, dll.

Saya tahu ada pertanyaan lain yang terkait dengan ini, tetapi itu tidak ditulis dan ditutup secara konstruktif.

Memperbarui

Sepertinya bootstrap sekarang telah menggunakan Sass

chrisjlee
sumber

Jawaban:

32

Chris Coyier memiliki daftar lengkap SASS vs KURANG di css-tricks.com . Ini pasti layak dibaca.

Adapun beberapa pertanyaan spesifik Anda:

Masyarakat

Saya bekerja sepenuhnya dengan SASS / Kompas, jadi saya tidak akrab dengan komunitas KURANG, tetapi saya juga tidak benar-benar membutuhkan komunitas SASS. Dokumentasi mereka fantastis dan telah memecahkan masalah yang saya temui sejauh ini.

Untuk apa nilainya, meskipun, berikut adalah statistik SASS vs KURANG yang dimiliki Chris dalam posnya, yang telah saya perbarui untuk angka saat ini:

Sejumlah masalah terbuka pada KURANG: 121
sejumlah masalah terbuka pada Sass: 87

Permintaan tarikan tertunda pada KURANG: 13
Permintaan penarikan tertunda pada Sass: 8

Jumlah komitmen dalam sebulan terakhir dalam KURANG: 49
Jumlah komitmen dalam bulan terakhir di Sass: 7

Untuk dicatat, angka-angka ini secara kasar jatuh pada tulisan Chris pada Mei 2012. Ini mengatakan kepada saya bahwa keduanya sama-sama setara dalam hal aktivitas pengembangan.

Kematangan

Secara teknis, Sass lebih tua. Itu keluar pada 2007, sementara KURANG keluar pada 2009. Yang mengatakan, perbandingan yang saya lihat menempatkan keduanya pada tingkat yang sama "jatuh tempo" dalam hal fitur dan yang lainnya.

Keduanya juga memiliki kerangka kerja yang membawa lebih banyak alat kepada mereka. KURANG memiliki Kerangka Kurang, dan Centage (selain itu, Bootstrap Twitter dibangun dengan KURANG). Sass memiliki Kompas, Gravitasi, dan Susy. Keduanya mungkin memiliki lebih banyak, jika Anda menggali untuk mereka, tetapi itu adalah beberapa yang pertama muncul ketika Anda mencari.

Jadi, apakah ada perbedaan nyata?

Ketika datang untuk menulisnya, tidak juga. Jika Anda menggunakan sintaks SCSS yang mirip CSS di Sass (bukan sintaks SASS yang lebih mirip Python), Anda hanya memiliki perbedaan sintaksis kecil yang khas ( @vs $), tetapi sebagian besar, mereka pada dasarnya sama.

Dua perbedaan terbesar dalam pengkodean yang saya temukan adalah a) bagaimana mereka menangani unit ketika melakukan matematika, dan b) bagaimana mereka menangani warisan. Ketika diberi sesuatu seperti 20px + 2em, KURANG akan menjatuhkan unit kedua dan menganggap Anda berarti yang pertama (membangun 22px), sementara Sass akan melempar kesalahan (pada dasarnya, ketik ketidakcocokan). Dengan warisan, KURANG memperlakukannya seperti mixin (saya tidak bisa menjelaskannya dengan baik, jadi lihat bagian pewarisan artikel Tuts + ini untuk detailnya).

Apakah seseorang lebih unggul daripada yang lain tergantung pada bagaimana Anda lebih suka menangani sesuatu.

Perbedaan terbesar lainnya yang saya tahu adalah bagaimana dan di mana masing-masing mengkompilasi secara default. Sass menggunakan Ruby dan mengkompilasi di server, memungkinkan Anda untuk menyimpan dan mengirim file CSS yang dikompilasi ke klien. KURANG, di sisi lain, default untuk menggunakan skrip less.js untuk mengkompilasi CSS dengan cepat. Namun, dengan penggunaan Node.js, KURANG dapat mengkompilasi di sisi server dengan cara yang sama seperti yang dilakukan Sass.

Yang mana?

Jadi, jika mereka pada dasarnya sama, mana yang harus Anda gunakan? Nah, kecuali Anda benar-benar menyukai sintaks SASS yang mirip-Python, atau benar-benar berpikir bahwa kompilasi sisi klien adalah cara yang harus dilakukan, atau Anda lebih suka pewarisan yang memanggil satu sama lain, itu akan lebih penting apakah Anda lebih suka memiliki (atau sudah memiliki) Ruby atau Node.js diinstal.

Shauna
sumber
2
+1 Ringkasan yang bagus. Kecuali jika ditambahkan baru-baru ini, KURANG juga tidak memiliki apa pun yang sebanding dengan @extend Sass
steveax
Perkembangan KURANG tampaknya telah sangat meningkat akhir-akhir ini. Mereka menambahkan sintaks @extend di sintaks 1.5.0 (: extended ()). Mereka juga menambahkan Source Maps antara lain.
WraithKenny
WraithKenny - Itu masih secara teknis menempatkan mereka di belakang Sass. Peta sumber standar ada di cabang pengujian sekarang (dan mereka memiliki "peta sumber" non-standar dengan --debug-infodan mengurutkan komentar untuk Firebug dan Chrome beberapa versi kembali untuk beberapa waktu sekarang, sebelum yang standar keluar), dan placeholder (pada dasarnya, @extend tanpa benar-benar menulis kelas yang akan diperluas) ada di versi terbaru.
Shauna
@Shauna tidak yakin bagaimana mereka "secara teknis" berada di belakang ... KURANG memiliki "peta-sumber 'yang tidak standar sejak tahun lalu, dan sudah memiliki peta sumber standar dalam bangunan stabil terbaru, tidak seperti Sass saat ini.
Subhaze
@ Subhaze - Pada saat komentar sebelumnya, KURANG tidak memiliki sintaksis perpanjangan, jadi masih tertinggal dalam aspek itu. Selain itu, Sass telah menambahkan fitur "placeholder" di build stabil terbaru. Yang mengatakan, saya tidak akan membuat tambahan setiap beberapa bulan membandingkan fitur paling canggih dari setiap set. Seperti yang saya katakan dalam jawaban saya, keduanya sama, dan ketika satu menambahkan fitur yang tidak dimiliki, yang lain biasanya tidak jauh di belakang.
Shauna
6

Saya percaya bahwa pilihan Anda mungkin bergantung setidaknya pada apa yang Anda lakukan atau gunakan; Saya bekerja terutama dengan Rails dan mendukung Sass untuk CSS-nya sampai-sampai secara aktif disertakan saat membuat proyek baru. Jika Anda ingin menggunakan sesuatu seperti Bootstrap yang selalu populer, yang menggunakan Less secara default, Anda tidak perlu takut, karena ada banyak permata populer seperti bootstrap-sass yang memungkinkan Anda untuk menggunakannya di proyek Anda.

Ini benar-benar anekdotal, tetapi setiap kesan yang saya miliki secara pribadi adalah bahwa Sass memiliki komunitas yang lebih besar dan lebih banyak dukungan, dan sejujurnya dokumentasi resmi untuk Sass jauh lebih detail dan panjang daripada Less (meningkatkan ukuran font dan bantalan untuk segala sesuatu). tidak membuat teks lagi). Jika Anda ingin membahas secara spesifik, meskipun saya tidak sepenuhnya akrab dengan Less, hanya berdasarkan pada melihat kedua bahasa tersebut, Sass adalah satu-satunya yang memiliki warisan pemilih. Saya yakin ada perbedaan lain yang bisa dijabarkan orang.

Pada akhirnya, setiap orang memiliki preferensi masing-masing dan jika Anda menemukan yang satu lebih cocok untuk Anda daripada yang lain, Anda harus menggunakannya jika dapat melakukan apa yang Anda inginkan. Namun, dalam waktu saya menggunakan Sass, saya pasti menikmati kejelasan dan efektivitasnya, terutama mengingat bahwa saya berada di domain Rails.

Paul
sumber
Setuju, jika Anda sudah menggunakan Ruby, SASS masuk akal. Saya lebih dari seorang pria JavaScript jadi KURANG untuk saya!
WraithKenny
5

Saya tidak yakin apakah Less memiliki sesuatu yang sebanding, tetapi salah satu kelebihan utama Sass adalah Compass library, yang memberi Anda banyak idiom CSS umum, peretasan standar yang diperlukan untuk peramban yang lebih lama dan fungsionalitas CSS3 tanpa perlu awalan peramban, bukan untuk menyebutkan pembuatan CSS otomatis untuk gambar sprite.

Keuntungan lain - setidaknya bagi saya - adalah bahwa Sass memungkinkan sintaks seperti Python yang saya temukan jauh lebih mudah dibaca.

Andrea
sumber
Sebanding dengan Kompas? Saya tidak tahu, tetapi mereka memiliki Bootstrap Twitter.
WraithKenny
Yah, mereka adalah binatang yang berbeda. Bootstrap adalah seperangkat konvensi dan widget, sedangkan Compass adalah kumpulan mixin yang dapat digunakan kembali
Andrea
Juga, Bootstrap tersedia di Sass.
Shauna