Jadi apakah satu perkara yang boleh dilakukan oleh orang ramai ialah menjadikan laman web mereka lebih baik? Untuk menjawabnya, mari kita melangkah mundur dalam masa ...
Tahun 1998, dan web semakin meningkat. Dalam usaha untuk memberikan gambaran keseluruhan tahap seni bina www, Tim Berners-Lee-ya, bahawa Tim Berners-Lee-menerbitkan sebuah kertas yang dipanggil "Senibina Web dari 50,000 kaki". Laporan ini merangkumi banyak perkara: rundingan kandungan, web semantik, HTML, CSS, dan URI sejuk (yang tidak berubah), antara lain.
Dalam artikel itu, Berners-Lee juga mencatatkan beberapa prinsip reka bentuk yang sangat awal. Salah satu daripada prinsip -prinsip tersebut adalah "peraturan kuasa paling sedikit."
Peraturan kuasa paling sedikit seperti ini:
Apabila merancang sistem komputer, seseorang sering berhadapan dengan pilihan antara menggunakan bahasa yang lebih atau kurang berkuasa untuk menerbitkan maklumat, untuk menyatakan kekangan, atau untuk menyelesaikan masalah. [...] "Peraturan kuasa paling sedikit" mencadangkan memilih bahasa yang paling kuat yang sesuai untuk tujuan tertentu.
Kami mempunyai tiga bahasa utama yang terdapat di web untuk hujung depan:
Secara semantik menggambarkan kandungannya
Mengawal persembahan dan susun atur
Menambah interaktiviti dan tingkah laku
Peraturan kuasa paling sedikit mencadangkan mencuba dan melakukan sebanyak mungkin menggunakan HTML sebelum menggunakan CSS. Sebaik sahaja CSS tidak lagi mencukupi, ambil untuk JavaScript - tetapi hanya jika anda benar -benar perlu.
Seperti yang dikatakan oleh Derek Featherstone dengan baik:
Dalam timbunan depan web-HTML, CSS, JS, dan ARIA-jika anda dapat menyelesaikan masalah dengan penyelesaian yang lebih mudah lebih rendah dalam timbunan, anda sepatutnya. Ia kurang rapuh, lebih mudah, dan hanya berfungsi.
? Tahan: Ini tidak bermakna anda harus menetapkan saiz fon dan warna melalui markup - satu perkara yang biasa kami lakukan dalam hari -hari "tua" di web. Kes pada titik: Salah satu peraturan yang diliputi dalam sekeping Berners-Lee adalah pemisahan bentuk dan kandungan.
Ia telah hampir 25 tahun sejak Berners-Lee menerbitkan artikel itu. Namun, entah bagaimana, mesej yang dihantarnya tidak dapat dilalui, dan banyak pemaju - tetapi tidak semua - tidak menyedarinya. Ambil keadaan ini, Drew DeVault tidak lama dahulu:
Penyemak imbas saya telah kompeten dengan sempurna untuk mengemukakan borang HTML selama 28 tahun yang lalu, tetapi untuk beberapa sebab bodoh sesetengah pemaju memutuskan untuk mengimplementasikan semula borang dalam JavaScript, dan sekarang saya tidak dapat membayar bil elektrik saya tanpa membuka alat dev.
Malangnya, ini bukan kes terpencil tetapi fenomena yang biasa. Sering kali, saya melihat laman web dan perpustakaan yang cuba pandai atau cuba mencipta semula roda - terutamanya dengan membuang sekumpulan JavaScript di atasnya. Dalam usaha mereka untuk berbuat demikian, mereka mencapai kebalikan dari apa yang mereka targetkan: laman web tersebut menjadi kurang berfungsi, kurang dapat diakses, atau - lebih buruk lagi - tidak berfungsi sama sekali dalam keadaan tertentu.
Walaupun bentuk mungkin menjadi contoh yang biasa, terdapat lebih banyak situasi di mana memohon peraturan kuasa paling sedikit memberikan hasil yang lebih baik:
Dalam semua contoh ini, kita boleh memindahkan beberapa fungsi dari atas ke lapisan yang lebih rendah. Berners-Lee akan berbangga dengan kami.
Dengan memilih teknologi yang lebih rendah dalam timbunan web, lebih dekat dengan teras platform web, kami juga mendapat manfaat daya tahan terbina dalam kegagalan.
JavaScript amat mengerikan kerana gagal. Satu skrip yang gagal memuatkan atau mendapat terkejut dalam proses, atau satu hujah yang salah kepada fungsi, dan seluruh aplikasi anda mungkin tidak lagi berfungsi. Jika mesej ralat seperti "tidak dapat membaca harta x of undefined" terdengar biasa kepada anda, anda tahu apa yang saya bicarakan.
CSS, sebaliknya, sangat baik untuk gagal. Walaupun anda mempunyai ralat sintaks di salah satu helaian gaya anda, seluruh CSS anda masih akan berfungsi. Sama dengan HTML. Ini adalah bahasa yang memaafkan.
Jika anda meragui mengapa anda harus menggunakan peraturan kuasa paling sedikit, Jeremy Keith membawa kami jawapan dalam artikelnya "Menilai Teknologi":
Kami cenderung untuk bertanya "Sejauh mana ia berfungsi?", Tetapi apa yang anda harus benar -benar bertanya ialah "Sejauh mana ia gagal?"
Jeremy Keith
Laman web berprofil tinggi yang boleh mendapat manfaat daripada peraturan kuasa paling sedikit adalah laman web Nike. Apabila anda melawat laman web mereka dengan JavaScript dilumpuhkan, anda tidak dapat melihat apa -apa imej, dan anda juga tidak dapat memerintahkan sebarang kasut.
Ini terlalu bergantung pada JavaScript tidak perlu kerana semua ciri-ciri yang rosak boleh dibina dengan teknologi yang lebih rendah dalam timbunan frontend:
☝️ Jika anda tertanya -tanya mengapa seseorang akan melayari web dengan JavaScript dilumpuhkan: ia sering bukan pilihan mereka tetapi faktor luaran yang mengganggu. Lihat "Semua orang mempunyai JavaScript, bukan?" untuk penjelasan yang baik mengenai topik ini.
Malah pesalah yang lebih teruk dalam kategori ini adalah tapak berprofil tinggi seperti Instagram dan Twitter. Tanpa JavaScript laman web ini tidak berfungsi sama sekali. Mereka sama ada memberi anda amaran, atau hanya kosong. Sejak bila JavaScript diperlukan untuk menunjukkan teks dan imej di web?
Ia tidak sepatutnya buruk seperti contoh Nike yang terpencil ini. Kadang -kadang ia adalah komponen yang lebih kecil yang enggan bekerja apabila JavaScript gagal. Ambil antara muka tab sebagai contoh. Walaupun anda dapat menjumpai banyak Perpustakaan JavaScript yang menyediakan fungsi ini, kicker adalah bahawa anda tidak memerlukan JavaScript untuk itu, kerana HTML, CSS, dan Aria sendiri sudah mampu mendapatkan anda jauh.
Sebaik sahaja anda mempunyai lapisan asas di tempat, gunakan JavaScript untuk meningkatkan pengalaman lagi. Fikirkan JavaScript sebagai peningkatan dan bukannya keperluan.
Begitu juga untuk ciri -ciri CSS tertentu yang mungkin atau mungkin tidak tersedia. Sediakan gaya asas, dan apabila ciri tersedia - dapat dikesan menggunakan @supports - meningkatkan hasil yang anda miliki.
Pendekatan ini dikenali sebagai peningkatan progresif : anda menambah fungsi sebagai lebih banyak ciri yang tersedia, menjadikan hasilnya lebih baik sejauh pengalaman berjalan, tetapi tidak begitu banyak ciri yang tidak dapat berfungsi tanpa berkembangnya tambahan.
Dan untuk penyemak imbas yang belum menyokong ciri baru tertentu, anda boleh mencuba dan mencari polyfill yang menyediakan fungsi tersebut kepada penyemak imbas.
Sejak hari -hari awal web, kami telah melihat platform web mendapat banyak ciri baru dari masa ke masa. Unsur -unsur HTML baru ditakrifkan, JavaScript (bahasa) telah matang, dan CSS telah mendapat banyak ciri baru yang kuat untuk susun atur bangunan, unsur -unsur animasi, dll.
Perkara -perkara yang mustahil bertahun -tahun yang lalu dan yang hanya boleh dilakukan dengan bergantung kepada teknologi luaran, seperti Flash, kini dibina ke dalam penyemak imbas itu sendiri.
Contoh klasik adalah ciri -ciri jQuery yang diperkenalkan. Lebih sepuluh tahun yang lalu, JQuery adalah perkara pertama yang akan dimasukkan ke dalam projek. Hari ini, itu tidak lagi berlaku, kerana platform web telah terperangkap dan kini mempunyai document.queryselectorall (), element.classlist, dan lain-lain. Built-in-semua ciri yang diilhamkan atas ciri-ciri jQuery memberi kami. Anda boleh mengatakan bahawa jQuery adalah polyfill sebelum polyfills walaupun dipanggil polyfills.
Walaupun jQuery mungkin menjadi contoh yang biasa, terdapat banyak situasi lain di mana web telah terperangkap:
Tema utama di sini adalah bahawa ciri -ciri ini tidak lagi bergantung pada polyfill atau perpustakaan luaran tetapi telah beralih lebih dekat ke teras timbunan web. Web menangkap.
Walaupun sesetengah API baru ini boleh menjadi abstrak, terdapat perpustakaan di luar sana bahawa anda boleh memasuki kod anda. Contohnya ialah Redaxios, yang menggunakan Fetch di bawah tudung sementara juga mendedahkan API yang serasi dengan pemaju, Axios. Ia tidak akan mengejutkan saya jika kaedah kemudahan ini akhirnya meleleh ke platform web.
Apa yang Berners-Lee menulis hampir 25 tahun yang lalu berdiri ujian masa. Terserah kepada kami, pemaju, untuk menghormati mesej itu. Dengan memeluk apa platform web memberi kita - bukannya cuba melawannya - kita boleh membina laman web yang lebih baik.
Pastikan ia mudah. Memohon peraturan kuasa paling sedikit. Bina dengan peningkatan progresif dalam fikiran.
HTML, CSS, dan JavaScript - dalam perintah itu.
Atas ialah kandungan terperinci Merangkul platform. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!