top of page

Framework

Framework adalah fondasi yang digunakan oleh developer maupun programmer untuk membuat aplikasi dan website.

software-engineer

Apa itu Framework? 

Pengertian framework
Pengertian framework

Dilansir dari Hackr.io, framework adalah fondasi yang digunakan oleh developer maupun programmer untuk membuat aplikasi dan website. Struktur ini berupa coding yang ditulis untuk melakukan tugas dan fungsionalitas tertentu.

Jika diibaratkan, framework adalah fondasi rumah yang dibuat agar bangunan menjadi kokoh dan bisa bertahan lama. Membuat dasar bangunan kemungkinan membutuhkan waktu cukup lama. Namun jika rumah telah memiliki fondasi yang kuat, proses pengerjaan dan pemeliharaan akan menghemat banyak tenaga, terutama jika dilakukan oleh ahlinya.

Dalam pengembangan software, framework memiliki tujuan yang sama. Framework dirancang dan diuji oleh software engineer agar menjadi dasar yang kuat bagi aplikasi dan website.

Meski demikian, sebuah rumah tidak akan bisa digunakan jika hanya menggunakan kerangka. Demikian pula dengan framework. Tools ini merupakan titik awal dari pengembangan perangkat. Setelahnya, developer perlu menambahkan fungsionalitas tingkat tinggi agar aplikasi dan website bisa digunakan.

Fungsi Framework

Berikut beberapa kegunaan dari framework:

  • Menghemat waktu dan mengurangi risiko kesalahan.
  • Kode menjadi lebih aman.
  • Proses testing dan debugging akan lebih sederhana.
  • Menghindari duplicate dan redundant code.
  • Membuat kode pengembangan yang konsisten dengan lebih sedikit bug.
  • Memungkinkan untuk diperpanjang.
  • Memberikan outline untuk diikuti oleh coder (pembuat kode).
  • Memungkinkan coder fokus pada tugas yang lebih spesifik di project tertentu.
  • Mengurangi biaya dengan mempersingkat waktu yang diperlukan developer untuk memprogram aplikasi.

Jenis-jenis dan Contoh Framework

Jenis framework sangatlah banyak menyesuaikan kebutuhan masing-masing. Dirangkum dari Hackr.io dan FreeCodeCamp, berikut jenis-jenis framework secara umum beserta contohnya:

Web app frameworks

Angular

Angular adalah typescript-based framework yang dikembangkan oleh Angular Team di Google. Ini merupakan open-source framework untuk membuat dan memecahkan masalah aplikasi di web, seluler, dan desktop

Beberapa website populer yang dikembangkan menggunakan AngularJS meliputi Netflix, Paypal, dan YouTube.

Laravel

Laravel adalah PHP-based web app framework. Jenis ini merupakan open-source framework dan mengikuti pola desain model-view-controller yang mudah dipahami.

Beberapa website yang dikembangkan menggunakan Laravel adalah Alison.com, Barchart.com, dan World Walking.                                                                                                                                                                                                                                                                                                                                                                                         

Mobile development frameworks

React Native

React Native adalah open-source lintas platform Javascript framework yang dikembangkan oleh Meta. Lintas platform mengartikan bahwa jenis framework ini dapat digunakan untuk mengembangkan aplikasi di beberapa sistem dengan satu code base.

Flutter

Flutter adalah open-source UI software development yang dibuat oleh Google. Jenis ini menggunakan Dart programming language dan C atau C++. Software engineer biasanya menggunakan Flutter untuk mengembangkan aplikasi lintas platform pada sistem seperti Android, Linux, Windows, dan iOS.

Beberapa perusahaan besar yang menggunakan Flutter yaitu Alibaba dan BMW.

Data science frameworks

Apache Spark

Apache Spark adalah unified analytics engine (mesin analitik terpadu) yang digunakan untuk pemrosesan data berskala besar. Framework jenis ini dapat ditulis menggunakan Java, Python, R, dan SQL.

Beberapa perusahaan yang menggunakan Apache Spark yaitu Amazon, Microsoft, dan Visa.

PyTorch

PyTorch adalah open-source machine learning framework berbasis bahasa pemrograman Python dan library Torch. Pytorch dibuat untuk mempercepat proses research prototyping dan penyebaran produksi.

Penutup

Framework adalah struktur yang digunakan programmer dan developer untuk membuat website maupun aplikasi. Framework dapat menggabungkan berbagai resources seperti file gambar dan dokumen referensi menjadi satu “wadah”. Wadah itu bisa dimodifikasi agar sesuai dengan persyaratan proyek tertentu.

Dengan framework, developer dapat mengintegrasikan fitur baru yang lebih canggih ke dalam aplikasi dan website

FAQ (Frequently Asked Question)

Apa perbedaan framework dan library?   

Framework adalah tools yang digunakan agar developer memiliki template khusus dan tidak perlu memulai dari awal ketika membuat aplikasi. Framework berupa coding yang ditulis untuk melakukan tugas dan fungsionalitas tertentu.

Sementara library adalah kumpulan kode dan fungsi yang sudah ditulis sebelumnya. Library digunakan programmer untuk menyederhanakan pekerjaan dan mempercepat proses pengembangan.

Perbedaan utama antara framework dan library terletak pada inversi kontrol.

Saat menggunakan library, kontrol tetap ada pada developer sehingga dapat menentukan kapan aplikasi kapan harus menggunakan fungsi library. Sebaliknya, framework memiliki kontrol yang akan memberi tahu developer di mana kode harus disediakan dan menggunakannya sesuai kebutuhan.

Lebih lanjut, berikut perbedaan framework dan library dirangkum dari Geeks for Geeks:

  • Framework terdiri dari banyak API, program pendukung, library, dan compiler. Library merupakan kumpulan helper module, class, object, function, dan pre-written code.
  • Framework sulit diganti. Library mudah diganti dengan library lain.
  • Tidak mungkin memasukkan framework ke dalam proyek yang sudah ada. Sebaliknya, library dapat dengan mudah diintegrasikan ke dalam proyek yang sudah ada untuk menambahkan beberapa fungsi tertentu.
  • Mengembangkan framework membutuhkan banyak kode sehingga waktu muat (load time) lebih lama. Library memerlukan lebih sedikit kode yang tidak memerlukan load time terlalu lama.

Mulai karirmu dalam

software-engineer

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

IKUT KURSUS GRATIS
bottom of page