Media Pengembangan Web & App | by APPKEY

Pembuatan Website Web Programming Seringkali Disamakan! Apa perbedaan Framework dan Library?

Seringkali Disamakan! Apa perbedaan Framework dan Library?

-

Banyak developer khususnya developer pemula masih bingung dalam membedakan framework (kerangka kerja) dan library (pustaka). Sebenarnya jika diperhatikan lebih detail, keduanya memiliki karakteristik yang sangat berbeda namun kerap disamakan karena memiliki fungsi yang sama yaitu untuk membangun aplikasi serta website.

Pada artikel ini kami akan membedah satu persatu karakteristik framework dan library. Apa saja perbedaannya?

Framework (Kerangka Kerja)

Framework, sesuai dengan namanya berupa kerangka yang berisi kumpulan kode program yang telah ditulis oleh orang lain atau team dari pengembang kerangka kerja tersebut untuk membangun suatu website atau aplikasi.

Framework telah memiliki arsitekturnya sendiri yang menentukan aliran kontrol dalam aplikasi dan ditujukan untuk membantu mempercepat proses pembangunan aplikasi atau website oleh developer karena kode- kodenya sudah ditulis dan tersedia sebelumnya. Anda hanya perlu mengisinya dengan komponen- komponen yang Anda butuhkan dalam aplikasi maupun website Anda.

Library (Pustaka)

framework-2

Library merupakan kumpulan kode atau script program yang berisi variabel, kosntanta, tipe data, object, dan fungsi-fungsi yang ditulis sebelumnya oleh para pencipta library tersebut. Developer dapat membuat mempersingkat kode program tanpa perlu membuat function atau algoritmanya sendiri.

Berbeda dengan kerangka kerja yang arsitektur aplikasi dan web yang akan dikembangkan lebih terstruktur dan terarah, sementara dengan library developer lebih bebas dan leluasa dalam mengerjakan aplikasi dan website yang akan dikembangkan.

Perbedaan Framework dan Library secara kode

Pada dasarnya, kode framework dan library sama-sama ditulis oleh orang lain atau pengembang dari software ini sendiri dan berfungsi membantu orang lain untuk lebih menghemat waktu karena kode-kode dan fungsinya sudah ditentukan.

Dalam artikel ini kami akan contohkan perbedaan keduanya dari segi kode pada JavaScript. Pada contoh ini kami membandingkan antara jQuery sebagai library dan Vue.JS sebagai kerangka kerja.

Vue.js:
//index.html
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="./app.js"></script>
</head>
<body>
<div id="app"></div>
</body>
</html>
const vm = new Vue({
template: `<div id="vue-example">
<button @click="checkForErrors">Submit</button>
<p v-if="error">{{ errorMessage }}</p>
</div>`,
el: '#vue-example',
data: {
error: null,
errorMessage: 'An Error Occurred',
},
methods: {
checkForErrors()  {
this.error = !this.error;
},
},
});

Menggunakan Vue.js, developer harus mengisi bagian yang kosong dengan objek dan properti tertentu sesuai konstruktor Vue.js. Vue memberi tahu penggunanya apa yang dibutuhkan, lalu di balik itu Vue yang memutuskan kapan penggunanya membutuhkan obje atau properti tersebut.

Vue mengendalikan program yang dijalankan, kode apapun yang dimasukan oleh developer maka itu akan menjadi tanggungjawab Vue untuk menjalankan kode tersebut.

Sementara pada jQuery:

// index.html
<html>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
</script>
<script src="./app.js"></script>
</head>
<body>
<div id="app">
<button id="myButton">Submit</button>
</div>
</body>
</html>
// app.js
// A bunch of our own code,
// followed by calling the jQuery library
let error = false;
const errorMessage = 'An Error Occurred';
$('#myButton').on('click', () => {
error = true; // pretend some error occurs and set error = true
if (error) {
$('#app')
.append(`<p id="error">${errorMessage}</p>`);
} else {
$('#error').remove();
}
});

Perhatikan perbedaannya. Developer yang memberi tahu program tersebut di mana ia ingin memanggil kode tersebut. Jika dianalogikan, menggunakan library seperti pergi ke perpustakaan lalu mengambil buku tertentu dari rak seperti yang diinginkan.

Inilah sebabnya, pembuatan aplikasi atau website dengan library lebih bebas, karena memang arsitektur dari library sendiri tidak kaku.

Library tidak membalik kendali program. Library tidak memberi tahu developer apa yang dibutuhkannya  sebaliknya developer memanggil library untuk mengetahui kapan dan di mana ia membutuhkan kode.

