Anda di halaman 1dari 23

Web Framework

Pengenalan
• Web framework adalah sebuah kerangka kerja yang ditujukan untuk
mempermudah pengembangan aplikasi web.
• Kerangka kerja ini memberikan struktur yang baik dan dukungan
untuk tugas-tugas umum yang sering dijumpai dalam pengembangan
aplikasi web, seperti routing, pengelolaan session, pengelolaan
database, dsb.
Kekurangan Web Framework
1. Belajar curve yang cukup tinggi: Mempelajari web framework baru
dapat memakan waktu dan usaha, terutama jika developer belum
terbiasa dengan arsitektur dan kerangka kerja yang digunakan.
2. Overhead yang cukup besar: Beberapa web framework memiliki
overhead yang cukup besar, yang dapat menurunkan performa
aplikasi dan memakan ruang penyimpanan yang lebih banyak.
3. Terikat pada arsitektur yang ditentukan: Menggunakan web
framework dapat menyebabkan developer terikat pada arsitektur
yang ditentukan, sehingga kesulitan dalam menyesuaikan aplikasi
dengan kebutuhan khusus.
Kekurangan Web Framework [2]
4. Dependensi yang banyak : Beberapa web framework memiliki
dependensi yang banyak, yang dapat menyebabkan masalah ketika
dijalankan di lingkungan yang berbeda atau ketika mencoba untuk
mengupgrade versi.
5. Kemungkinan penyalahgunaan fitur : Beberapa web framework
memiliki fitur-fitur yang sangat lengkap, namun jika tidak digunakan
dengan benar, dapat menyebabkan masalah seperti keamanan dan
performa yang buruk.
6. Kemungkinan framework menjadi deprecated : Karena ada banyak web
framework yang muncul dan dikembangkan, ada kemungkinan
framework yang digunakan saat ini akan di deprecate atau tidak lagi
diupdate oleh pengembang.
Kelebihan Web Framework
1. Pembuatan aplikasi web lebih cepat dan efisien: Web framework
menyediakan struktur dan kerangka kerja yang sudah ditentukan,
sehingga developer dapat fokus pada logika aplikasi dan tidak perlu
menulis kode dasar yang sama untuk setiap proyek.
2. Konsistensi dalam desain: Web framework menyediakan arsitektur yang
terstruktur dan standar, sehingga aplikasi yang dibangun dengan
framework tersebut akan memiliki desain yang konsisten dan mudah
untuk dikelola.
3. Mendukung pengembangan aplikasi skala besar: Web framework dapat
digunakan untuk mengembangkan aplikasi web skala besar dengan
mudah dan efisien, karena framework tersebut dilengkapi dengan fitur-
fitur yang dibutuhkan untuk mengelola aplikasi yang kompleks.
Kelebihan Web Framework [2]
4. Dukungan komunitas yang besar: Banyak web framework memiliki
komunitas yang besar dan aktif, sehingga developer dapat dengan
mudah menemukan solusi masalah, dokumentasi, dan sumber daya
lainnya yang dibutuhkan.
5. Kemudahan dalam pengujian dan pemeliharaan: Web framework
memiliki fitur pengujian dan pemeliharaan yang baik, sehingga
memudahkan developer dalam mengecek kualitas dan mengejar
masalah yang muncul dalam aplikasi.
6. Dukungan fitur-fitur yang lengkap : Web framework umumnya memiliki
fitur-fitur yang lengkap seperti routing, ORM, template engine, security,
dan lain-lain, yang memudahkan developer dalam pembuatan aplikasi
web.
Fitur-fitur Web Framework

Routing Session Management

