Saya mempelajari Rails dan saya telah melihat mesin template ini. Saya tidak punya pengalaman dengan mereka (hanya erb).
Tapi karena saya seorang pemula, saya sangat bingung. Mana yang Anda sarankan dan mengapa? Erb, Haml atau Slim? Tolong beri tahu alasan Anda memilih salah satu daripada yang lain. Dan jika Anda memiliki rekomendasi lain, beri tahu kami.
EDIT: Saya TIDAK mencari pemenang di sini. Saya hanya ingin mendengar pendapat Anda tentang mereka, sintaksisnya, kecepatan eksekusi, dan sebagainya.
ruby-on-rails
haml
erb
slim-lang
Omid Kamangar
sumber
sumber
Jawaban:
ERB bagus terutama jika Anda memiliki perancang web yang akan bekerja pada HTML biasa dan tidak tahu haml atau slim. Dengan cara ini dia bisa menulis HTML dan Anda bisa menyematkan logika ruby dengan tag yang tepat.
Jika Anda bekerja pada HTML dan logika ruby, atau desainer Anda siap untuk mempelajari sesuatu yang baru (seperti HAML), saya akan memilih HAML. Ini jauh lebih ramah rubi, mengurangi jumlah karakter dan lebih mudah dibaca daripada ERB.
Misalnya (diambil dari situs resmi HAML ):
Di ERB tampilan Anda akan terlihat seperti ini:
Sedangkan di HAML akan terlihat seperti ini:
Jauh lebih bersih!
Adapun perbedaan antara HAML dan SLIM - Saya tidak pernah benar-benar bekerja dengan SLIM tapi saya rasa ini masalah selera - lihat kedua sintaksisnya dan putuskan mana yang terlihat lebih baik di mata Anda. Saya kira tidak ada pemenang pasti di antara keduanya (HAML / SLIM).
sumber
a href="foo"
.Dua keuntungan besar menggunakan slim over haml:
Slim saat ini sekitar delapan kali lebih cepat dari haml.
Slim mendukung streaming HTTP, sedangkan HAML tidak.
Slim memiliki sintaks yang lebih alami:
a href="foo.html"
sumber
Di luar kepalaku inilah yang aku pikirkan
ERB :
Pro
Kontra
HAML
Pro
Kontra
sumber
Pertanyaannya bagi saya adalah, apakah Anda lebih suka meletakkan
%
sebelum setiap tag atau|
sebelum setiap blok teks baru?Ramping:
Haml:
Satu hal lagi yang harus diperhatikan: haml mengasumsikan spasi kosong di antara baris baru ( hapus spasi kosong di haml ) sementara slim mengasumsikan tidak ada spasi (Tambahkan spasi kosong di Slim di sini dan di sini )
sumber
|
untuk setiap blok teks di atas%
untuk setiap tag. Ada lebih banyak tag daripada blok teks literal. Kemenangan kecil, tapi semantik bagi saya dengan slim adalah bahwa setiap html literal mentah dengan<>
tag yang digunakan didahului dengan eksplisit|
. Saya lebih suka "semuanya ramping kecuali Anda secara eksplisit membuatnya literal dengan|
" di atas "semuanya literal sampai Anda membuatnya haml dengan%
.attr="value"
), sedangkan Haml lebih mirip Ruby ({key: "value"}
seperti Hash).https://github.com/scalp42/hamlerbslim - adalah tolok ukur independen yang menunjukkan Slim dan Erb sebagai pemenang, dari segi performa (ramping cenderung juga mengurangi ukuran keluaran HTML.)
Pendapat pribadi saya adalah bahwa secara keseluruhan, Slim dan Haml akan menghemat waktu Anda (== uang) dalam hal pemeliharaan, asalkan Anda memiliki orang-orang yang paham Haml / Slim yang menjaga pandangan Anda.
Jika Anda tidak memiliki orang-orang itu, Erb jelas merupakan cara yang tepat, karena terlepas dari keinginan terbaik di dunia, ada banyak orang yang sangat murah tersedia yang dapat bekerja dengan HTML / Erb, tetapi menganggap Haml / Slim lengkap Misteri.
Yang terbaik dari semua kasus, latih orang-orang ini untuk menggunakan Slim atau setidaknya biarkan mereka terpapar, dan pertahankan jumlah orang yang "mengerti".
sumber