ಎಲ್ಲರೂ Tailwind CSS v4 ಬಗ್ಗೆ ಯಾಕೆ ಜಗಳವಾಡುತ್ತಿದ್ದಾರೆ ಎಂಬುದರ ನಿಜವಾದ ಕಾರಣ

Tailwind CSS v4 ಕುರಿತಾದ ಚರ್ಚೆ ಎಲ್ಲೆಡೆ ನಡೆಯುತ್ತಿದೆ. ಹೆಚ್ಚಿನ ಜನರು ತಪ್ಪು ವಿಷಯದ ಬಗ್ಗೆ ವಾದಿಸುತ್ತಿದ್ದಾರೆ.

ನಿಜವಾದ ಪ್ರಶ್ನೆಯು utility classes ಮತ್ತು inline styles ನಡುವಿನ ಹೋರಾಟವಲ್ಲ. ನಿಮ್ಮ styling ಎಲ್ಲಿ ಇರುತ್ತದೆ ಮತ್ತು ಅದಕ್ಕಾಗಿ ಯಾರು ಮಾನಸಿಕ ಶ್ರಮವನ್ನು ಪಾವತಿಸಬೇಕಾಗುತ್ತದೆ ಎಂಬುದು ಮುಖ್ಯವಾದ ವಿಷಯ.

Tailwind v4 ನಿಮ್ಮ configuration ಅನ್ನು ನಿಮ್ಮ CSS ಫೈಲ್‌ಗೆ ವರ್ಗಾಯಿಸುತ್ತದೆ. ನೀವು JavaScript config ಫೈಲ್‌ಗೆ ಬದಲಾಗಿ @theme ಅನ್ನು ಬಳಸುತ್ತೀರಿ. ಇದು ಕೆಲಸದ ಹರಿವನ್ನು (workflows) ಹೆಚ್ಚು ಸುಗಮಗೊಳಿಸುತ್ತದೆ.

ಆದರೆ ಈ ವಿವಾದಕ್ಕೆ ಇದೇ ಕಾರಣವಲ್ಲ. v4 ಎರಡು ವಿಭಿನ್ನ ಮಾದರಿಗಳನ್ನು (patterns) ಬಳಸಲು ಸುಲಭಗೊಳಿಸುವುದರಿಂದ ಈ ವಿವಾದ ಉಂಟಾಗುತ್ತಿದೆ.

ಮಾದರಿ 1: ನಿಮ್ಮ componentsಗಳಲ್ಲಿ utility classes ಬಳಸುವುದು. ನೀವು ನೇರವಾಗಿ ನಿಮ್ಮ HTML ಅಥವಾ JSX ನಲ್ಲಿ classes ಬರೆಯುತ್ತೀರಿ. ಇದು ಒಂದು element ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ತಿಳಿಸುತ್ತದೆ.

ಮಾದರಿ 2: @apply ವಿಧಾನ. ನೀವು CSS ಫೈಲ್‌ನಲ್ಲಿ .alert ಅಥವಾ .alert--error ನಂತಹ semantic classes ಅನ್ನು ರಚಿಸುತ್ತೀರಿ. ಇದು ಒಂದು element ಏನನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ತಿಳಿಸುತ್ತದೆ.

ಎರಡೂ ವಿಧಾನಗಳು ಕೆಲಸ ಮಾಡುತ್ತವೆ. ಯಾವುದೂ ತಪ್ಪಲ್ಲ. ಅವು ವಿಭಿನ್ನ ತತ್ವಗಳನ್ನು ಅನುಸರಿಸುತ್ತವೆ.

Group A 'co-location' ಅನ್ನು ನಂಬುತ್ತದೆ. ಎಲ್ಲವೂ ಒಂದೇ ಕಡೆ ಇರುತ್ತದೆ. Group B 'semantic names' ಅನ್ನು ನಂಬುತ್ತದೆ. ಅವರು ಉದ್ದೇಶವನ್ನು ವಿವರಿಸುವ ಹೆಸರುಗಳನ್ನು ಬಯಸುತ್ತಾರೆ.

ಒಬ್ಬ ಡಿಸೈನರ್ error ಬಣ್ಣವನ್ನು ಕೆಂಪಿನಿಂದ ಕಿತ್ತಳೆಗೆ ಬದಲಾಯಿಸಿದಾಗ, Group A ಕೋಡ್ ಫೈಲ್‌ಗಳಲ್ಲಿ ಹುಡುಕಬೇಕಾಗುತ್ತದೆ. Group B ಕೇವಲ ಒಂದು CSS ಫೈಲ್‌ನಲ್ಲಿ ಒಂದು ಸಾಲನ್ನು ಬದಲಾಯಿಸಿದರೆ ಸಾಕು.

