Apakah Saat Ini Ada Terlalu Banyak CSS? Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Apakah Ada Terlalu Banyak CSS Sekarang?

Sebagai pengembang front-end, kami mengharapkan banyak hal selama bertahun-tahun — cara untuk memusatkan berbagai hal di CSS, merangkum gaya, mengatur rasio aspek elemen, mendapatkan kontrol yang lebih halus atas warna kami, memilih elemen berdasarkan properti anak-anak, mengelola lapisan kekhususan, mengizinkan elemen untuk merespons lebar orang tua mereka... daftarnya terus bertambah.

Dan sekarang setelah kita mendapatkan semua yang kita inginkan dan lebih banyak lagi, beberapa dari kita bertanya — apakah kita sekarang memilikinya? terlalu banyak CSS?

Saat-saat gelap

Jika Anda, seperti saya, muncul dalam pengembangan web selama masa CSS, gagasan memiliki terlalu banyak tampaknya menggelikan.

Kembali pada hari-hari, hampir seluruh deskripsi pekerjaan pengembang front-end terdiri dari berurusan dengan keterbatasan CSS. Itu com.clearfix hack untuk membersihkan pelampung, 100% peretasan padding untuk membuat div persegi, belum lagi menerapkan properti yang tidak terkait secara semi-acak untuk mengelabui Internet Explorer agar melakukan penawaran Anda.

Pada saat itu, browser adalah musuh yang licik yang harus dikalahkan melalui mantra licik dan misterius. Hari ini, properti yang sempurna sedang menunggu dan tinggal copy-paste di MDN.

Era baru CSS

Tetapi hari ini semuanya sangat berbeda: tidak hanya segalanya bergerak lebih cepat, tetapi juga vendor browser sebenarnya peduli tentang membuat pengembang senang! Aku tahu, aku juga tidak percaya. Tapi saya menjalankan tahunan Status CSS survei pengembang (yaitu buka sekarang - ambillah!) dan saya tahu pasti bahwa tim pengembangan browser menggunakan hasil survei (di antara banyak titik data lainnya) untuk menginformasikan peta jalan mereka.

Di luar ini, Google juga telah membantu membiayai pekerjaan saya di survei, dan bahkan merekrut Lea Verou untuk memimpin pemilihan pertanyaan survei tahun ini.

Ini bukan hanya Google. Sudah menjadi mode untuk memukul Safari dan Apple secara umum (kadang-kadang memang sepatutnya begitu), tetapi Anda tidak dapat menyangkal betapa bersemangatnya seseorang seperti Jennifer Simmons adalah tentang mendengarkan pengembang dan meningkatkan web.

Dan vendor browser tidak hanya meningkatkan CSS sendiri; mereka bahkan berkolaborasi melintasi garis pertempuran dengan inisiatif seperti Interop 2023 untuk membantu mengurangi inkonsistensi dan inkompatibilitas antar browser.

Terlalu banyak hal yang baik?

Hasil dari semua ini adalah bahwa kita sekarang dihadapkan pada rasa malu akan kekayaan CSS, dan mungkin sulit untuk mengejar ketinggalan. Kotak CSS mulai didukung di browser utama hampir lima tahun yang lalu, namun saya masih memeriksa referensi setiap kali saya menggunakannya. Dan sekeren jaringan bawah tanah sepertinya, saya bahkan belum mencobanya.

Selama proses pemilihan fitur CSS mana yang akan disertakan atau tidak dalam Status CSS, Lea dan saya sendiri mempertimbangkan banyak fitur, tetapi kami juga menolak beberapa fitur. Beberapa contoh fitur yang kami tidak termasuk adalah:

  • Grafik linear() fungsi pelonggaran, yang memungkinkan Anda menentukan kurva easing dengan lebih banyak perincian. 
  • Grafik env() fungsi, yang memungkinkan Anda menggunakan variabel yang ditentukan oleh browser atau perangkat. 
  • Grafik scrollbar-width property, yang membantu mengontrol tampilan scrollbar. 
  • Grafik margin-trim properti, yang memungkinkan Anda mengontrol perilaku margin turunan container. 

Ini semua berpotensi sangat berguna, dan semuanya akan menjadi berita besar selama kekeringan CSS beberapa tahun terakhir. Namun dalam konteks hari ini mereka harus berjuang untuk mendapatkan perhatian dengan pengumuman yang jauh lebih besar, seperti pemilih has() atau CSS nesting!

Tidak tertarik

Sebagai Silvestar Bistrović menulis, dia “tidak terlalu tertarik dengan semua fitur CSS baru ini”. Ini menemukan gema di Twitter, dengan Sara Soueidan menyatakan bahwa apa yang dia pedulikan adalah "kepraktisan, bukan seberapa mengkilap fitur yang terlihat saat ini."

