Perbedaan Script dan Bahasa Pemrogaman
- Pada dasarnya, Script lebih sederhana daripada bahasa pemrograman. Namun pada perkembangannya, bahasa scripting pun sekarang sudah cukup kompleks.
- Untuk menterjemahkan Script (me-run) tidak perlu suatu kompiler khusus yang komplit, sedangkan bahasa pemrograman membutuhkan suatu kompiler khusus untuk me-run program tersebut. Kompiler sebuah Script biasa hanyalah sebuah modul (semacam plug-in) pada sisi pemroses Script; dalam hal ini aplikasi server web seperti apache.
- Dalam kasus halaman web, Script diakses melalui browser di internet, sedangkan bahasa pemrograman diakses dengan membuka file/program aplikasinya.
Dilihat dari prosesor mana yang mengeksekusi Script, penulisan Script pada dasarnya dibagi menjadi dua, yakni client-side scripting dan server side scripting.
Client-Side Scripting
Client-side scripting melibatkan blok skrip tambahan untuk ditambahkan di file HTML. Dalam hal ini server web tidak akan memperlakukan skrip lain dari tag-tag lain yang sudah ada di halaman HTML, sebaliknya browser-lah yang akan menerjemahkan mereka pada komputer user. Karena itu, scripting jenis ini disebut client-side, yang bekerja di komputer user, bukan di server.
Kelebihan client-side scripting:
- Tidak diperlukan server khusus untuk menjalankan skrip.
- Tidak membebani kerja server web, terutama di server web dengan traffic tinggi.
Kekurangan client-side scripting:
- Harus didukung oleh browser pihak klien (walaupun secara umum hampir bisa dibilang semua browser mendukung bahasa-bahasa skrip seperti JavaScript atau VBScript,
- Kode skrip menjadi terlihat oleh user (visible) dan dapat ditiru. Namun demikian, di era open source seperti sekarang ini kebanyakan skrip memang hasil cut & paste.
Contoh bahasa client-side script:
JavaScript - JavaScript secara umum didukung oleh dua browser populer, yakni Microsoft Internet Explorer dan Netscape Navigator, hanya saja mereka mendukung dengan caranya masing-masing, tetapi kebanyakan script JavaScript dapat berjalan di kedua browser ini. Demikian pula pada browser lain seperti Opera atau FireFox. Pada tahun 1997 terbentuk The European Computer Manufacturers Association sebagai penyedia standar untuk JavaScript. Netscape baru-baru ini mengumumkan keluarnya JavaScript versi 1.3.
VBScript - Kebanyakan VBScript hanya didukung oleh Microsoft Internet Explorer. Tersedia plug-in untuk memungkinkan klien menggunakan VBScript di Netscape Navigator, tapi plug-in ini tidak gratis.
Server-Side Scripting
Server-side scripting mengunakan script yang dijalankan di server web, hasilnya saja yang dikirim ke browser pada sisi klien.
Kelebihan server-side scripting:
- Karena script berjalan di server, Anda tahu pasti apa yang dapat Anda lakukan dengan script tersebut dan software apa yang tersedia,
- Jika script Anda menghasilkan output dalam bentuk HTML yang baku, hampir semua browser akan dapat melihatnya.
Kekurangan server-side scripting:
- Menambah beban kerja Server,
- Anda harus punya akses/permission khusus untuk menggunakan server-side scripting
Beberapa contoh server-side script antara lain:
CGI - CGI ini boleh dibilang teknologi klasik (tertua di Web), untuk melakukan fungsi-fungsi server-side. Kebanyakan program CGI menggunakan Perl, bahasa scripting yang cocok untuk scripting di Web. Walaupun sebenarnya anda dapat menulis program CGI hampir dengan semua bahasa, termasuk C++, Python, dan Java. Tapi, tanpa perencanaan yang hati-hati, CGI dapat membuka lubang keamanan (security hole) di server Anda, dan biasanya program CGI susah di-debug, dan susah dipelajari dan dipraktekkan terutama bagi web designer yang bekerja di platform non-*NIX.
Server-Side Java, JavaScript, dan VBScript -Microsoft IIS server dapat menerjemahkan Java, JavaScript, dan VBScript di server (juga untuk PerlScript). Sever Netscape juga mendukung Java dan Javascript untuk dijalankan di Server.
ASP - Andalan Microsoft untuk teknologi Scripting Web, terutama didukung oleh Microsoft IIS Server. ASP ini sebenarnya VBScript yang berjalan di sisi server.
PHP - Bahasa scripting yang baru-barui ini menjadi populer. PHP kadang dikelompokkan dengan sistem operasi Linux dan Web Server Apache, karena sifatnya yang open source dan gratis.
Cold-Fusion - Dikeluarkan oleh Allaire, Cold-Fusion mulai meningkat kepopulerannya terutama dengan kemampuan pengembangan di lingkungan development Visual (ColdFusion Studio) yang ditawarkan.
Miva - Dulu dikenal dengan HTMLScript, mirip dengan PHP, tapi ditawarkan secara komersial.
Servlets - Servlets sedang meningkat popularitasnya untuk menulis Java Objects yang meningkatkan fungsi server. Sifat Java yang berorientasi obyek (object oriented) membuat pemrogram mudah menuliskan Servlets. Untuk beberapa kalangan, Java Servlets dianggap lebih effisien daripada CGI.
ISAPI, NSAPI, and Native Server APIs - Semua yang ”berbau” API (Application Programming Interface) ini kebanyakan hanya untuk pemrogram hard-core.