Skip to content

Mengerjakan projek baru menggunakan teknologi baru

Reading Time: 2 minutes

Dua bulan yang lalu saya mendapat projek baru dari kantor. Projek tersebut boleh dibuat menggunakan teknologi apa pun asalkan berbasis web. Setelah saya menerima projek tersebut saya langsung kepikiran untuk menggunakan teknologi baru .Net yang bernama Blazor. Blazor adalah fitur dari ASP .Net yang memungkinkan kita membuat user interface web yang interaktif menggunakan bahasa pemrograman C#. Dulu, sebelum ada teknologi Blazor, Javascript adalah bahasa yang mendominasi dalam pembuatan sebuah user inteface web yang interaktif. Sekarang, dengan adanya Blazor, kita memiliki pilihan lain selain Javascript.

Blazor ini ada dua model. Ada yang client side rendering(WebAssembly) dan ada juga yang server side rendering.

Blazor Client Side

Untuk blazor client side, ketika pertama kali membuka aplikasi, semua file kompilasi akan didownload terlebih dahulu kemudian dijalankan di browser. Untuk pembukaan aplikasi berikutnya akan lebih cepat karena hanya akan mendownlod file kompilasi yang berubah saja. Dengan menggunakan model ini, aplikasi bisa berjalan secara offline di browser tanpa perlu tersambung dengan server. Maksud dari aplikasi bisa berjalan secara offline adalah user bisa berinteraksi dengan aplikasi tanpa harus terus tersambung dengan server. Misalnya melakukan klik tombol. Jika ada kebutuhan mengambil data misalnya dari suatu API di server, untuk bagian ini aplikasi tetap harus bisa tersambung ke server.

Kelebihan model ini adalah aplikasi bisa berjalan secara offline dan kekurangannya adalah pada saat pertama kali membuka aplikasi ini menggunakan browser akan lebih lama jika dibandingkan dengan blazor server side. Pada pembukaan berikutnya loading aplikasi akan jauh lebih cepat. Tetapi, jika ada perubahan kodingan di server maka akan dilakukan download perubahan tersebut. Besar kecilnya file perubahan yang didownload tentu akan mempengaruhi waktu yang dibutuhkan untuk loading aplikasi.

Blazor Server Side

Untuk blazor server side, file kompilasi dijalankan di server, kemudian hasil jadinya yang berupa html dikirim ke client yang melakukan request. Di sisi client, setiap user melakukan event, misalnya melakukan klik tombol “Simpan”, informasi bahwa user melakukan klik tombol “Simpan” akan disampaikan ke server. Server yang menerima informasi tersebut kemudian menjalankan kode yang berada di dalam tombol simpan. Aplikasi client dan server berkomunikasi menggunakan teknologi SignalR. Dengan menggunakan model ini, aplikasi tidak bisa berjalan secara offline. Biasanya akan ada semacam notifikasi dari browser ketika aplikasi terputus dari server dan UI di browser akan seperti disabled. Saya pernah mencoba membuka sebuah website yang dibuat menggunakan blazor server side kemudian saya mencabut kabel internet saya, UI di browser tidak langsung disabled tetapi ketika saya mencoba klik pada salah satu tombol tidak ada respon apa pun. Setelah beberapa detik kemudian muncul notifikasi yang memberi tahu tidak bisa tersambung ke server.

Kelebihan model ini adalah loading aplikasi akan jauh lebih cepat, baik saat pertama kali dibuka maupun pada pembukaan berikutnya. Kekurangannya adalah aplikasi tidak bisa berjalan secara offline di client.

Pada projek ini saya memutuskan untuk menggunakan model yang client side dengan pertimbangan kedepannya diperlukan adanya versi mobile. Sehingga arsitekturnya ada frontend dan backend. Semua kodingan business process disimpan di backend, sehingga jika nanti ada kebutuhan untuk membuat versi mobile, tinggal membuat UInya saja kemudian akses databasenya tinggal diarahkan ke backend.

Bagikan artikel

Published inPemrograman

2 Comments

  1. HonJe HonJe

    Smoga projekx lancar…

    • admin admin

      Aamiin om

Tinggalkan Balasan

WhatsApp chat