Tailwind v4 ಬಳಕೆಯಿಂದ @apply ಹೆಚ್ಚು ನೈಸರ್ಗಿಕವಾಗಿ ಕಾಣಿಸುತ್ತದೆ. ಇದು ಉದ್ವಿಗ್ನತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.

ನಿಮ್ಮ ತಂಡದ ಗಾತ್ರಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಹೇಗೆ ಆಯ್ಕೆ ಮಾಡಬೇಕೆಂದು ಇಲ್ಲಿದೆ:

  • ಸಣ್ಣ ತಂಡಗಳು (Small teams): utility classes ಬಳಸಿ. ನೀವು classes ಗೆ ಹೆಸರು ನೀಡಲು ಸಮಯ ವ್ಯಯಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಎಲ್ಲರೂ ಒಂದೇ ಫೈಲ್‌ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡಿದಾಗ ನೀವು ವೇಗವಾಗಿ ಮುನ್ನಡೆಯಬಹುದು.

  • Component libraries: @apply ಅಥವಾ CSS variables ಬಳಸಿ. ನಿಮ್ಮ ಬಳಕೆದಾರರಿಗೆ ನಿಮ್ಮ ಆಂತರಿಕ design tokens ಬಗ್ಗೆ ತಿಳಿದಿರಬೇಕಾದ ಅಗತ್ಯವಿಲ್ಲ.

  • ದೊಡ್ಡ ಕಂಪನಿಗಳು (Large companies): hybrid model ಬಳಸಿ. semantic classes ಅನ್ನು ನಿರ್ವಹಿಸಲು ಒಂದು design system ತಂಡಕ್ಕೆ ಅವಕಾಶ ನೀಡಿ. ಅಪ್ಲಿಕೇಶನ್ ಡೆವಲಪರ್‌ಗಳು ವೇಗದ ಲೇಔಟ್‌ಗಳಿಗಾಗಿ utilities ಬಳಸಲು ಬಿಡಿ.

ದೀರ್ಘವಾದ class strings ಓದುವುದನ್ನು ತಪ್ಪಿಸಲು ಕೇವಲ @apply ಅನ್ನು ಬಳಸಬೇಡಿ. ಅದು ಯಾವುದೇ ತಂತ್ರವಲ್ಲ (strategy). ಅದು ಕೇವಲ ತಪ್ಪಿಸಿಕೊಳ್ಳುವಿಕೆಯಾಗಿದೆ.

ತೀವ್ರವಾಗಿ ಟೀಕಿಸುವವರು ಹೆಚ್ಚಾಗಿ framework ಗಿಂತ ಹೆಚ್ಚಾಗಿ ತಮ್ಮ ಪರಿಕರಗಳ (tools) ವಿರುದ್ಧವೇ ಹೋರಾಡುತ್ತಾರೆ. ನಿಮ್ಮ editor ನಲ್ಲಿ IntelliSense ಇಲ್ಲದಿದ್ದರೆ ಅಥವಾ ನಿಮ್ಮ ತಂಡದಲ್ಲಿ design token system ಇಲ್ಲದಿದ್ದರೆ, ಕೆಲಸದ ಹರಿವು (workflow) ಅಸ್ತವ್ಯಸ್ತವಾಗಿ ಕಾಣಿಸುತ್ತದೆ.

framework ಅನ್ನು ದೂಷಿಸುವ ಮೊದಲು ನಿಮ್ಮ workflow ಅನ್ನು ಸರಿಪಡಿಸಿಕೊಳ್ಳಿ.

Tailwind v4 ಒಂದು ಬಲಿಷ್ಠ ಬಿಡುಗಡೆಯಾಗಿದೆ. CSS-first config ಹೆಚ್ಚು ಉತ್ತಮವಾಗಿದೆ. ಈ ಚರ್ಚೆಯು ತಂಡಗಳು ಸ್ಪಷ್ಟ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕಿದೆ ಎಂಬುದರ ಸಂಕೇತವಷ್ಟೇ.

ಒಂದು ಆಯ್ಕೆಯನ್ನು ಮಾಡಿ. ಅದನ್ನು ದಾಖಲಿಸಿ (Document). ಮುಂದೆ ಸಾಗಿ.

ನಿಮ್ಮ ತಂಡದ ವಿಧಾನ ಯಾವುದು? ನೀವು utility classes ಬಳಸುತ್ತೀರಾ ಅಥವಾ @apply ಬಳಸುತ್ತೀರಾ?

ಮೂಲ (Source): https://dev.to/enjoy_kumawat/the-real-reason-everyones-fighting-about-tailwind-css-v4-4o0g