lifelong learner — urip iku urup, currently working on accenture.

Mengenal Multipage application (MPA)

0
Degananda.com -

1.2 Multipage application

Kita dapat menyebut multipage application ini sebagai metode konvensional terkait mekanisme penyajian website kepada user. Disebut konvensional karena sudah banyak sekali(dan menjamur) website yang dibangun dengan mekanisme ini. Ciri utama dari multipage web application adalah perpindahan halaman selalu di ikuti dengan proses request dari client ke server atau mudahnya kita sebut reload. Setelah user merequest halaman ke server dan server memberikan respon berupa plain html selanjutnya browser akan merender html tersebut menjadi DOM. Begitulah yang terjadi setiap perpindahan halaman(user -> request -> server -> server render-> response -> browser render).

Contoh framework yang mensupport multipage application adalah django(phyton), code igniter(php), laravel(php) dan lain sebagainnya. Framework framework tersebut selain dapat digunakan untuk keperluan frontend juga dapat dimanfaatkan untuk backend(membangun web services/api). Berbeda dengan framework SPA seperti angular/vue/react(library) yang hanya dapat dimanfaatkan untuk frotnend saja. Pertanyaan selanjutnya adalah apakah multipage application saat ini sudah tidak layak digunakan sebagai mekanisme menyajikan website ? jawabannya tentu tidak. Multipage application melakukan render di server yang mana mekanisme ini memberikan keuntungan dan juga kekurangan jika dibandingkan single page application (SPA). Jika anda baru didunia web maka multipage application ini sangat disarankan untuk dipelajari terlebih dahulu mengingat banyaknya resource diinternet karena telah menjadi mekanisme yang konvensional.

Salah satu website yang bergantung penuh dengan SEO dan menggunakan konsep multpage application adalah wikipedia.org. Bayangkan jika website ini tidak menggunakan mekanisme MPA maka user tidak akan pernah menemukan wikipedia pada search engine seperti bing, google ataupun yahoo.

1.2.1 Keuntungan multipage web application

  1. Memilki initial load yang lebih cepat jika dibandingkan dengan SPA(Single page application). Karena render berada di sisi server maka user tidak perlu meload file-file yang berhubungan dengan framework. Berbeda dengan SPA yang memiliki initial load yang lebih lama karena harus meload javascript(yang berisi konfigurasi-konfigurasi dari framework) yang ukurannya lumayan besar. Meski sudah di optimasi dengan AOT(A head of time) ukuran file yang harus didownload user pada SPA tetap besar jika dibandingkan dengan multiple page application.
  2. Sangat bagus dalam bidang SEO(Search engine optimization). Karena aplikasi di render di server maka secara otomatis mesin pencari (search engine) akan lebih mudah melakukan indexing.
  3. Tersedia berbagai macam aplikasi yang memudahkan dalam pembangunan website. Contohnya untuk blogging terdapat wordpress/joomla yang didukung oleh komunitas besar. Sedangkan dengan SPA kemungkinan besar kita harus membuatnya from scratch. Maka secara tidak langsung secara implitif development time dari multipel page application relatif lebih cepat dibanding SPA terutama terkait dengan dukungan dokumentasi dan support komunitasnya.

1.2.2 Kekurangan Multipage web application

  1. Yang paling utama adalah tidak adannya dukungan untuk memporting aplikasi ke mobile. Contohnya jika kita menggunakan angular maka terdapat opsi yakni ionic untuk membuat aplikasi mobile. Dengan satu bahasa dan satu framework yang sama kita dapat membangun multiplatform application.
  2. Frontend dan backend development dapat bercampur jadi satu. Padahal saat ini trend pengembangan teknologi adalah micro services. Artinnya setiap job sebisa mungkin dibagi menjadi bagian kecil dan spesifik.

1.3 Kesimpulan : SPA atau MPA

Jawabannya adalah tergantung pada situasi dan kondisi. Jika kita hendak membangun aplikasi yang sangat bergantung dengan search engine maka pilihannya adalah multipage web application. Contohnya adalah e-commerce atua online shop. Bayangkan jika kita menggunakan SPA user tidak dapat menemukan toko online kita melalui mesin pencari favorit seperti google, yahoo, bing dan lain sebagainnya.

Namun jika kita tidak terlalu bergantung pada SEO dan ingin membuat aplikasi yang multiplatform maka SPA adalah pilihan yang baik. Dengan satu framework/bahasa kita dapat membuat berbagai aplikasi untuk berbagai platform sangat efisien. Ini sangat cocok ketika kita membuat startup yang memiliki resources terbatas dan ingin mengejar market sebesar-besarnya. Development mobile apps dengan metode hybrid lebih cepat jika dibandingkan membuat secara native. Html+css+javascript tentunnya lebih sederhana jika dibandingkan dengan java ataupun objective C.