Bagaimana Menyembunyikan Program Script?
Dalam dunia pengembangan aplikasi berbasis web, maka bahasa pemrograman scripting merupakan bahasa pemrograman yang menjadi pilihan utama, karena kemudahan dan kecepatan untuk bisa melihat hasil dari yang dikerjakannya.
Jika kita tidak mempermasalahkan hasil kerja kita akan dapat dilihat, ditiru, atau diambil orang lain, maka bahasa pemrograman scripting bisalah digunakan. Tetapi jika kita pada posisi pengembang yang ingin bahwa hasilnya tidak dapat ditiru orang, maka bahasa scripting cenderung dihindari.
Tetapi, jika kita amati, maka kita bisa melindungi program script yang dihasilkan dari kemungkinan ditiru atau diambil orang, dengan menggunakan software-software yang bisa membuat program script menjadi tidak mudah dibaca orang. Program script yang kita miliki dapat disandikan (dienkripsi, dikodekan) atau pun sekedar dimampatkan, sehingga tidak bisa dibaca dengan mudah, cenderung sulit.
Teknik penyandian ini dikenal dengan encryption, encoder, compression, atau pun packer. Encryption dan encoder akan melakukan proses penyandian dari program script kita, sehingga tidak bisa dibaca, harus ada proses pemecahan sandi terlebih dahulu untuk mengembalikan ke dalam bentuk aslinya. Compression dan packer merupakan software yang akan membuat program script menjadi sulit dibaca, karena ada penghilangan-penghilangan karakter yang tidak diperlukan.
Jika kita menggunakan bahasa scripting PHP, maka kita dapat menggunakan software yang open source dan bebas digunakan (free) e-accelerator (http://eaccelerator.net), Turk MMCache (http://turck-mmcache.sourceforge.net/index_old.html), atau pun phpobfuscator (http://www.raizlabs.com/software/phpobfuscator/).
Jika kita menggunakan JavaScript, maka kita dapat menggunakan software untuk mengkompresi dengan menggunakan packer. Salah satunya adalah packer yang dibuat oleh Dean Edward (http://dean.edwards.name/packer/).
Software-software yang digunakan untuk membuat program script yang kita miliki menjadi sulit dibaca, karena menggunakan teknik dan algoritma yang sudah terbukti kehandalannya. Umumnya software-software tersebut membuat hasil kerjanya tidak bisa dikembalikan ke dalam bentuk semula secara persis sama.
JQuery
JQuery adalah librari JavaScript yang memungkinkan kita untuk membuat program web pada suatu halaman web, tanpa harus secara eksplisit kita menambahkan event atau pun properti pada halaman web tersebut.
Dengan JQuery, suatu halaman web yang menjadi aplikasi web, jika dilihat sourcenya, akan terlihat seperti dokumen HTML biasa; tidak ada kode JavaScript yang terlihat langsung. Teknik pemrograman web seperti ini disebut sebagai unobstrusive JavaScript programming.
JQuery merupakan salah satu librari yang membuat program web di sisi klien, tidak terlihat sebagai program JavaScript biasa, yang harus secara eksplisit disisipkan pada dokumen web. Pada teknik pemrograman sisi klien dengan menggunakan JavaScript biasa, setiap elemen yang akan memiliki event, akan secara eksplisit terlihat ada event yang dilekatkan pada elemen tersebut.
JQuery dikembangkan pertama kali oleh John Resig, yang dibuat lebih ramping dari librari Prototype yang menjadi inspirasi dari libarari JQuery ini. Secara pemrograman, JQuery memiliki kemiripan seperti Prototype.
JQuery, merupakan librari yang sangat ramping, core dari librari ini dalam keadaan terkompres hanya berukuran sekitar 19KB.
Lisensi
Lisensi JQuery adalah open source yang bisa diperoleh secara cuma-cuma, dan dapat digunakan untuk kepentingan komersial, tanpa ada tuntutan untuk membayar kepada pembuat JQuery. Lisensi opensource dari JQuery adalah MIT dan LGPL.
Pengantar Aplikasi Client Server Berbasis Web
Kini web tidaklah sekedar menjadi media untuk menyajikan informasi, tetapi telah menjadi platform aplikasi.
Aplikasi web tahun pada dasa warsa 1990-an, pertama kali web dikenalkan dan kemudian menjadi populer, karena kenyamanan dan kemudahannya untuk menyajikan informasi yang dapat diakses oleh banyak orang yang dapat mengakses Internet.
Kemudahan penggunaan browser web untuk merambah informasi yang di Internet, cukup menggunakan tunjuk dan klik (point and click) , telah menginspirasi pemrogram aplikasi untuk menggunakan media browser ini sebagai platform aplikasi.
Berawal dari aplikasi Buku Tamu (Guest Book), yang dikembangkan oleh Rasmuss Lerdof, dengan PHP/FI (Form Interface)-nya, yang memungkinkan suatu situs web dapat menerima masukan, berupa komentar atau usul masukan untuk suatu situs web. Kini browser web telah menjadi platform untuk aplikasi, tidak sekedar untuk mengisi dan menampilkan data buku tamu.
PHP merupakan bahasa pemrograman scripting setelah Perl, yang paling umum digunakan untuk mengembangkan aplikasi berbasis web. Kedua bahasa scripting ini sangat andal digunakan untuk memroses data di dalam server, dikenal sebagai bahasa pemrograman sisi server (server side). Keduanya telah memiliki standar yang memungkinkan mengakses dan mengelola data dalam sistem manajemen database relasional (Relational Database Management System).
Netscape, pada sekira pertengahan dasa warsa 1990-an mengembangkan bahasa pemrograman scripting yang memungkinkan suatu halaman web yang ditampilkan menjadi lebih dinamik. Halaman web memiliki efek-efek teks dan gambar, yang membuat halaman web menjadi tidak membosankan saat ditampilkan. Pada masa ini kita mulai mengenal HTML yang dinamik (Dynamic HTML).
HTML dinamik bagi sebagian orang adalah halaman web yang memiliki efek-efek animasi, tetapi bagi sebagian orang lagi adalah bukan pada efeknya, tetapi pada isi dari halaman web tersebut yang bisa berubah-ubah. Secara mendasar, keduanya memiliki kesamaan pada aspek bahwa halaman web menjadi dinamik, isinya bisa berubah, ada yang secara statik tetapi isinya bisa berubah-ubah tempat dan penampakannya; di sisi lain adalah bahwa isi halamannya bisa berubah-ubah sesuai dengan hasil query dari server.
Netscape membuat JavaScript untuk membuat halaman web menjadi dinamik penampilannya. Teknik pemrograman web di dalam halaman web menjadi dinamik, dikenal dengan pemrograman sisi klien (client side programming). Perl dan PHP membuat isi dari suatu halaman web dapat berubah-ubah.
Pada awal akhir dasa warsa 1990 dan awal 2000, teknologi client side dan server side kini telah bersinergi, membuat browser web menjadi platform aplikasi, yang memudahkan penyajian informasi dan pemasukan data menjadi lebih mudah dilakukan. Aplikasi tidak lagi menjadi rumit untuk dideploy, diimplementasi, dan dioperasionalkan. Tidak perlu ada pemasangan aplikasi pada setiap komputer. Setiap pengguna komputer cukup memiliki akses ke server aplikasi, maka pengguna akan dapat melakukan akses dan menggunakan aplikasi.
Remote scripting merupakan teknologi awal yang dikenalkan oleh Microsoft, tetapi kurang mendapatkan tempat di kalangan developer, karena belum banyak kebutuhan penggunaan teknik ini; juga yang paling berperan adalah masalah bandwidth. Pada saat itu koneksi Internet dan bandwidth masih menjadi kendala, sehingga yang menjadi solusi adalah bagaimana seramping mungkin data dan informasi yang akan ditampilkan dalam browser dapat dikirimkan dari server. Tidak perlu dinamik, karena yang penting isi dari halaman web tersebut.
Paradigma tentang halaman web adalah untuk sajian informasi, mulai tidak dapat dipertahankan; karena teknologi dan bandwidth sudah tidak menjadi kendala lagi. Kini komputer dapat dikatakan murah; prosesor, memori, harddisk, monitor, dan jaringan telah cukup ekonomis. Orang mulai nyaman menggunakan komputer.
Februari 2005, mulai dikenal dengan teknik pemrograman yang disebut dengan AJAX (Asynchronous JavaScript And XML). Istilah lama yang lebih enak didengar, alih-alih dari istilah remote scripting. Hanya saja memang teknologinya bukan teknologi remote scripting dari Microsoft yang menggunakan ActiveX, tetapi menggunakan JavaScript dan XML sebagai basisnya.
JavaScript memegang peran yang sangat penting dalam aplikasi Client Server berbasis web ini. Banyak library JavaScript yang dikembangkan untuk lebih memudahkan mengembangkan aplikasi berbasis web dengan AJAX.
Library Yahoo User Interface (YUI) merupakan librari JavaScript dengan lisensi bebas digunakan untuk memudahkan pembuatan antar muka di atas browser yang berkualitas. Librari ini menjadi dasar bagi Jack Slockum untuk membuat librari tambahan (extension), yang lebih fokus untuk membuat librari atau komponen antar muka yang lebih berkualitas lagi, tampilan menjadi seperti tampilan aplikasi Windows. Librari ini dikenal sebagai yui-ext (YUI Extension).
Banyak librari JavaScript yang dikembangkan menjadi framework, hasilnya adalah Prototype, Dojo, dan lain-lain. JQuery adalah library JavaScript yang memungkinkan pemrogram menjadi lebih mudah lagi untuk melakukan manipulasi data dalam dokumen HTML.
yui-ext kini telah menjadi librari sendiri, disebut sebagai extjs, yang lebih independent, tidak harus menggunakan librari YUI . Saya sendiri adalah pengguna JQuery, kini mulai menggunakan extjs, untuk membuat aplikasi klien server berbasis web, dengan back end aplikasi (sisi server) menggunakan PHP.
Tuntutan pengembangan aplikasi berbasis web yang interaktif, dengan menggunakan JavaScript – AJAX, kini tidak bisa lagi dihindari. Kemudahan penggunaan aplikasi atau pun deployment menjadi kata utama, yang dituntut oleh pengguna. Teknologinya telah tersedia. Web 2.0 adalah buzzword yang lebih umum.