Kombinasi Menarik ReactJS dan TailwindCSS

Dalam sebuah projek, pemilihan framework merupakan faktor penting berkaitan dengan efektifitas pengembangan produk kedepan.

Jika menilik dari statistik saat ini, ReactJS adalah framework untuk antarmuka (frontend) yang masih merajai dikalangan frontend developer. Sedangkan metodologi dan mekanisme styling yang dipakai oleh rata-rata developer saat ini sebagian besar menggunakan CSS framework.

CSS framework yang populer dipakai oleh developer diantaranya:

  • Bootstrap
  • Foundation
  • Bulma
  • Material-UI (Berbasis React)
  • TailwindCSS
  • dan lain sebagainya

Beberapa dari framework diatas mempunyai karakteristik dan tata cara penggunaan yang berbeda. Namun pada tulisan kali ini, saya akan berfokus kesebuah framework CSS bernama TailwindCSS. Dimana menurut hemat saya, Tailwind akhir-akhir ini menjadi primadona untuk kalangan developer.

Jargon TailwindCSS

Lantas apa yang menarik? Apakah ada nilai lebih jika kita mengkombinasikan framework ReactJS dengan TailwindCSS? Mari kita bahas satu persatu.

+ Menghindari primitif CSS (penulisan CSS style secara manual)

Salah satu konsep utama pada Tailwind adalah mengumpulkan primitif styling CSS yang kompleks menjadi sebuah satu kesatuan yang siap pakai.

Q: Hmmm.. Apakah hal ini juga sama dengan framework-framework lain?
A: Betul, namun TailwindCSS memiliki fokus utama yang menghindari primitif CSS jika suatu ketika kita ingin melakukan perubahan mainstream pada sebuah komponen

Pada dasarnya, TailwindCSS adalah kumpulan utilitas CSS.

Namun seiring berjalannya waktu, jika seorang developer membutuhkan perubahan unik dari sebuah komponen, umumnya developer akan menulis manual style pada komponen tersebut (inline style). Tailwind sangat menghindari hal ini, karena di Tailwind kustomisasi pada komponen telah disediakan oleh utilitas dan developer cukup melakukan sedikit eksperimen class, tanpa menulis secara manual CSS.

Silahkan lihat screenshot perbedaan penggunaan Tailwind versus penulisan manual CSS berikut:

Menggunakan TailwindCSS class
Primitif CSS

Q: Lantas, apa keuntungannya jika kita pakai pada project berbasis ReactJS?
A: Salah satunya adalah komponen lebih bersih dari penulisan manual CSS.

Karena ReactJS merupakan framework berbasis komponen, tentu saja penggunaan TailwindCSS akan menjadikan penulisan komponen lebih sederhana, mudah dimaintenance, dan mudah dikustomisasi.

+ Reusable Adalah Kunci

Mengintegrasikan TailwindCSS dengan ReactJS, sama halnya dengan menjunjung asas reusable secara berkelanjutan :D. Komponen yang telah Anda tulis menggunakan React dan Tailwind sedikit banyak akan lebih mudah dikelola.

React adalah framework yang berbasis komponen, dan Tailwind adalah framework CSS yang salah satu konsep utamanya adalah mempermudah penggunaan CSS dengan penggunaan utility.

Salah satu fitur kunci dari Tailwind yang saya sukai adalah, dia memiliki directive CSS untuk menghindari penulisan inline class yang terlalu panjang. Contohnya seperti berikut ini:

Directive CSS Tailwind

Dari contoh diatas, kita bisa menggunakan directive berupa @apply didalam <style>. Kelebihan penggunaan @apply directive menurut saya ada 2:

  • Tetap menghindari penulisan primitif CSS
  • Dan menghindari inline class CSS yang terlalu panjang

Selain itu, dengan @apply kita juga bisa mengimplementasikan dengan model seperti injection:

@apply directive injection

Cukup menarik bukan?

+ Kapan dan Bagaimana Menggunakan TailwindCSS pada Project React?

Ada sedikit catatan bagi kalian yang ingin menggunakan TailwindCSS pada sebuah project, antara lain:

  • Kurang begitu cocok untuk existing project yang sudah menggunakan framework CSS lain. Karena penggunaan TailwindCSS lebih baik pada saat awal inisiasi project akan dibuat.
  • Tidak disarankan untuk project yang memiliki skala kecil. Lebih baik menggunakan basic CSS atau framework yang lebih sederhana, karena akan mengakibatkan sedikit overkill.

Jika kalian ingin mencoba TailwindCSS, dokumentasi diwebsite resmi mereka sangat lengkap, bisa dibaca disini https://tailwindcss.com/docs. Terdapat beberapa penjelasan konsep, tata cara layouting dan juga petunjuk instalasi untuk diintegrasikan pada framework ReactJS dan framework lainnya.


Terima kasih telah membaca artikel ini. Semoga bermanfaat. 🙂

 

Muhammad K Huda

A non exhausted blogger person within fullstack engineer (spicy food), open source religion, self-taught driver and maybe you know or don't like it. Simply says, Hello from Me!

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.