Error Handling
Template Engine
Asset Management
Database ORM
Testing tools
Middleware Deployment
Routing
• Routing adalah proses pemetaan antara URL yang diterima oleh
aplikasi web dengan kode yang akan dieksekusi oleh aplikasi.
• Dalam web framework, routing sering digunakan untuk menentukan
bagaimana aplikasi harus merespons sebuah permintaan.
• Routing memungkinkan kita untuk menyusun aplikasi dalam struktur
yang lebih baik karena kita dapat menentukan rute untuk setiap
halaman atau fitur aplikasi.
• Routing memungkinkan developer untuk bekerja secara terpisah
dalam pengembangan aplikasi, seperti developer frontend dan
backend.
Template Engine
• Template engine adalah sebuah Beberapa contoh template
mekanisme yang digunakan dalam engine populer adalah:
web framework yang • Python (Jinja)
memungkinkan pembuatan
template atau layout utama dari • Javascript (EJS)
sebuah aplikasi. • PHP (Twig, Blade, dll)
• Template engine digunakan untuk • Ruby (ERB)
memisahkan logika aplikasi dari • Java (Freemarker)
tampilan aplikasi.
Database ORM
• Object Relational Mapping Beberapa contoh template engine
populer adalah:
• Teknologi yang digunakan untuk
mengubah data dari database • Java (Hibernate)
relasional (seperti MySQL, • Python (Django ORM)
PostgreSQL, dll) menjadi objek- • PHP (Eloquent ORM)
objek dalam bahasa pemrograman
(seperti Java, Python, dll). • Ruby (ActiveRecord)
• Javascript (Sequelize)
• Go (Gorm)
Kelebihan ORM
• Abstraksi lapisan basis data: ORM menyediakan lapisan abstraksi antara
aplikasi dan basis data, memungkinkan pengembang untuk berinteraksi
dengan basis data menggunakan sintaks berorientasi objek, daripada
menulis kueri raw SQL.
• Dukungan untuk banyak basis data: ORM biasanya mendukung banyak
basis data, seperti MySQL, PostgreSQL, SQLite, dan lainnya, memungkinkan
pengembang untuk beralih antar basis data dengan mudah tanpa
mengubah kode aplikasi.
• Pembuatan tabel otomatis: ORM umumnya menyediakan alat untuk
membuat tabel secara otomatis berdasarkan model dan skema yang
ditentukan dalam aplikasi. Hal ini menghilangkan kebutuhan developer
untuk menulis kueri SQL mentah untuk membuat tabel.
Middleware
• Dalam pengembangan web, middleware adalah komponen perangkat
lunak yang berada di antara requests dan responses aplikasi.
• Middleware menambahkan fungsionalitasnya dengan cara modular
dan fleksibel, tanpa mengubah kode inti dari aplikasi.
• Contoh penerapanya: untuk autentikasi, otorisasi, validasi input,
enkripsi/dekripsi, logging dan caching.
Session Management
• Session management dalam web framework mengacu pada proses
mempertahankan keadaan interaksi antar pengguna dan sistem.
• Secara teknis, hal ini umumnya dilakukan melalui penggunaan session
dan cookies.
• Dengan bantuan manajemen sesi dari framework, developer
diberikan kemudahan untuk menyimpan dan mengambil data yang
terkait dengan sesi pengguna, seperti status login, konten keranjang
belanja, pesan sukses/eror dan data-data lainnya.
Asset Management
• Asset management dalam pengembangan web mengacu pada proses
pengorganisasian, pengelolaan, dan penyampaian berbagai file yang
membentuk aplikasi web, seperti gambar, CSS stylesheets, dan file
JavaScript.
• Fitur pada asset management meliputi fitur seperti kompresi file,
versioning, dan pengelolaan dependensi file.
Error Handling
• Error handling dalam pengembangan web mengacu pada proses
dalam menangani dan menanggapi kesalahan / error yang terjadi
dalam aplikasi web.
• Web framework biasanya menyediakan sudah menyediakan alat
bawaan untuk menangani kesalahan dan memberikan pesan
kesalahan yang bermanfaat bagi pengguna maupun pengembang.
Testing tools
• Testing adalah aspek penting dari pengembangan web, karena
membantu memastikan bahwa aplikasi kita dapat berfungsi seperti
yang diharapkan dan setiap perubahan atau pembaruan tidak
merusak fungsionalitas yang ada / sedang berjalan.
• Web framework umumnya menyediakan alat bawaan untuk menguji
aplikasi seperti: PHPUnit (PHP), JUnit(Java), Django Test Runner
(Python)
Deployment
• Deployment merupakan tahap penting dari finalisasi pengembangan
aplikasi web.
• Web framework biasanya memiliki langkah-langkah umum untuk
men-deploy aplikasi web, seperti mengonfigurasi server, menerapkan
aplikasi, menguji, serta proses pemantauan dan pemeliharaanya.
Web Framework Populer
JavaScript:
Python: Ruby: Ruby on
Express.js, Java: Spring
Django, Flask Rails
Meteor.js

PHP: Laravel, C# : ASP.NET


GO : Revel Scala: Play
CodeIgniter Core

Elixir: Phoenix Rust: Rocket


Apakah WordPress sebuah
Framework???
WordPress Bukan Framework
• Terlepas dari kepopulerannya di Internet, WordPress bukanlah web
framework.
• WordPress adalah sebuah sistem manajemen konten (CMS) yang
dikembangkan menggunakan bahasa pemrograman PHP.
Apakah saat ini hukumnya wajib
untuk menggunakan web
framework??
Framework Tidak Wajib
• Dalam proses pengembangan aplikasi web, tidak wajib hukumnya
menggunakan web framework.
• Namun, menggunakan web framework dapat memberikan beberapa
manfaat dan membuat proses pengembangan menjadi lebih lancar,
terstrukur dan efisien.
• Kenali studi kasus yang anda miliki dan pilih metode yang sesuai.
Merci

Anda mungkin juga menyukai