Artikel Terkait  Mengenal Novi HTML Visual Editor: Membangun Website Keren Tanpa Coding

Beberapa contoh framework terbaik dari berbagai bahasa pemrograman yang populer di Indonesia.

framework-1

a. Angular

Angular.JS menggunakan bahasa program JavaScript. Angular adalah script yang dibangun Google dan bersifat open-source wen application. Kerangka kerja ini populer digunakan dalam pembuatan single-page application.

Angular menggunakan arsitektur Model-View-Controller (MVC). Saat ini Angular telah mengeluarkan versi ketujuhnya dengan berbagai fitur baru yang tentunya sangat membantu para developer. Ada beberapa kerangka kerja lain yang menggunakan bahasa program JavaScript seperti Vue.js, Backbone.js, dan Ember.

b. Codeigniter

Codeiginiter merupakan kerangka kerja dengan bahasa program PHP yang populer di kalangan developer karena mudah dipelajari. Codeigniter menyediakan informasi bantuan, tutorial, pemahaman dasar, serta aplikasinya yang ringan dapat dijalankan dalam server sederhana, membuat Codeigniter menjadi salah satu framework paling direkomendasikan untuk pemula. Beberapa kerangka kerja PHP lainnya, Laravel, Phalcon, dan Yii.

c. Spring

Spring memiliki konsep Dependency Injection (injeksi ketergantungan) serta berorientasi pada aspek fitur programing. Spring bersifat open-source yang digunakan untuk aplikasi perusahaan.

Dependency Injection (DI) dan Inversion of Control (IoC). Spring memiliki prinsip memberikan kendali ke pengontrol eksternal yang menggerakkan kode.

Pengontrol eksternal adalah peristiwa. Ketika beberapa peristiwa terjadi, aliran aplikasi terus berlanjut.

Ini memberikan fleksibilitas pada aplikasi. Di Spring, IoC dilakukan oleh DI yang terdiri dari tiga jenis – injeksi penyetel, injeksi metode dan injeksi konstruktor. Beberapa kerangka kerja dengan bahasa program Java adalah, Struts, Hibernate, dan Apache Wicket.

d. Django

Django menjadi kerangka kerja Python paling populer saat ini karena memiliki komunitas yang besar. Bahkan Django memiliki sebuah badan yang dinamakan Django Software Foundation yang melakukan pendanaan untuk pengembangan Django. Kerangka kerja ini memiliki dokumentasi yang lengkap.

Django juga memiliki beragam modul umum yang memudahkan developer dalam membangun aplikasi web. Django juga tergolong ramah pemula karena sistem migrasi database otomatis yang tidak perlu ditulis kodenya. Selain Django, beberapa kerangka kerja berbasis Python yaitu, Flask, Falcon, dan Pyramid.

e. .NET

.NET adalah kerangka kerja dengan bahasa program C#. .NET dapat dijalankan di segala platform. Ia juga didesain CLR (Common Language Runtime). Adanya fitur ini, memungkinkan .NET agar dapat digunakan dalam bahasa pemrograman lain seperti C++, Visual Basic, JavaScript, COBOL, dan banyak lainnya. Hingga saat ini kerangka kerja untuk bahasa C# hanya .NET, tidak ada kerangka kerja lainnya.

Beberapa bahasa pemrograman hanya memiliki framework, karena dalam bahasa pemrograman itu sendiri atau pada kerangka kerjanya sudah menyediakan seperangkat library yang berbentuk kumpulan kode sehingga programmer tidak perlu mendownload library secara terpisah. Bahasa pemrograman itu adalah Java dan C#.

Sejauh ini belum ada library yang harus diinstal secara terpisah untuk kedua bahasa pemrograman tersebut sehingga  developer di bahasa program tersebut karena segalanya telah disediakan.

Para developer hanya memanfaatkan framework dalam membangun aplikasi maupun web serta melakukan styling pada aplikasi maupun web yang dibuat. Beberapa bahasa pemrograman seperti Python dan PHP memiliki library yang sangat sederhana dan ditujukan untuk fungsi-fungsi tertentu, tidak seperti library JavaScript yang memiliki fitur-fitur kompleks untuk membangun aplikasi maupun web atau bahkan melakukan styling pada aplikasi dan web.

Saat ini, JavaScript menjadi bahasa program dengan framework maupun library yang jenisnya paling variatif.

Berikut beberapa library dari berbagai bahasa program yang terkenal di Indonesia. Tidak semua bahasa pemrograman memiliki library.

Artikel Terkait  Pedoman Mudah Membuat Hyperlink dengan HTML | Seri Belajar Ngoding

