Sebuah situs yang dikatakan “berat” ketika membutuhkan waktu yang lama untuk sampai menampilkan semuanya. Saat ini semua orang menggunakan Javascript, CSS, dan bahkan cetakan HTML yang berisi lebih dari 100KB. Lebih parahnya lagi, situs-situs banyak yang menggunakan pustaka-pustaka CSS dan Javascript berbeda. Ini menimbulkan waktu tempuh yang sangat besar.
Ada beberapa cara untuk mengurangi waktu yang lama untuk menampilkan situs. Baik dari sisi peladen dan pemrograman harus dioptimasi. Berikut hal-hal umum yang biasa dilakukan.
Kombinasi CSS dan Javascript
Mengombinasikan beberapa berkas CSS dan Javascript menjadi satu berkas CSS dan satu berkas Javascript. Dengan demikian, peramban hanya melakukan permintaan sekali ke peladen untuk berkas-berkas ini.
Proses Minifikasi
Melakukan minifikasi. Proses minifikasi melakukan dua hal pada berkas CSS dan Javascript:
- Membuang komentar.
- Membuang karakter kosong yang tidak perlu (spasi dan baris baru).
- Beberapa optimasi melakukan perubahan internal dengan mengganti variabel lokal dengan satu huruf.
Hasil minifikasi membuat kode tidak begitu mudah dibaca oleh manusia. Namun, berkasnya jadi lebih kecil.
Kompresi
Peladen diset untuk mengirimkan berkas-berkas yang diminta dengan dikompresi terlebih dahulu di peladen. Kemudian, peramban akan menerima berkas-berkas terkompresi tersebut, mengekstraksi, dan menampilkan ke pengguna.
Waktu Kadaluarsa
Menentukan waktu kadaluarsa. Dengan menentukan kadaluarsa, konten-konten yang diunduh dari peladen akan disimpan dalam tembolok peramban sampai masa tertentu.
Optimasi Pemrograman
Secara pemrograman, situs dapat dioptimasi. Hal yang lazim misalnya:
- Mengoptimasi dengan Javascript untuk gambar-gambar diproses belakangan (lazy load).
- Memindahkan beberapa skrip dari HEAD ke BODY dan diset untuk berjalan saat semuanya telah dimuat.
- Menggabungkan beberapa gambar kecil menjadi satu gambar besar. Nantinya gambar tersebut digunakan berulang-ulang dengan menggunakan teknik CSS sprite.
- Mengompresi ulang dan menentukan dimensi gambar yang ditampilkan agar sesuai dengan yang diset di HTML. Sering kali gambar yang diunggah jauh lebih besar daripada dimensi yang ditampilkan. Gambar yang lebih kecil biasanya berukuran jauh lebih kecil daripada gambar asli.
Kesimpulan
Ini beberapa teknik yang mungkin akan saya bahas. Kemungkinan, sih, kalau saya tak sibuk DoTA 2 atau kegiatan lainnya. Apakah rekan-rekan ada juga teknik lainnya?