Ini mungkin tampak seperti sikap negatif, tapi saya pikir itu bisa dimengerti. Tidak ada yang bisa diharapkan untuk mengikuti begitu banyak fitur baru!

Konsekuensi lain yang tidak diinginkan (atau mungkin, dimaksudkan?) adalah bahwa semakin kompleks CSS, semakin meningkatkan standar untuk setiap perusahaan baru yang ingin mengembangkan mesin browser — belum lagi beban kerja tambahan dalam hal memelihara dan mendokumentasikan semua fitur-fitur baru ini. 

penjangkauan CSS

Ada juga kekhawatiran yang sangat valid bahwa CSS mungkin bercabang ke area yang tidak cukup cocok untuk ditangani. Itu hal lain yang ditunjukkan Sara Soueidan ketika bereaksi terhadap implementasi eksperimental Toggles CSS baru (ini tiket membahasnya):

Banyak yang telah membuat poin yang sangat masuk akal bahwa perilaku semacam ini paling baik ditangani oleh elemen HTML baru daripada mengelola status sakelar murni melalui CSS, dan bahwa CSS mungkin bukan media terbaik untuk memastikan masalah aksesibilitas ditangani dengan benar. 

Ketika CSS mengambil alih sesuatu yang sebelumnya ditangani melalui JavaScript, ini umumnya dipandang sebagai hal yang baik, karena sering kali mengurangi jumlah kode yang harus dimuat oleh browser. Jadi, saya sangat optimis tentang CSS Toggles dan percaya bahwa Kelompok Kerja CSS akan menangani masalah komunitas dengan baik. Tetapi mungkin akan tiba suatu hari ketika kita mulai khawatir bahwa CSS mungkin berkembang melampaui batasnya dan melanggar tanggung jawab HTML dan JavaScript.

Harapan baru

Dan mungkin inilah yang perlu diubah: mungkin kita harus membuang harapan yang harus diketahui oleh pengembang CSS semua dari CSS? 

Harapan ini berasal dari hari-hari di mana CSS adalah renungan, sintaksis kecil yang mengganggu yang harus Anda pelajari untuk membuat tombol Anda biru dan tebal seperti yang diminta klien. Tapi saya pikir kita perlu menerima bahwa CSS hari ini mungkin terlalu luas untuk dikuasai satu orang, terutama di samping tugas front-end lainnya.

As Michelle Barker dikatakan:

Dan di situlah saya, pada akhirnya, mendarat. Saya telah berdamai dengan fakta bahwa saya mungkin tidak akan pernah menggunakan — atau bahkan mengetahui tentang — semua fitur CSS yang mungkin. Dan ini datang dari seseorang yang menjalankan survei tentang CSS!

Tetapi fitur-fitur baru ini pasti akan berguna untuk seseorang. Seseorang akan menulis posting blog tentang mereka, membuat CodePens keren dengan mereka, berbicara tentang mereka. Orang itu akan menjadi pengembang yang keren, muda, energik yang masih memiliki semua rambut mereka. Dengan kata lain, itu bukan saya — dan itu tidak masalah. 

Dan mungkin Anda khawatir bahwa pengembang baru ini akan kewalahan dengan semua hal yang harus mereka pelajari sekaligus. Tapi ingatlah semua hal yang mereka lakukan tidak akan harus belajar tentang, justru karena telah digantikan oleh alternatif yang lebih baru ini. Aku tahu aku akan menerima kesepakatan itu kapan saja.

Tetapi pikirkanlah: dalam beberapa tahun terakhir, kami tidak hanya melihat peningkatan besar dalam jumlah perangkat yang perlu kami layani, kami juga mulai menyadari bahwa kami semua menggunakan web dengan cara yang sedikit berbeda, baik karena untuk disabilitas, konteks saat ini, atau hanya preferensi pribadi. Bukankah CSS harus beradaptasi dengan kenyataan baru ini?

Sekarang, saya harus mengakui ini semua membuat saya merasa sedikit nostalgia… jadi maafkan saya sementara saya membersihkan beberapa pelampung, hanya untuk waktu yang lama.


Seperti yang saya sebutkan, tahunan Status survei CSS sekarang terbuka. Apakah menurut Anda terlalu banyak CSS atau tidak, survei adalah cara yang bagus untuk memberi tahu pengembang browser tentang perasaan Anda, jadi pergi mengisinya jika Anda memiliki 10 menit. 

Stempel Waktu:

Lebih dari Trik CSS