Saya telah menjadi pengembang web selama hampir 10 tahun dan saya sudah terbiasa mencoba untuk tidak menggunakan JavaScript jika memungkinkan. Saya tidak berbicara tentang membangun aplikasi web di sini, tetapi situs web yang digerakkan oleh basis data.
Apakah ini pendekatan yang baik / dihormati?
javascript
Ryan
sumber
sumber
Jawaban:
Ini adalah naluri kebanyakan programmer untuk mengurangi semua jenis kode. Semakin sedikit kode, semakin sedikit kompleksitas, dan semakin sedikit poin kemungkinan kesalahan dalam kode tersebut. Aturan ini berlaku untuk Javascript sama seperti bahasa lainnya. Anda hanya menjunjung tinggi tradisi.
Gunakan Javascript sesuai kebutuhan / yang diinginkan dalam halaman HTML ... tetapi tidak ada alasan untuk menggunakannya ketika sebenarnya tidak diperlukan.
sumber
10 tahun yang lalu, itu mungkin ide yang bagus. Saat ini sebagian besar bagian internet (- setidaknya beberapa bagian yang sangat populer -) menjadi hampir tidak dapat digunakan, atau hanya menyediakan fungsionalitas yang sangat terbatas, ketika menonaktifkan Javascript di browser. Jadi IMHO hari ini Anda dapat mengharapkan pengguna Anda mengaktifkan Javascript.
Dan ada banyak kerangka kerja seperti JQuery untuk mengatasi ketidakcocokan browser. IMHO tidak ada alasan nyata hari ini mengapa Anda harus membatasi diri dengan tidak menggunakan Javascript untuk Situs Web Anda - satu-satunya alasan mungkin karena Anda tidak menggunakannya.
EDIT: pertanyaan yang berbeda adalah: Jika Anda harus memberikan fungsionalitas minimal situs web Anda ketika pengunjung Anda tidak memiliki JS diaktifkan - itu sebagian besar ide yang baik, karena alasan beberapa komentator telah menunjukkan.
EDIT2: pasti untuk setiap situs web, kita harus menemukan keseimbangan antara ramah pengguna, ramah mesin pencari dan upaya pengembangan. IMHO hari ini Javascript dapat membantu meningkatkan keseimbangan itu - jika digunakan dengan bijak. Mengatakan bahwa, saya pikir tidak perlu meminimalkan penggunaan Javascript secara umum lagi untuk menjaga keseimbangan itu. Gunakan dengan hati-hati, dan jangan menjelekkannya.
sumber
Memiliki situs yang dapat digunakan tanpa JavaScript berarti tersedia untuk audiens seluas mungkin. Meskipun benar bahwa sebagian besar browser mendukung JavaScript dan mayoritas pengguna membiarkannya secara default, Anda tidak dapat mengandalkan itu dengan pasti. Bagaimanapun, tidak semua yang mengakses situs Anda adalah browser; jika Anda ingin situs Anda diindeks dengan benar oleh mesin pencari seperti Google, maka GoogleBot harus dapat menavigasi situs Anda tanpa JavaScript.
Ada juga perangkat lunak perambanan web khusus di mana JavaScript tidak tersedia atau tidak berfungsi seperti yang diharapkan. Layar-membaca atau perangkat lunak Braille yang digunakan oleh tunanetra, misalnya. Ada juga lingkungan di mana memori terbatas dan memiliki javascript dalam jumlah besar dapat membuat pengalaman menjelajah tidak menyenangkan atau bahkan tidak praktis, seperti browser ponsel cerdas.
Anda harus melihat ke dalam konsep "peningkatan progresif", di mana Anda membangun situs untuk bekerja tanpa javascript, kemudian menambahkan lapisan javascript di atas untuk meningkatkan pengalaman pengguna. Dengan begitu Anda akan memiliki situs yang setidaknya dapat digunakan oleh orang-orang tanpa javascript.
Anda tidak perlu berusaha keras untuk menyediakan setiap fitur yang mungkin Anda rencanakan untuk diimplementasikan dengan JavaScript ke browser non-JavaScript, tetapi tetap penting untuk setidaknya meninggalkan case use dasar yang tersedia tanpa JavaScript. Mampu menjelajahi situs jelas merupakan daftar teratas, tetapi jika Anda membangun situs e-commerce, membuat proses checkout yang bergantung pada JavaScript akan konyol karena dapat membuat Anda kehilangan penjualan.
sumber
Jawaban lain tampaknya berfokus pada "saya tidak pernah menggunakan JavaScript", jadi saya pikir mereka tidak mengerti. Anda seharusnya tidak menggunakan JavaScript jika Anda tidak membutuhkannya. Beberapa orang menggunakan JavaScript untuk semuanya :
href
masuk akal)Manfaatnya adalah hal-hal seperti:
href
tautan cadangan membantu mesin pencari, pengguna yang ingin membuka tautan di tab lain, dan pengguna yang membenci JavaScriptTentu saja, AJAX sangat keren, dan begitu juga halaman yang dinamis, jadi jangan membuangnya hanya karena beberapa orang tidak membutuhkannya.
Maksud saya adalah, belajar bagaimana melakukan sesuatu tanpa JavaScript itu baik, meminimalkan JavaScript itu baik, dan memiliki cadangan ketika JavaScript tidak berfungsi dengan baik, tetapi tidak ada alasan untuk menghindari fitur karena mereka membutuhkan JavaScript.
sumber
Merupakan ide bagus untuk menghindari fungsi yang tidak perlu, titik. Kerangka kerja seperti jQuery membuatnya sangat mudah untuk menambahkan embel-embel yang masuk akal untuk ditambahkan, tetapi terkadang tidak. Contohnya:
... atau ...
Saya tidak akan menghindari menggunakan JS, tapi saya berhati-hati untuk tidak menjengkelkan, sambil mencari mesin yang lebih lambat. Hal yang sama berlaku dengan beberapa hal baru yang mewah yang kami dapatkan di CSS3 - seperti drop shadows ... jika digunakan secara berlebihan mereka dapat membuat seseorang dengan mesin bertenaga rendah memiliki pengalaman yang sangat buruk.
Pengecualian untuk ini mungkin menulis kontrol ujung depan untuk berbagai jenis peralatan, di mana mereka harus benar-benar bekerja dengan JS dinonaktifkan (mungkin kebijakan keamanan yang ketat pada jaringan manajemen pusat data tidak menentukan JS). Jadi hal di atas harus diambil sesuai dengan persyaratan apa pun yang Anda miliki.
sumber
Saya percaya bahwa menjadi pengembang web yang relatif baru dan muda (sekitar 4 tahun), saya harus banyak meneliti hal ini karena javascript ada di mana-mana.
Apa yang saya coba lakukan pada proyek saya adalah memastikan bahwa situs berfungsi tanpa javascript, lalu tambahkan javascript yang masuk akal (validasi sisi klien, peningkatan UI, dll). Ini adalah semacam peningkatan progresif dan menangani SEO, javascript dinonaktifkan, dan ketidakcocokan browser yang lebih lama.
Pertanyaan yang sama ini telah ditanyakan pada SO, tetapi saya tidak bisa karena cinta saya ingat di mana.
sumber
Penggunaan JavaScript dapat dibatasi dalam beberapa kasus:
JS memiliki banyak fitur, yang tidak dapat diganti dengan kode sisi server. Selain yang di atas, saya tidak berpikir akan ada argumen yang masuk akal untuk membatasi penggunaan JS.
sumber
" Situs web yang digerakkan oleh basis data " adalah kunci jawabannya. Ada dua cara untuk membuat situs web, dan jumlah Javascript yang diizinkan tergantung pada mana yang Anda gunakan, sungguh. Anda dapat membangun:
Situs web konten-sentris . Dalam kasus pertama, kata-kata ajaib adalah "peningkatan progresif"; batasi javascript untuk fungsi yang berlebihan yang dapat disediakan dengan akses klasik ke konten melalui HTTP biasa.
Aplikasi web . Untuk aplikasi, Anda menggunakan web sebagai platform perangkat lunak. Aplikasi mengandalkan beberapa asumsi pada perangkat lunak yang tersedia - browser modern, versi terbaru dari perpustakaan javascript populer, akses desktop dengan mouse dan / atau tablet dengan multi-touch.
Web sebagai platform perangkat lunak
Persyaratan akses minimum OK jika Anda benar-benar membangun aplikasi - Anda menargetkan beberapa platform spesifik untuk mendapatkan fitur-fitur canggih yang tidak dapat dibangun sebaliknya. Ini seperti mengembangkan untuk Python atau Java atau .Net. Jangan biarkan kata kunci seperti HTML5 dan janji "lari ke mana saja" menipu Anda; Anda dapat memiliki kode portabel antar perangkat hanya selama seluruh platform didukung pada perangkat tersebut. Setiap perubahan pada tumpukan pengembangan, dan perangkat lunak akan rusak.
Jadi harga yang harus dibayar adalah bahwa Anda mengikuti target yang bergerak, karena versi baru platform dirilis; Anda harus mengejar ketinggalan agar aplikasi Anda tetap berfungsi saat platform berevolusi. Satu-satunya manfaat yang Anda dapatkan adalah mekanisme pengiriman semi-universal untuk aplikasi Anda yang tidak bergantung pada paket atau toko aplikasi; tetapi Anda kehilangan fitur utama yang membedakan web dari sistem komputer jaringan sebelumnya.
Web sebagai pengiriman konten
Situs web konten-sentris adalah binatang yang berbeda; mereka berada dalam tradisi World Wide Web klasik. Konten ditafsirkan secara longgar oleh klien, yang dapat melakukan transformasi apa pun yang diinginkan sebelum presentasi. Situs ini diharapkan dapat diakses oleh ekosistem berbagai platform yang mungkin atau mungkin tidak mendukung standar saat ini:
Anda akan kehilangan semuanya jika Anda membutuhkan jenis javascript saat ini, yang selalu berkembang. Dalam konteks ini, patah javascript yang mencegah mengakses konten adalah dosa.
Semua orang yang mengatakan bahwa "penggunaan javascript harus diminimalkan" mendukung gaya ini. Tidak apa-apa untuk memasukkan beberapa JS, ingatkan Anda, tetapi semua fungsi harus berlebihan dengan akses dasar ke konten yang dapat dicapai di sisi server:
Manfaat dari pendekatan ini adalah lebih sedikit pengujian dan peningkatan yang diperlukan, dan lebih banyak umur simpan. Halaman web statis pertama dari 20 tahun yang lalu masih dapat dijelajahi di setiap klien web, tetapi aplikasi web pertama selalu rusak. Jika situs Anda memiliki nilai pengarsipan sama sekali, dalam jangka panjang Anda akan mendapat manfaat dari menggunakan web sebagai sistem pengiriman konten, bukan platform aplikasi.
sumber
Saya bekerja untuk pemerintah negara bagian saya, dan akibatnya sebagian besar pengembangan saya melibatkan situs web interaktif berbasis data. Pertanyaan terhadap data historis, pengiriman formulir, hal-hal seperti itu. Kami menjaga Javascript kami seminimal mungkin, untuk alasan berikut:
1) Validasi input form harus selalu terjadi di sisi server, tidak pernah di sisi klien. Jika Anda mencoba untuk memvalidasi input Anda di sisi klien, yang harus dilakukan oleh seorang peretas adalah membuat salinan lokal halaman web Anda dan menulis ulang Javascript untuk memungkinkan apa yang ingin ia kirimkan kepada Anda (injeksi SQL, dll). Validasi Anda harus dilakukan di suatu tempat di bawah kendali eksklusif Anda, yaitu di server.
2) Banyak pengguna mematikan Javascript atau menggunakan browser yang mungkin tidak menerapkannya dengan benar. Menjadi pemerintah, kita harus mendukung semua orang, bahkan jika mereka menggunakan peralatan yang SANGAT BENAR. HTML berfungsi di mana saja; Javascript, tidak banyak. Dengan tidak menggunakan Javascript di halaman web Anda, Anda memberi mereka jejak yang sangat kecil di mesin klien, menggunakan beberapa sumber daya. Ini memaksimalkan jumlah orang yang dapat mengakses konten Anda. Untuk alasan yang sama, Anda tidak boleh terlalu gila dengan CSS Anda. Tetap sederhana, tetap bersih, dan biarkan wanita-wanita tua kecil melihat situs Anda bahkan jika komputer mereka dibeli pada tahun 1999 (Kebetulan, kami memang mendapatkan panggilan dukungan teknis dari orang-orang seperti ini).
3) Javascript, menjadi alat yang disukai oleh "pengembang web" daripada programmer sisi server, cenderung sangat jelek. Dan desainer (yang biasanya adalah pengembang web, jika Anda ingin jujur tentang hal itu) cenderung tidak melihat masalah dengan mengunduh "skrip" dari tempat acak di web. Mereka mengatakan hal-hal seperti "mengapa menemukan kembali kemudi?" dan "Tidak Diciptakan Di Sini". Jadi, alih-alih menulis kode mereka sendiri, mereka sering pergi keluar dan mengambil sesuatu dari situs lain, berpikir bahwa jika di internet itu adalah permainan yang adil. Ada dua masalah dengan ini: A) mereka mungkin secara tidak sengaja memposting beberapa Javascript berbahaya yang membawa Anda beberapa saat untuk menangkap, dan B) mereka mungkin bertabrakan dengan hak cipta seseorang, dan membuat Anda dituntut. Kedua situasi harus dihindari.
Secara umum, Javascript adalah ide yang buruk. Kode sisi klien dalam bentuk APAPUN adalah ide yang buruk. Sisi klien hanya boleh mengandung bahasa markup dan CSS; biarkan sisi server menangani pengangkatan berat.
sumber
Tergantung.
Meskipun agen pengguna desktop dapat diharapkan untuk mendukung dan menjalankan javascript Anda dengan cara yang bermakna, tidak semua agen pengguna adalah browser desktop grafis, dan Anda perlu memutuskan apakah Anda ingin memenuhi kebutuhan mereka.
Contohnya termasuk:
Aturan praktis saya adalah bahwa jika itu adalah aplikasi web untuk pengguna biasa (in-house, komunitas, hal semacam itu), maka mengandalkan javascript tidak apa-apa, tetapi jika Anda ingin dapat diakses dan ditemukan secara publik, maka setidaknya yang penting fungsionalitas harus bekerja dengan sempurna tanpa javascript, dan Anda harus gagal dengan anggun saat Anda membutuhkannya, daripada menunjukkan perilaku 'tidak terdefinisi'.
sumber
Pendekatan kuno benar-benar ketinggalan zaman. Sebagai contoh saya telah membuat penghapusan ajax untuk moderator di salah satu situs dan dia hanya senang karena peningkatan kecepatan yang jelas.
Tentu saja pengembang dapat melakukan dua versi untuk pengguna JS dan non-JS, tetapi dalam sebagian besar kasus itu sangat mahal dan tidak bernilai 1-2% dari pemirsa situs web (jika Anda bukan Google, tentu saja).
Jadi jawaban saya adalah TIDAK - JavaScript adalah jawaban untuk banyak pertanyaan pengalaman pengguna, mengapa saya tidak menggunakannya?
sumber
Dari pengalaman saya, ada saatnya perusahaan menonaktifkan JavaScript berdasarkan kebijakan. Tapi kali ini jauh sekali. Saat ini saya telah membangun beberapa aplikasi intranet besar dan aplikasi web untuk perusahaan global yang lebih besar. Untuk semua aplikasi, penggunaan JavaScript dan JQuery adalah bagian dari hal-hal yang diharapkan pelanggan.
Membangun aplikasi untuk pelanggan tidak hanya kecepatan dan keamanan lagi. Pelanggan ingin fokus pada kegunaan dan penggunaan teknologi AJAX. Tanpa menggunakan JavaScript, itu tidak akan berfungsi dengan baik. PostBacks sepanjang waktu untuk beberapa tugas yang sangat kecil seperti perhitungan atau sesuatu seperti itu untuk sebagian besar perusahaan bukan pilihan.
Ketika kita berpikir tentang situasi saat ini di perusahaan besar ada indikator lain mengapa JavaScript saat ini harus dimiliki. Lihatlah sistem CMS yang saat ini berjalan dalam bisnis. Sebagian besar dari mereka menggunakan Microsoft SharePoint atau Adobe CQ, beberapa di antaranya adalah Drupal atau lainnya dan sebagainya. Semua sistem ini bergantung pada JavaScript. Tanpa javascript sebagian besar aplikasi tidak akan berfungsi, seperti yang diharapkan pengguna.
sumber
Di masa lalu, JavaScript digunakan dan disalahgunakan, dan skrip (dianggap) penuh dengan kerentanan, dan sumber malware.
Banyak jaringan perusahaan merespons dengan menonaktifkan JS, kebijakan yang (benar atau salah) masih ada di banyak organisasi saat ini.
Sederhananya, saya menyarankan bahwa tidak ada situs yang harus bergantung pada JS untuk beroperasi
sumber
Seperti yang dijelaskan sebagian besar jawaban di sini, menggunakan
javascript
itu tidak berbahaya. Jika Anda ingin menyimpan kode sumber dan kode sumber yang terlihat berantakan, cobalahcoffee-script
yang akan menghemat banyak usaha pengetikanjavascript
.http://coffeescript.org/
sumber