1. React.Js

React.JS adalah Library JavaScript yang saat ini populer dan paling banyak digunakan di kalangan developer JavaScript. Beberapa alasan yang membuat React begitu populer diantaranya, komunitas pengguna yang kuat, performanya yang cepat, dan programingnya yang bersih.

Dengan React, para developer dapat menciptakan user interface yang interaktif dengan pendekatan deklaratif sehingga developer dapat mengontrol status aplikasi. Beberapa library lainnya yang menggunakan bahasa program JavaScript adalah, Dragula, Quill.js, dan jQuery.

2. Library PHP

Library pada PHP umumnya digunakan oleh para developer untuk melakukan scraping. Beberapa contoh library pada PHP adalah Standard Library, Guzzle, Buzz, Request, dan Goutte.

Beberapa fungsi masing-masing library tersebut: Standard Library ditujukan untuk memparsing HTML, Guzzle, Buzz, dan Request khusus ditujukan untuk melakukan HTTP request, dan Goutte ditujukan untuk screen scraping dan web crawling.

Artikel Terkait  Mengapa Jest Adalah Salah Satu Framework JavaScript Teratas

3. NumPy

NumPy adalah contoh library menggunakan bahasa pemrograman Python. Sesuai dengan namanya, NumPy yang merupakan singkatan dari Number Python.  Library ini memiliki fungsi guna membantu para data scientist untuk melakukan analisis data.

Berbeda dengan library lainnya, yang memang diciptakan untuk membuat aplikasi maupun web. Beberapa library Python yang memang berguna untuk kebutuhan analisis data adalah, Scipy, Pandas, Matplotlib, dan Scikit-Learn.

Demikianlah penjelasan tentang perbedaan antara framework dan library. Keduanya memang terlihat sangat mirip dari segi fungsi dan cara kerja. Terlebih pada JavaScript yang memiliki library dan kerangka kerja yang sangat variatif, membuat developer seringkali kebingungan membedakan keduanya.

Namun perlu diketahui perbedaan keduanya sebagai pengetahuan dasar untuk melangkah lebih jauh dalam dunia pemrograman.


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang Website, Aplikasi, Desain, Video dan API langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Kategori

Blog Post Ranking 10

Rekomendasi 10 Aplikasi Pembuat Animasi 3D Terbaik. Ayo Cek!

Apakah Anda bercita-cita untuk menjadi seorang animator profesional? Belajar membuat animasi kini sudah menjadi hal mudah yang bisa dilakukan...

Cara Mudah Menambahkan Lokasi Alamat Bisnis Anda di Google Maps

Saat ingin hunting tempat makan atau tempat nongkrong terbaru, tak jarang beberapa dari Anda biasanya mendapatkan informasi terkini melalui...

Pengertian Internet & Dampak Positif dan Negatif Internet

Internet mungkin bukan sesuatu yang asing lagi, sebab semua kalangan pasti tahu apa itu internet. Hanya saja jika ditanya...

Proses Komunikasi: Encoding dan Decoding

Jika kita dapat melihat percakapan antar komputer, mungkin akan terlihat seperti ini: "010110111011101011010010110". Bahasa ini disebut dengan biner, encoding...

Metadata Adalah? Fungsi dan Jenis-Jenis Metadata

Pernah mendengar istilah metadata? Mungkin, kita sering mendengar istilah metadata. Tetapi, banyak dari kita yang belum tahu arti dari metadata...

Membuat Aplikasi di Playstore dengan Mudah

Membuat aplikasi di Playstore bisa Anda lakukan dengan mudah. Terdapat beberapa situs yang bisa membantu Anda untuk membuat aplikasi...

Jasa Pembuatan Website Untuk Toko Online

Perusahaan yang menyediakan Jasa pembuatan website untuk toko online bisa kita temukan dengan mudah di internet. Masing-masing dari perusahaan...

8 Contoh Search Engine Terbaik yang Paling Banyak Digunakan di Indonesia

Dulu jika ingin mencari informasi tentang apapun biasanya kita akan menanyakan kepada seseorang yang lebih mengetahui informasi, atau datang...

Looping Adalah Algoritma Perulangan: Berikut Contohnya

Jika anda sudah mendalami atau sedang mendalami dunia pemrograman terdapat sebuah konsep yang dapat memudahkan anda dalam menyusun struktur...

Domain Google? Apa Bedanya Dengan Domain Biasa?

Saat memutuskan untuk membuat website menjadi salah satu bentuk media digital marketing Anda dalam bersaing di zaman digital ini,...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya