Mengapa tidak realistis mengharapkan semua browser untuk mendukung standar yang sama? [Tutup]


12

Idealnya, kami akan memiliki browser yang berbeda yang mendukung standar yang sama dan kode yang sama menghasilkan hasil yang sama di semua browser.

Itu belum terjadi. Apa alasannya?


1
"Kode yang sama menghasilkan hasil yang sama di semua browser." - Bukan untuk itu standarnya. "Kode yang sama berfungsi dengan baik pada semua browser" lebih dekat.
tdammers

1
Saya telah menanyakan pertanyaan ini selama bertahun
billy.bob

1
Sayangnya, tidak ... Saya sudah berharap untuk ini sejak lama.
Corv1nus

Hanya sekali web seperti yang kita tahu sudah mati gopher.
dmckee --- ex-moderator kitten

Karena W3C adalah organisasi yang dijalankan dengan sangat buruk yang tidak dapat mengimbangi laju teknologi. Cukup banyak.
Jordan

Jawaban:


18

Tidak, itu tidak realistis, karena spesifikasi kadang-kadang membingungkan dan semua orang memahami sesuatu yang berbeda dari yang lain. Bagaimanapun, kita hanyalah manusia. Hanya ada satu standar sejati ketika hanya ada satu vendor dengan satu versi produk.

Joel telah menulis artikel yang bagus tentang hal ini, yang disebut Headset Mars .

Saya pikir saya akan mengutip dia di sini, karena ini adalah penjelasan terbaik tentang mengapa kita tidak akan pernah melihat ini selama vendor yang berbeda terlibat:

Dokumen-dokumen itu sangat membingungkan. Spesifikasi penuh dengan pernyataan seperti "Jika kotak blok saudara (yang tidak mengapung dan tidak benar-benar diposisikan) mengikuti kotak run-in, kotak run-in menjadi kotak inline pertama dari kotak blok. Run-in tidak dapat berjalan ke blok yang sudah dimulai dengan run-in atau itu sendiri adalah run-in. " Setiap kali saya membaca hal-hal seperti itu, saya bertanya-tanya bagaimana orang benar sesuai dengan spesifikasi.

Juga, ada persaingan dan evolusi di pasar. Ambil contoh autocomplete-box. Setiap browser utama sudah memilikinya, tetapi tidak ada standar yang ditentukan. W3C terlalu lambat dan pada saat standar tiba, sudah ada 5 implementasi berbeda dengan perilaku berbeda di luar sana, yang perlu Anda dukung juga, jika Anda ingin kompetitif. Contoh utama lain untuk masalah ini adalah penyematan video.

Yang mengatakan: Selama Anda perlu mendukung berbagai browser dan lingkungan yang berbeda, bersiaplah untuk melakukan penyesuaian.


11

Tidak, karena W3C dalam banyak spesifikasi memberikan tanggung jawab implementasi suatu tempat kepada pelaksana UA (pelaksana peramban). Mengapa saya mengatakan itu, karena saya biasanya menulis artikel saya langsung dari spesifikasi W3C dan melihat kasus-kasus ini. Sebagai contoh, W3C mengatakan bahwa browser harus mengambil persetujuan pengguna tentang berbagi posisi mereka (melalui API Geolokasi ), tetapi tidak mengatakan bagaimana mereka harus memintanya. Ini dapat menghasilkan berbagai jenis pesan yang ditampilkan secara berbeda (popup, slide-down, dll.) Di berbagai browser.

Secara umum, kita dapat mengatakan bahwa:

Selama ada beberapa implementasi persyaratan pluralistik , konsistensi antara browser sulit dicapai .

Kami hanya dapat melihat browser yang konsisten ketika W3C secara imperatif memberi tahu para pelaksana browser apa yang harus dilakukan.


Bagus, Saeed =) +1
Falcon

Terima kasih @ Falcon. Ini jenis pertanyaan saya dua. Namun, yang mendapat banyak down-vote, dan dihapus: D. Saya pikir kita semua tahu bahwa dalam hal ini, IE adalah browser yang paling tidak standar.
Saeed Neamati

7

Tidak akan terjadi dalam bentuk yang Anda gambarkan.

Namun; jika Anda membuat kode secara konservatif, tidak perlu banyak untuk menulis kode yang dapat diandalkan dan dapat diprediksi pada semua browser baru. Kami telah datang jauh selama dekade terakhir - bahkan IE saat ini mengimplementasikan sebagian besar rekomendasi W3C dengan benar, cukup untuk benar-benar membuat situs web browser-agnostik.

Tentu saja, jika Anda ingin melakukan hal-hal yang tidak ada dalam rekomendasi, atau menggunakan fitur yang dispesifikasikan secara samar, atau masih diimplementasikan secara tidak benar (atau tidak sama sekali), maka Anda melakukannya sendiri.


1

Ini sangat tidak mungkin terjadi segera - pada kenyataannya, saya akan mengatakan bahwa ketika / jika itu terjadi, itu adalah pertanda kuat bahwa dunia telah pindah, dan tidak peduli lagi tentang browser web. .

Masalahnya cukup sederhana: sebagian besar batasan penulisan standar baru untuk hal-hal yang lebih keren yang bisa dilakukan browser , adalah kurangnya (bahkan masuk akal) kesesuaian dengan standar yang ada. Melihat itu dari arah yang sedikit berbeda, browser menit sesuai dengan standar yang ada (atau bahkan datang cukup dekat dengan sesuai), itu hampir pasti bahwa setidaknya beberapa orang akan mulai berpikir "Tapi tidak akan keren jika kita bisa ... ", dan mereka kemudian akan melakukan salah satu dari dua hal: mereka akan mengimplementasikan ide mereka dalam satu browser, dan kemudian bekerja untuk menstandarisasi ide mereka (hampir tidak bisa dihindari sebelum browser lain mengimplementasikannya), atau mereka akan bekerja untuk menulis standar untuk perilaku itu, meskipun belum ada browser yang mengimplementasikannya.

Intinya adalah bahwa penerapan standar lintas browser hampir pasti tertinggal dari penemuan standar baru yang dapat digunakan untuk menyesuaikan. Satu-satunya cara browser dapat mengejar ketinggalan adalah jika orang berhenti menulis / mendesain hal-hal baru untuk dilakukan browser.

Pada saat yang sama, saya merasa berkewajiban untuk menunjukkan bahwa kurang lebih kebalikannya juga benar: ini adalah seperangkat standar yang terus berkembang yang semakin dekat dengan peramban browser. Itu tidak terlalu lama yang lalu, bahwa yang terbaik mencetak browser mendapat pada tes Acid3 adalah 93/100. Seperti yang terjadi, skor yang persis sama dengan yang didapat IE saat ini ...


0

Idealnya, kami akan memiliki browser yang berbeda yang mendukung standar yang sama dan kode yang sama menghasilkan hasil yang sama di semua browser.

Itu menimbulkan pertanyaan mengapa kita membutuhkan browser yang berbeda. Jika pada dasarnya semua melakukan hal yang sama maka satu browser akan cukup untuk semua. Itu memang ideal. Tidak ada lagi duplikasi usaha yang tidak berguna dan tidak ada lagi kode khusus browser. Orang akhirnya bisa mulai membangun di atas fondasi yang kuat.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.