Saya akan menambahkan pembaruan untuk ini karena saya pikir kemunculan JS di web sisi klien telah disalahpahami pada beberapa poin kunci selama bertahun-tahun.
Itu bukan Ajax
Saya tidak mengatakan bahwa Ajax tidak penting untuk evolusi pemahaman JS sebagai bahasa, tetapi perjuangan untuk dominasi browser sisi klien telah berakhir jauh sebelum istilah Ajax diciptakan.
Itu bukan karena itu satu-satunya permainan di kota
Ada Java Applet, Flash, dan VBScript. Saya pernah mendengar ada opsi skrip lain di tahun 90-an (tetapi diperlukan plug-in IIRC). Java sangat populer namun applet adalah kegagalan yang menyedihkan. Mereka jelek dan sering keju keamanan-swiss, tetapi yang lebih penting saya tidak berpikir Jawa cocok untuk alasan saya akan masuk nanti. Flash sangat populer dan memiliki pijakan yang kuat selama beberapa tahun tetapi bahkan ketika Flash akhirnya memiliki opsi SEO, mereka biasanya tidak digunakan, membuat situs Flash eksklusif sangat sulit ditemukan. Bahkan sekarang, kebanyakan dari kita secara teratur memperbarui Flash sehingga kita dapat melihat film, tetapi itulah kelemahan Achilles yang sebenarnya. Teknologi eksklusif di browser sangat mengganggu. Dan tentu saja VB, yang hanya akan bekerja dengan IE, jadi tidak.
Tempat yang Tepat di Waktu yang Tepat adalah Relevan Tapi Bukan Jawaban Utuh
Ya, tanpa web wave untuk naik, kami mungkin tidak pernah melihat JavaScript atau bahasa yang digunakan seperti itu segera setelah kami melakukannya. Atau mungkin kita akan ...
Itu Akhirnya Menjadi Alat Sempurna untuk Domain Masalah
Saya akan mengatakan sekitar tahun 2000an kami memiliki masalah berikut:
- IE dan Netscape baru saja setuju untuk mulai bermain bagus dengan menghadiri DOM API dan standar CSS yang sama dan kami harus berurusan dengan masalah besar lintas-browser JS sejak dulu yang baru saja mulai dikelola tanpa bantuan alat normalisasi JS DOM seperti jQuery post IE8
- Ada generasi baru pengembang / perancang web yang tidak semuanya harus kelas berat sebagai programmer yang ingin meningkatkan permainan mereka pasca-.com-gelembung-meledak ketika mereka berhenti memberi Anda gaji yang layak untuk muncul di pintu dengan tidak lebih dari HTML-literasi dasar dan beberapa keterampilan photoshop.
- Ada anak CSS baru di kota ini yang menawarkan kemungkinan menarik untuk apa yang akhirnya akan disebut DHTML, (lebih tepat) Scripting DOM, (sekarang tidak tepat) HTML5 (zomghtml5!).
Jadi kami membutuhkan bahasa yang mendalam, menawarkan kemampuan untuk benar-benar menyusun dan merancang aplikasi yang lebih canggih dengan komponen portabel / dapat digunakan kembali di sisi klien tetapi juga dapat diakses oleh orang-orang yang tidak tahu banyak dan hanya membutuhkan hal-hal untuk muncul / muncul kembali ketika Anda mengklik tombol.
Lebih jauh lagi, MS menjadi binatang yang tidak kompeten / tidak kompeten dan / atau dominasi-melalui-anti-persaingan-praktik seperti yang kadang-kadang terjadi, gagal untuk benar-benar menyentuh implementasi DOM API yang tidak patuh untuk dekade yang baik, meskipun mereka berhasil tambahkan sesekali hal seperti objek XHR asli dan querySelectors di IE8.
Hal penting yang perlu diperhatikan adalah bahwa sekitar tahun 2005 kami telah berhasil mengubur kompleksitas yang terlibat dalam menangani masalah lintas-peramban secara menyeluruh sehingga sebenarnya bukan masalah serius lagi di bagian JavaScript. Kegagalan untuk mendukung CSS2 dengan benar selama mereka menyebabkan rasa sakit yang jauh lebih besar. Untuk gagasan tentang volume dan kedalaman masalah, saya sarankan memeriksa quirksmode.org . Saya tidak berpikir bahwa ini adalah prestasi yang bisa dicapai dengan lancar dan di banyak perpustakaan di Jawa, tentu saja tidak di VB dan jelas tidak dengan strategi plug-in yang tujuannya adalah untuk menghindari seluruh masalah dengan menjadi sama sekali baru jenis gangguan.
Fitur Bahasa Lainnya yang Masuk Akal untuk UI:
Fungsi Kelas Pertama: Dalam pengalaman saya, tidak ada yang lebih cocok untuk pemrosesan async dan paradigma yang digerakkan oleh peristiwa daripada bahasa yang menjadikan fungsinya kelas satu. Kedua masalah tersebut secara teratur dibahas dalam pekerjaan UI.
Jenis Dinamis: Pengecoran dan pengecekan tipe adalah kebutuhan yang sangat langka dalam JavaScript yang membantu menjaga kode tetap ringkas dan ramping. Masalah UI bisa menjadi kompleks dan berantakan dengan sangat cepat. Mempertahankan kode ketat dan menjadi sangat jelas tentang aliran data sangat penting untuk memahami dan memodifikasi / mempertahankannya.
Ini Bukan Proteksionis: Selama bertahun-tahun seseorang berkhotbah bahwa Anda perlu melindungi diri dari kesalahan Anda sendiri dan hal-hal bodoh yang mungkin dilakukan orang lain dengan kode Anda dengan membuat konstruksi kode yang sangat kaku dan tidak fleksibel serta tidak mungkin ikut campur dengan maksud aslinya. ditulis dengan dan banyak orang telah mendengarkan. Saya tidak akan mengatakan mereka selalu salah (mungkin berpikir itu) tetapi saya akan mengatakan itu adalah pendekatan yang salah untuk web UI dan saya percaya bahwa itu adalah sesuatu dari fenomena yang telah kami rancang, pertahankan, dan modifikasi klien- GUI sisi pada kecepatan yang lebih cepat dan dengan lebih mudah daripada pekerjaan seperti itu biasanya dicapai dalam bahasa yang lebih ketat di masa lalu. Mampu mengubah hal-hal dengan cepat dan mudah membuatnya lebih mudah untuk memiliki skema arsitektur dinamis / cair yang tidak memerlukan sejumlah besar tipuan dan abstraksi overhead yang pada akhirnya membuatnya lebih mudah untuk melihat apa yang sedang terjadi dalam kode Anda dan mencegah atau menangani pengecualian jauh lebih bersih. Lebih mudah untuk mempertahankan hanya melalui kebajikan semata sehingga memungkinkan untuk lebih langsung dalam segala hal yang Anda lakukan dan dengan kode yang jauh lebih sedikit daripada yang diperlukan mengingat filosofi lain.
Bagaimana JS menjadi populer? Itu telah membuktikan dirinya sebagai alat yang sangat baik untuk waktu kerja dan waktu lagi. Ini bukan bahasa yang kita "terjebak dengan" Ini adalah bahasa yang mungkin telah mengilhami banyak evolusi dalam bahasa populer secara umum. Dan untuk itu, Anda dapat berterima kasih kepada Brendan Eich dan orang-orang sezamannya yang telah membantu memasukkan gagasan itu ke dalam kepalanya, karena menyukai Skema sebagai inspirasi desain yang cocok untuk masalah yang ada lebih daripada dia menyukai Jawa.