Framework vs Library
Framework vs Library – Saat kita melakukan sesuatu pengembangan, Pasti Anda sering tersandung pada kata-kata seperti “Framework” dan “Library”. Tapi tahukah apa maksudnya dan apa yang seharusnya Anda ketahui tentang kedua hal itu? Pada catatan ini akan menunjukkan pro dan kontra dari masing-masing asas tersebut dan sebuah deskripsi di mana kasus yang harus Anda pilih. Catatan ini juga akan menunjukkan perbedaan cara penggunaan di antara keduanya. Sebagai contohnya akan menggunakan Symfony, yang sebagian merupakan framework dan sebagian library.
Daftar Isi
Toggle
Library
Library digambarkan sebagai “sekumpulan implementasi dari tingkah laku, yang ditulis dalam bahasa pemrograman, memiliki antarmuka yang jelas saat perilaku itu dipanggil.”
Prinsip
Untuk memahami library kita perlu mengulas ke awal mula dari library. Salah satu masalah terbesar saat itu adalah betapa rumitnya kode itu. Karena aplikasi harus ditulis secara keseluruhan, Saat terjadi peningkatan sistem pengkodean, jumlah bug mengalami peningkatan drastis. Pada tahun 1959 JOVIAL memperkenalkan sebuah cara untuk membagi aplikasi menjadi beberapa bagian yang lebih kecil. Solusi baru menjadi dasar untuk apa yang sekarang kita ketahui sebagai Library.
Sebagai Contoh
Misalkan kita ingin menggunakan database. Di PHP cukup sederhana. Yang perlu kita lakukan hanyalah terhubung ke database, siapkan pertanyaan yang ingin kita tanyakan dan dapatkan jawabannya.
Cukup sedikit kerja, bukan? Dan sekarang bayangkan bahwa Anda harus melakukan 5 versi kode untuk berbagai database. Maka akan menjadi sangat berantakan.
Dengan library kita tidak hanya mengurangi ukuran kode dari 20 baris menjadi hanya 12, namun pada saat yang sama mengizinkan database lain untuk digunakan. Mengapa hal ini begitu kuat? Karena library PDO secara internal menggunakan library yang berbeda, yaitu… berarti bahwa ketika Anda menulis blog Anda tidak perlu khawatir tentang penyelesaian alamat database ke IP atau mencegah SQL injection. Sehingga Anda dapat membuat blog yang sedang Anda kerjakan – hanya “melakukan satu hal dan melakukannya dengan baik”. Itulah kekuatan library.
Kekurangan
Library juga memiliki kekurangan. Ada dua isu utama yang bisa Anda ikuti. Pertama disebut propagasi bug, kedua yakni keterbatasan library.
Propagasi Bug
Framework vs Library – Mari kita asumsikan kita sedang mengerjakan sebuah library yang akan di gunakan untuk menghitung jarak peta – saya akan menyebutnya B. Hal ini membutuhkan library perhitungan seperti penambahan, pengurangan, perkalian dan pembagian – bisa disebut A. Seseorang juga menggunakan library saya di situs mereka, yang di tandai sebagai C. Dalam skenario ini website C bergantung pada library B yang bergantung pada library A.
Nah, apa jadinya kalau library A punya bug? Bisa kita asumsikan bahwa dalam hal penambahan, yakni 1 + 3 = 5, 4 + 4 = 9, dan seterusnya. Ini berakibat di library B akan menunjukkan jarak yang salah, Otomatis situs C juga salah. Apa yang dijelaskan di sini adalah propagasi bug – bug yang bergantung akan menyebabkan bug ketergantungan.
Sekarang kita asumsikan untuk memperbaiki masalah itu dengan memodifikasi library B agar selalu mengurangi 1 setelah perhitungan. Tapi setelah beberapa waktu patch untuk library A keluar yang memperbaiki masalah tersebut. Sekarang library kita adalah sumber masalah karena kita tidak perlu mengurangkan 1. Hal ini disebut propagasi bug derivatif .
Semakin lama rantai ketergantungan, semakin besar masalahnya. Beberapa perpustakaan di jalan dapat memiliki workarounds untuk bug di dependensi mereka, yang akan menyebabkan bug baru dan menyebarkannya ke saluran.
Framework
Framework di gambarkan sebagai abstraksi, di mana perangkat lunak yang menyediakan fungsionalitas generik dapat di ubah secara selektif berdasarkan penggunaan kode penulisan.
Prinsip
Framework vs Library – Hal pertama yang harus kita lakukan adalah memikirkan arti “abstraksi”. Nah, dalam pemrograman itu menggambarkan sesuatu yang setengah jadi, maka masih perlu pengembangan lanjut untuk penggunanya. Selain itu yang perlu di perhatikan tentang “abstraksi” adalah bahwa hal tersebut sudah berisi informasi tentang celah apa yang harus mereka isi.
Hal kedua yang harus kita perhatikan tentang framework bahwa ia sering menggabungkan antara library dan “package”. Setiap framework memiliki nama sendiri untuk itu. Di Laravel mereka menyebutnya “packages”, kalau Symfony “bundles”, dalam kerangka lain mereka mungkin memiliki nama yang berbeda. Cara termudah untuk memahami package adalah membayangkannya sebagai reversed library, di mana API di sediakan bukan oleh library, namun dengan framework. Hal ini memiliki beberapa konsekuensi:
- setiap package harus langsung bekerja dalam framework tertentu,
- Package yang di buat untuk satu framework tidak bisa di gunakan dalam framework lain,
- Package sering terikat pada versi framework tertentu, karena package API sama persis dengan framework API
Keuntungan
Salah satu manfaat terbesar framework adalah kemudahan membuat kode.
Sebagai salah satu Perusahaan Internet Service Provider di Balikpapan, PT COMTELINDO berusaha memberikan pelayanan internet terbaik dengan produk produknya.
Anda bisa menemukan katalog dan produk yang PT COMTELINDO tawarkan dengan menghubungi kontak di bawah ini:
Temukan Kami di:
Source : rifqifai.com