days after days, sekitar dua minggu setelah evaluasi tahap satu, mulai memasuki minggu teknologi. Pada minggu ini mulai dikenalkan pada bahasa Java dan bagaimana membangun sebuah aplikasi berbasis web sederhana. Jika selama dua minggu pertama hanya dikenalkan java hanya pada kulit arinya saja, minggu ini mulai memasuki ke lapisan epidermis kulitnya, bagian yang lebih bawahnya. Memasuki minggu ini, awalnya dikira logic itu sudah cukup membuat pusing kepala, ternyata memasuki minggu-minggu ini, kesulitan makin menjadi-jadi, terlebih harus memahami apa itu polimorphysm, encapsulation, dan kawan-kawannya.
Memasuki minggu-minggu teknologi ini, saya hanya bisa memahami sekilas, bahasanya telan mentah-mentah karena waktu yang diberikan cukup singkat. hampir setiap malamnya, saya mengulang materi karena singkatnya waktu yang diberikan, dan mungkin jika ketika tidur dan bermimpi bisa koding, ingin rasanya koding saat mimpi karena mereview materipun hanya sepersekian persen yang benar-benar bisa dipahami, itupun jika paham (笑).
Banyak sekali yang diberitahukan kepada kami, semua yang berkaitan bagaimana dan apa saja yang diperlukan untuk membangun aplikasi web dengan menggunakan Java. Seperti kata trainer yang mengajari saya, Java bagaikan hutan belantara dimana untuk membangun sesuatu memiliki banyak cara dan permasalahannya ialah bagaimana membangun sebuah aplikasi yang baik dan dipahami oleh orang lain untuk dikembangan serta membuat kode se-efektif mungkin, karena yang mampu banyak namun tidak banyak yang mampu membuatnya dengan rapi.
Awalnya, kami sekelas membuat beberapa halaman dengan fungsi dasar dengan menggunakan bahasa pemprograman Java, tanpa menggunakan framework. Basically, untuk membuat halaman web dengan membuat Java cukup banyak membuat folder ini itu, secara pribadi jika halaman web tidak memiliki cakupan modul yang banyak, cukup rumit untuk membuatnya daripada menggunakan bahasa PHP (dengan menggunakan XAMPP dan database MySQL), karena harus banyak mengunduh library serta konfigurasi servlet yang cukup asing bagi pembelajar baru seperti JSTL (Java Standard Tag Library), library untuk koneksi ke database. Berbeda dengan menggunakan XAMPP yang hanya membuat koneksi ke database dengan memanggil server databasenya, untuk Java kita harus menyematkan library koneksi agar Java bisa memindai database yang tersedia.
Ok, lets to the lesson. Membangun sebuah web dengan java, kita membuat sebuah program dengan multithreading programming, itu berarti kita membuat satu proses yang dapat menyelesaikan banyak fungsi. Kelebihannya ialah threads dapat berkomunikasi satu sama lain (shared memory), selain itu dengan ini program akan lebih responsive, saat menjalankan operasi yang panjang. Kekurangannya ialah permasalahan ketika mengakses shared objek atau memory. (source: stackoverflow.com)
Saya dapatkan dalam membangun sebuah aplikasi web ada dua hal yang harus diperhatikan, yaitu mengenai back-end dan front-end (belum termasuk yang lain-lainnya, namun itu salah dua utamanya). Pembuatan web dinamis, tidak akan lepas dari dua hal ini, karena ada yang mengendalikan server dan juga mengatur tampilan di user. Berbeda dengan web statis yang hanya berfokus pada tampilannya saja, namun jarang menemui web statis karena kebutuhan user di web sederhanapun makin beragam, terutama jika memerlukan database.
Untuk back-end, dengan menggunakan bahasa pemprograman Java. Dibangun atas 4 package, yaitu controller, modal, service pada awalnya (untuk util saya lupa apakah ini diajarkan pada basic atau ketika sudah memakai spring, saya jelaskan nanti). Pada controller kita berfokus pada pengendalian request dan respons, yang memberitahukan bahwa semua proses dikendalikan oleh controller ketika ada request masuk ke sistem dan mengembalikannya berupa respons ke depan. Request nantinya bisa bermacam-macam, namun yang paling dasar ialah berupa 'GET' atau link URL. Lalu model mempresentasikan data request, biasanya model merepresentasikan data di dalam database. Yang terakhir adalah service, dimana service ialah manipulasi request dan mengolah respons tertentu sesuai dengan kebutuhan. Kita buat gambaran umumnya mengenai back-end ini, misalnya saja ketika user meminta (request) data A lalu service yang mengolah data A ingin diolah seperti apa, Controller yang mengatur A akan masuk ke service yang mana, dan jika ada kaitannya dengan database controller akan memanggil model yang sesuai dengan kebutuhan si user dan mengirimkannya ke service yang terlibat dalam proses request user. Nantinya ketika request selesai maka akan menghasilkan respons sesuai permintaan, tergantung fungsi yang kita buat.
Lalu masuk ke front-end, di front-end banyak yang bilang jika lebih mudah dari back-end, nyatanya baik back-end maupun front-end sama-sama memiliki kendala masing-masing, semisal tampilannya harus ramah, minim loading, dapat dijalankan normal baik melalui komputer maupun mobile, dan lain lain. Dalam hal tampilan, biasanya pembuat web menggunakan bahasa HTML dengan menggunakan framework untuk mempercantik tampilannya, semisal bootstrap. Selain itu bisa juga dengan menambah beberapa fungsi untuk menjadikan halaman lebih komunikatif, seperti menambah fungsi javascript. Dalam javascript juga kita bisa menambah fungsi jquery, ajax, datatable, dll tergantung kebutuhan sehingga lebih memudahkan front-end developer dalam membangun tampilan depan yang komunikatif dan memiliki desain yang lebih menarik.
Cukup sekian untuk cerita kali ini mengenai pengalaman saya di bootcamp Xsis Academy kali ini, semoga bisa bermanfaat.
Tidak ada komentar:
Posting Komentar