What is a Web Framework?
"Framework" adalah kata yang banyak digunakan dalam kaitannya dengan kode. Jadi, apa itu framework? Ketika kita berbicara tentang framework, framework itu biasanya jatuh ke dalam tiga kategori berbeda - frontend, backend, dan CSS atau user interface framework. Tetapi bahkan setelah Anda tahu framework apa, yang mana yang harus Anda pelajari atau gunakan dan mengapa? Postingan ini akan membahas mengenai apa itu framework, dan bagaimana membuat keputusan tentang framework seperti apa yang harus Anda gunakan untuk proyek Anda!
Apa itu Frameworks
Jika kita melihat beberapa aplikasi web yang berbeda, kita dapat melihat bahwa ada banyak fitur yang digandakan. Banyak yang memiliki autentikasi pengguna, halaman-halaman yang dirender, mereka terhubung ke database, mereka memiliki profil yang dapat Anda lihat, mereka semua memiliki feed informasi yang disesuaikan dll.Selain itu, banyak waktu ketika kita membangun aplikasi, kita ingin memformat kode kita dengan cara tertentu yang membantu kita menjadi lebih efisien dan membantu pengembang lain memahami kode kita. Web framework membantu kita mencapai struktur dalam aplikasi kita, dan mereka memberi kita fitur tambahan yang bisa kita tambahkan tanpa terlalu banyak kerja ekstra. Framework memberi kita tempat untuk memulai sehingga kita dapat fokus pada fitur daripada detail konfigurasi.
Kode dibaca lebih banyak daripada yang tertulis, dan sangat penting ketika Anda bekerja dengan pengembang lain sehingga mereka tahu di mana kode untuk tugas-tugas tertentu sedang ditulis sehingga mereka dapat menggunakannya dalam kode mereka sendiri. Franework juga memiliki konvensi untuk bagaimana kode tersebut ditulis dan terstruktur, yang menstandarkan bagaimana pengembang menulis kode mereka.
Sebagian besar situs web berbagi struktur yang sangat mirip (tidak sama persis). Tujuan dari framework adalah untuk menyediakan struktur umum sehingga pengembang tidak perlu mengulanginya dari awal dan dapat menggunakan kembali kode yang disediakan. Dengan cara ini, framework memungkinkan kita untuk memotong sebagian besar pekerjaan dan menghemat banyak waktu.
Backend vs Frontend
Frontend dari aplikasi web adalah bagian yang Anda melihat dan berinteraksi dengannya. Ini terdiri dari desain web dan interaksi situs. Dalam hal bahasa pemrograman, ini hampir selalu terdiri dari CSS, HTML, dan JavaScript halaman.Backend terdiri dari server, database, dan kode yang berinteraksi dengan mereka. Ini juga terdiri dari kode yang memberikan data dinamis ke bagian depan situs. Ini dapat ditangani di sebagian besar bahasa pemrograman. Yang akan kita diskusikan terutama hari ini adalah Python, Ruby, dan Node JavaScript, tetapi ada banyak lainnya.
User Interface Frameworks
User interface frameworks membantu membuat aplikasi web yang bergaya dan terlihat profesional. Sebagian besar termasuk beberapa jenis sistem grid sehingga Anda menyelaraskan elemen, mereka memiliki skema warna sehingga ditangani untuk Anda, dan mereka menyesuaikan dengan mode komponen HTML Anda menggunakan CSS sehingga mereka terlihat bersih dan profesional. Ini berada dalam domain frontend; Namun, biasanya ketika kita merujuk ke frontend framework kita berbicara tentang JavaScript.Beberapa User Interface Frameworks meliputi:
Bootstrap
- Sangat terkenal, dan dibangun oleh Twitter
- Mudah dipelajari dan terlihat profesional
- Dapat dengan mudah dikenali "Situs Bootstrap"
- Mungkin sulit untuk menyesuaikan komponen
Materialize
- Terlihat bersih
- Sedikit lebih "menyenangkan" dari Bootstrap
- Banyak pilihan gaya dan warna
- Mengikuti panduan gaya Bahan Google
Foundation
- Banyak contoh
- Terlihat profesional
Semantic UI
- Lots built-in
- Tema bawaan sehingga dapat disesuaikan
Grommet
- Memiliki fokus besar pada aksesibilitas
- Terlihat sangat bersih
- Tidak seperti yang digunakan beberapa yang lain
- Dibuat untuk React JS (framework lain yang akan kita lihat nanti)
Memilih UI Framework
Memilih user interface framework sebagian besar bermuara pada preferensi pribadi dalam penampilan dan tujuan situs. Gaya yang berbeda mungkin menarik bagi industri yang berbeda atau dapat menyampaikan pesan yang berbeda kepada pengguna.Fronted Frameworks
Fronted frameworks, dalam banyak kasus, ditulis dalam JavaScript dan untuk mengatur fungsionalitas, interaktivitas situs web Anda. Beberapa di antaranya adalah:Vue
- Mudah untuk dipelajari
- Sangat cepat
- Semua alat yang terkait dengannya dikemas dengan baik
- Mengambil bagian dari Sudut dan Bereaksi dan mengoptimalkannya
- kurang diadopsi secara luas daripada yang lain
- Fleksibel - Anda dapat menggunakannya dalam berbagai cara
AngularJS
- Dibangun oleh Google
- Didukung dengan baik
- Sejumlah besar fitur
- Meningkatkan skalabilitas aplikasi
- Sulit di-debug
- Kurva belajar yang besar
Angular 2+
- Dibangun oleh Google
- Didukung dengan baik
- Mendorong penggunaan kembali
- Meningkatkan skalabilitas aplikasi
- Kurva belajar yang besar
React
- Dibangun oleh Facebook
- Bundel kode frontend menjadi komponen
- Mengatur kode dan data untuk membuat kode lebih dapat digunakan kembali
- Kurva belajar yang besar
Ember
- Memberikan sejumlah besar fungsi di luar kotak
- Diberi pendapat (Anda harus menggunakan formatnya)
- Curam kurva pembelajaran
Memilih Fronted Frameworks
Dunia frontend frameworks berkembang sangat cepat, sepertinya frontend framework baru terus meningkat setiap beberapa bulan. Pelajari apa yang masuk akal bagi Anda, dan jangan terlalu khawatir tentang apa yang "hottest" saat ini.Beberapa orang berpendapat bahwa React dan Vue adalah libraries bukan framework, tetapi banyak orang menganggapnya framework.
Backend Framework
Backend framework jauh lebih bervariasi. Mereka ditulis dalam berbagai bahasa pemrograman dan memiliki berbagai fitur. Di bawah ini, seperti daftar di atas, adalah daftar yang sangat tidak lengkap dari beberapa framework di luar sana untuk menulis aplikasi backend.Spring MVC
- Java (bahasa yang lebih sulit untuk dipelajari)
- Sangat cepat
- Kurang beralasan
Django
- Python (bahasa yang lebih mudah dipelajari)
- Senang sedang antara menjadi sangat keras kepala dan kurang terstruktur
- Memberi Anda banyak fungsi di luar kotak (seperti otentikasi pengguna, koneksi database, dan rendering tampilan)
- Bisa sulit untuk mengintegrasikan front-end yang mewah.
- Penanganan data Python luar biasa
Flask
- Python (bahasa yang lebih mudah dipelajari)
- Lebih sedikit pendapat dan lebih dapat dikustomisasi daripada Django
- Memberi Anda lebih sedikit di luar kotak (Anda harus membangun lebih banyak)
Ruby on Rails
- Ruby (bahasa yang lebih mudah dipelajari)
- Sangat beralasan
- Memiliki alat yang hebat seperti perancah sehingga Anda dapat membangun dengan cepat
- Memberi Anda banyak fungsi di luar kotak (seperti otentikasi pengguna, koneksi database, dan rendering tampilan)
- Jalur pipa aset membantu dengan pengembangan front-end
- Ruby membutuhkan waktu lebih lama untuk menjalankan program daripada beberapa bahasa pemrograman lainnya
Meteor
- JavaScript (bahasa yang lebih mudah dipelajari)
- Memberi Anda banyak fungsi di luar kotak (seperti otentikasi pengguna, koneksi database, dan rendering tampilan)
- Terintegrasi dengan sangat baik dengan ujung depan modern
Express
- JavaScript (bahasa yang lebih mudah dipelajari)
- Sangat bisa dikustomisasi
- Sangat ringan
- Kurang fitur bawaan
- Node sangat cepat
