ಸಂಕೀರ್ಣ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಮಾಡ್ಯುಲರ್, ನಿರ್ವಹಿಸಬಲ್ಲ ಮತ್ತು ನಿರೀಕ್ಷಿತ ಸ್ಟೈಲ್ಶೀಟ್ಗಳನ್ನು ರಚಿಸಲು CSS @scope ನ ಶಕ್ತಿಯನ್ನು ಅನ್ವೇಷಿಸಿ. ನಿರ್ದಿಷ್ಟ ಅಂಶಗಳನ್ನು ಗುರಿಯಾಗಿಸುವುದು ಮತ್ತು CSS ಸಂಘರ್ಷಗಳನ್ನು ಸುಲಭವಾಗಿ ತಪ್ಪಿಸುವುದು ಹೇಗೆಂದು ತಿಳಿಯಿರಿ.
CSS @scope: ಸ್ಕೋಪ್ಡ್ ಸ್ಟೈಲಿಂಗ್ನ ಆಳವಾದ ನೋಟ
ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾಗುತ್ತಿದ್ದಂತೆ, CSS ಸ್ಟೈಲ್ಶೀಟ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಒಂದು ದೊಡ್ಡ ಸವಾಲಾಗಬಹುದು. ಜಾಗತಿಕ ಸ್ಟೈಲ್ಶೀಟ್ಗಳು, ಆರಂಭದಲ್ಲಿ ಅಳವಡಿಸಲು ಸರಳವಾಗಿದ್ದರೂ, ಆಗಾಗ್ಗೆ ಅನಪೇಕ್ಷಿತ ಶೈಲಿಯ ಸಂಘರ್ಷಗಳಿಗೆ ಮತ್ತು ನಿರ್ವಹಣೆಯ ತಲೆನೋವಿಗೆ ಕಾರಣವಾಗುತ್ತವೆ. CSS ಮಾಡ್ಯೂಲ್ಗಳು ಮತ್ತು BEM (ಬ್ಲಾಕ್, ಎಲಿಮೆಂಟ್, ಮಾಡಿಫೈಯರ್) ನಂತಹ ತಂತ್ರಗಳು ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಹೊರಹೊಮ್ಮಿವೆ, ಆದರೆ ಈಗ, CSS ಒಂದು ಸ್ಥಳೀಯ ಪರಿಹಾರವನ್ನು ನೀಡುತ್ತದೆ: @scope at-rule. ಈ ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ @scope ನ ಸಮಗ್ರ ಪರಿಶೋಧನೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅದರ ಉದ್ದೇಶ, ಸಿಂಟ್ಯಾಕ್ಸ್, ಪ್ರಯೋಜನಗಳು ಮತ್ತು ವೈವಿಧ್ಯಮಯ ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ಪ್ರಾಯೋಗಿಕ ಬಳಕೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ.
CSS @scope ಎಂದರೇನು?
@scope at-rule ನಿಮ್ಮ ಡಾಕ್ಯುಮೆಂಟ್ನ ನಿರ್ದಿಷ್ಟ ಪ್ರದೇಶದೊಳಗೆ ಮಾತ್ರ ಅನ್ವಯವಾಗುವ ಸ್ಟೈಲಿಂಗ್ ನಿಯಮಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇದು ಶೈಲಿಗಳನ್ನು ಎನ್ಕ್ಯಾಪ್ಸುಲೇಟ್ ಮಾಡಲು ಒಂದು ಶಕ್ತಿಯುತ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅವು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಇತರ ಭಾಗಗಳ ಮೇಲೆ ಅಜಾಗರೂಕತೆಯಿಂದ ಪರಿಣಾಮ ಬೀರದಂತೆ ತಡೆಯುತ್ತದೆ. ಇದು ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ:
- ಕಾಂಪೊನೆಂಟ್-ಆಧಾರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳು: ಪ್ರತ್ಯೇಕ ಕಾಂಪೊನೆಂಟ್ಗಳ ಶೈಲಿಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸುವುದು, ಅವು ಸುತ್ತಮುತ್ತಲಿನ ಸನ್ನಿವೇಶವನ್ನು ಲೆಕ್ಕಿಸದೆ ಸರಿಯಾಗಿ ರೆಂಡರ್ ಆಗುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು.
- ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಲೈಬ್ರರಿಗಳು ಮತ್ತು ವಿಜೆಟ್ಗಳು: ನಿಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ CSS ನೊಂದಿಗೆ ಶೈಲಿಯ ಘರ್ಷಣೆಯ ಅಪಾಯವಿಲ್ಲದೆ ಬಾಹ್ಯ ಕಾಂಪೊನೆಂಟ್ಗಳನ್ನು ಎಂಬೆಡ್ ಮಾಡುವುದು.
- ದೊಡ್ಡ ಮತ್ತು ಸಂಕೀರ್ಣ ಅಪ್ಲಿಕೇಶನ್ಗಳು: ಶೈಲಿಯ ನಿಯಮಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ನಿಮ್ಮ CSS ಕೋಡ್ಬೇಸ್ನ ನಿರ್ವಹಣೆ ಮತ್ತು ಭವಿಷ್ಯವನ್ನು ಸುಧಾರಿಸುವುದು.
ಮೂಲಭೂತವಾಗಿ, @scope ಒಂದು ಗಡಿಯನ್ನು ರಚಿಸುತ್ತದೆ, ನಿಮ್ಮ CSS ನಿಯಮಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಸ್ಟೈಲಿಂಗ್ಗೆ ಹೆಚ್ಚು ಮಾಡ್ಯುಲರ್ ಮತ್ತು ಸಂಘಟಿತ ವಿಧಾನವನ್ನು ಉತ್ತೇಜಿಸುತ್ತದೆ.
@scope ಸಿಂಟ್ಯಾಕ್ಸ್
@scope at-rule ನ ಮೂಲ ಸಿಂಟ್ಯಾಕ್ಸ್ ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:
@scope (<scope-start>) to (<scope-end>) {
/* CSS rules */
}
ಈ ಸಿಂಟ್ಯಾಕ್ಸ್ನ ಪ್ರತಿಯೊಂದು ಭಾಗವನ್ನು ವಿಭಜಿಸೋಣ:
@scope: ಸ್ಕೋಪಿಂಗ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವ at-rule.<scope-start>: ಸ್ಕೋಪ್ನ ಆರಂಭಿಕ ಬಿಂದುವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಸೆಲೆಕ್ಟರ್.@scopeಬ್ಲಾಕ್ನೊಳಗಿನ ಶೈಲಿಗಳು ಈ ಅಂಶಕ್ಕೆ ಮತ್ತು ಅದರ ವಂಶಸ್ಥರಿಗೆ ಅನ್ವಯವಾಗುತ್ತವೆ. ಇದನ್ನು ಬಿಟ್ಟರೆ, ಇಡೀ ಡಾಕ್ಯುಮೆಂಟ್ ಸ್ಕೋಪ್-ಸ್ಟಾರ್ಟ್ ಆಗುತ್ತದೆ.to(ಐಚ್ಛಿಕ): ಸ್ಕೋಪ್-ಸ್ಟಾರ್ಟ್ ಅನ್ನು ಸ್ಕೋಪ್-ಎಂಡ್ನಿಂದ ಬೇರ್ಪಡಿಸುವ ಒಂದು ಕೀವರ್ಡ್.<scope-end>(ಐಚ್ಛಿಕ): ಸ್ಕೋಪ್ನ ಅಂತಿಮ ಬಿಂದುವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಸೆಲೆಕ್ಟರ್. ಶೈಲಿಗಳು ಈ ಅಂಶಕ್ಕೆ ಅಥವಾ ಅದರ ವಂಶಸ್ಥರಿಗೆ ಅನ್ವಯಿಸುವುದಿಲ್ಲ. ಇದನ್ನು ಬಿಟ್ಟರೆ, ಇದು ಸ್ಕೋಪ್-ಸ್ಟಾರ್ಟ್ನೊಳಗೆ ಡಾಕ್ಯುಮೆಂಟ್ನ ಕೊನೆಯವರೆಗೂ ವಿಸ್ತರಿಸುತ್ತದೆ.{ /* CSS rules */ }: ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಸ್ಕೋಪ್ನೊಳಗೆ ಅನ್ವಯಿಸಲಾಗುವ CSS ನಿಯಮಗಳನ್ನು ಹೊಂದಿರುವ ಬ್ಲಾಕ್.
ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ವಿವರಿಸಲು ಕೆಲವು ಉದಾಹರಣೆಗಳು ಇಲ್ಲಿವೆ:
ಉದಾಹರಣೆ 1: ಮೂಲ ಸ್ಕೋಪಿಂಗ್
ಈ ಉದಾಹರಣೆಯು "my-component" ಐಡಿಯೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟ <div> ಅಂಶಕ್ಕೆ ಶೈಲಿಗಳನ್ನು ಸ್ಕೋಪ್ ಮಾಡುತ್ತದೆ:
@scope (#my-component) {
h2 {
color: blue;
}
p {
font-size: 16px;
}
}
ಈ ಸಂದರ್ಭದಲ್ಲಿ, <div id="my-component"> ಒಳಗಿನ h2 ಮತ್ತು p ಅಂಶಗಳು ಕ್ರಮವಾಗಿ ನೀಲಿ ಬಣ್ಣದ ಪಠ್ಯ ಮತ್ತು 16px ಫಾಂಟ್ ಗಾತ್ರವನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಈ ಶೈಲಿಗಳು ಈ <div> ನ ಹೊರಗಿನ h2 ಅಥವಾ p ಅಂಶಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ.
ಉದಾಹರಣೆ 2: 'to' ಕೀವರ್ಡ್ ಬಳಸುವುದು
ಈ ಉದಾಹರಣೆಯು "scoped-section" ಕ್ಲಾಸ್ನೊಂದಿಗೆ <section> ನಿಂದ ಶೈಲಿಗಳನ್ನು ಸ್ಕೋಪ್ ಮಾಡುತ್ತದೆ, ಆದರೆ <footer> ಅನ್ನು ಒಳಗೊಂಡಿರುವುದಿಲ್ಲ:
@scope (.scoped-section) to (footer) {
p {
line-height: 1.5;
}
}
ಇಲ್ಲಿ, .scoped-section ಒಳಗಿನ ಎಲ್ಲಾ <p> ಅಂಶಗಳು 1.5 ಲೈನ್ ಎತ್ತರವನ್ನು ಹೊಂದಿರುತ್ತವೆ, *ಹೊರತು* ಅವು .scoped-section ನ ವಂಶಸ್ಥರಾದ <footer> ಅಂಶದೊಳಗೆ ಇಲ್ಲದಿದ್ದರೆ. ಒಂದು ಫೂಟರ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ, ಆ ಫೂಟರ್ನೊಳಗಿನ `
` ಅಂಶಗಳು ಈ ಸ್ಕೋಪ್ನಿಂದ ಪ್ರಭಾವಿತವಾಗುವುದಿಲ್ಲ.
ಉದಾಹರಣೆ 3: ಸ್ಕೋಪ್-ಸ್ಟಾರ್ಟ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡುವುದು
ಸ್ಕೋಪ್-ಸ್ಟಾರ್ಟ್ ಸೆಲೆಕ್ಟರ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡುವುದು ಎಂದರೆ ಸ್ಕೋಪ್ ಡಾಕ್ಯುಮೆಂಟ್ನ ಮೂಲದಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.
@scope to (footer) {
body {
background-color: #f0f0f0;
}
}
ಇದು `body` ಅಂಶಕ್ಕೆ ತಿಳಿ ಬೂದು ಹಿನ್ನೆಲೆಯನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ, ಆದರೆ `footer` ಅಂಶವನ್ನು ಒಳಗೊಂಡಿರುವುದಿಲ್ಲ. ಫೂಟರ್ನೊಳಗಿನ ಯಾವುದಕ್ಕೂ ತಿಳಿ ಬೂದು ಹಿನ್ನೆಲೆ ಬಣ್ಣ ಇರುವುದಿಲ್ಲ.
@scope ಬಳಸುವುದರ ಪ್ರಯೋಜನಗಳು
@scope at-rule ವೆಬ್ ಅಭಿವೃದ್ಧಿಗೆ ಹಲವಾರು ಗಮನಾರ್ಹ ಪ್ರಯೋಜನಗಳನ್ನು ನೀಡುತ್ತದೆ:
- ಸುಧಾರಿತ CSS ಸ್ಪೆಸಿಫಿಸಿಟಿ ನಿಯಂತ್ರಣ:
@scopeಸಂಘರ್ಷದ ಶೈಲಿಗಳನ್ನು ಅತಿಕ್ರಮಿಸಲು ಅತಿಯಾದ ನಿರ್ದಿಷ್ಟ ಸೆಲೆಕ್ಟರ್ಗಳ (ಉದಾಹರಣೆಗೆ,!importantಬಳಸುವುದು) ಅಗತ್ಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ನಿಯಮಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಸೀಮಿತಗೊಳಿಸುವ ಮೂಲಕ, ನೀವು ಹೆಚ್ಚು ನಿರೀಕ್ಷಿತ ಮತ್ತು ನಿರ್ವಹಿಸಬಲ್ಲ ಶೈಲಿಯ ಕ್ಯಾಸ್ಕೇಡ್ಗಳನ್ನು ರಚಿಸಬಹುದು. - ವರ್ಧಿತ ಕಾಂಪೊನೆಂಟೈಸೇಶನ್: ನಿಜವಾದ ಕಾಂಪೊನೆಂಟ್-ಮಟ್ಟದ ಸ್ಟೈಲಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ಅಲ್ಲಿ ಕಾಂಪೊನೆಂಟ್ಗಳನ್ನು CSS ಸಂಘರ್ಷಗಳ ಬಗ್ಗೆ ಚಿಂತಿಸದೆ ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು ಮತ್ತು ಮರುಬಳಕೆ ಮಾಡಬಹುದು. ಇದು ಕೋಡ್ ಮರುಬಳಕೆಯನ್ನು ಉತ್ತೇಜಿಸುತ್ತದೆ ಮತ್ತು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವಾಗ ದೋಷಗಳನ್ನು ಪರಿಚಯಿಸುವ ಅಪಾಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
- ಕಡಿಮೆಯಾದ CSS ಬ್ಲೋಟ್: ಶೈಲಿಗಳು ಅನಪೇಕ್ಷಿತ ಪ್ರದೇಶಗಳಿಗೆ ಹರಿಯುವುದನ್ನು ತಡೆಯುವ ಮೂಲಕ,
@scopeನಿಮ್ಮ CSS ಫೈಲ್ಗಳ ಒಟ್ಟಾರೆ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಇದು ವೇಗವಾದ ಪುಟ ಲೋಡ್ ಸಮಯಗಳಿಗೆ ಮತ್ತು ಸುಧಾರಿತ ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಕಾರಣವಾಗಬಹುದು. - ಸರಳೀಕೃತ ನಿರ್ವಹಣೆ: CSS ಕೋಡ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಮಾರ್ಪಡಿಸಲು ಸುಲಭವಾಗಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಶೈಲಿಯ ಬದಲಾವಣೆಗಳ ಪ್ರಭಾವವು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಸ್ಕೋಪ್ಗೆ ಸೀಮಿತವಾಗಿರುತ್ತದೆ. ಇದು ಅನಪೇಕ್ಷಿತ ಅಡ್ಡಪರಿಣಾಮಗಳ ಸಾಧ್ಯತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಡೀಬಗ್ ಮಾಡುವುದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.
- ಸಹಯೋಗ: ಡೆವಲಪರ್ಗಳ ನಡುವೆ ಉತ್ತಮ ಸಹಯೋಗವನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಪ್ರತಿಯೊಬ್ಬ ಡೆವಲಪರ್ ಇತರರ ಶೈಲಿಗಳಿಗೆ ಅಡ್ಡಿಪಡಿಸುವ ಬಗ್ಗೆ ಚಿಂತಿಸದೆ ತಮ್ಮ ಕಾಂಪೊನೆಂಟ್ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡಬಹುದು. ಸಂಕೀರ್ಣ ಯೋಜನೆಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ದೊಡ್ಡ ತಂಡಗಳಲ್ಲಿ ಇದು ವಿಶೇಷವಾಗಿ ಮುಖ್ಯವಾಗಿದೆ.
@scope ನ ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳು
ನೈಜ-ಪ್ರಪಂಚದ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ನೀವು @scope ಅನ್ನು ಹೇಗೆ ಬಳಸಬಹುದು ಎಂಬುದರ ಕುರಿತು ಕೆಲವು ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳನ್ನು ನೋಡೋಣ.
ಉದಾಹರಣೆ 1: ನ್ಯಾವಿಗೇಷನ್ ಮೆನುವನ್ನು ಸ್ಟೈಲಿಂಗ್ ಮಾಡುವುದು
ನೀವು ಪುಟದ ಇತರ ಅಂಶಗಳಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ಸ್ಟೈಲ್ ಮಾಡಲು ಬಯಸುವ ನ್ಯಾವಿಗೇಷನ್ ಮೆನು ಇದೆ ಎಂದು ಭಾವಿಸೋಣ. ಮೆನುವಿನ ಶೈಲಿಗಳನ್ನು ಎನ್ಕ್ಯಾಪ್ಸುಲೇಟ್ ಮಾಡಲು ನೀವು @scope ಅನ್ನು ಬಳಸಬಹುದು:
HTML:
<nav id="main-nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
CSS:
@scope (#main-nav) {
ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
}
li {
margin-right: 20px;
}
a {
text-decoration: none;
color: #333;
font-weight: bold;
}
a:hover {
color: #007bff;
}
}
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನ್ಯಾವಿಗೇಷನ್ ಮೆನುವಿನ ಶೈಲಿಗಳು <nav id="main-nav"> ಅಂಶಕ್ಕೆ ಸ್ಕೋಪ್ ಮಾಡಲಾಗಿದೆ. ಇದು ಮೆನುವಿನ ಸ್ಟೈಲಿಂಗ್ ಪುಟದ ಇತರ <ul>, <li>, ಅಥವಾ <a> ಅಂಶಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದಂತೆ ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ 2: ಮೋಡಲ್ ಡೈಲಾಗ್ ಅನ್ನು ಸ್ಟೈಲಿಂಗ್ ಮಾಡುವುದು
ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ಅಥವಾ ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲು ಮೋಡಲ್ಗಳನ್ನು ಹೆಚ್ಚಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. @scope ಬಳಸಿ, ನೀವು ಆಧಾರವಾಗಿರುವ ಪುಟದ ಶೈಲಿಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದಂತೆ ಮೋಡಲ್ ಅನ್ನು ಸ್ಟೈಲ್ ಮಾಡಬಹುದು:
HTML: <div id="my-modal" class="modal"> <div class="modal-content"> <span class="close">×</span> <h2>Modal Title</h2> <p>This is the content of the modal.</p> </div> </div>
CSS:
@scope (#my-modal) {
.modal {
display: block; /* Or 'flex' for centering */
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
background-color: #fefefe;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
}
ಇಲ್ಲಿ, ಮೋಡಲ್ನ ಶೈಲಿಗಳು <div id="my-modal"> ಅಂಶಕ್ಕೆ ಸ್ಕೋಪ್ ಮಾಡಲಾಗಿದೆ. ಇದು ಮೋಡಲ್ನ ಸ್ಟೈಲಿಂಗ್ ಪುಟದ ಇತರ ಅಂಶಗಳ ಸ್ಟೈಲಿಂಗ್ಗೆ ಅಡ್ಡಿಯಾಗದಂತೆ ಖಚಿತಪಡಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಯಾಗಿ.
ಉದಾಹರಣೆ 3: ಮೂರನೇ ವ್ಯಕ್ತಿಯ ವಿಜೆಟ್ ಅನ್ನು ಸ್ಟೈಲಿಂಗ್ ಮಾಡುವುದು
ನಿಮ್ಮ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ವಿಜೆಟ್ಗಳು ಅಥವಾ ಲೈಬ್ರರಿಗಳನ್ನು ಎಂಬೆಡ್ ಮಾಡುವಾಗ, ನಿಮ್ಮ ಸ್ವಂತ CSS ನೊಂದಿಗೆ ಸಂಘರ್ಷಿಸುವುದನ್ನು ತಡೆಯಲು ನೀವು ಅವುಗಳ ಶೈಲಿಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಬಯಸುತ್ತೀರಿ. @scope ಇದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ:
ನೀವು <div id="calendar-widget"> ಒಳಗೆ ರೆಂಡರ್ ಆಗುವ ಕ್ಯಾಲೆಂಡರ್ ವಿಜೆಟ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೀರಿ ಎಂದು ಭಾವಿಸೋಣ. ನೀವು ವಿಜೆಟ್ನ ಶೈಲಿಗಳನ್ನು ಈ ರೀತಿ ಸ್ಕೋಪ್ ಮಾಡಬಹುದು:
@scope (#calendar-widget) {
/* Styles specific to the calendar widget */
.calendar {
width: 300px;
border: 1px solid #ccc;
}
.calendar-header {
background-color: #eee;
padding: 10px;
text-align: center;
}
.calendar-day {
padding: 5px;
text-align: center;
}
}
ಇದು @scope ಬ್ಲಾಕ್ನೊಳಗೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಶೈಲಿಗಳು <div id="calendar-widget"> ಒಳಗಿನ ಅಂಶಗಳ ಮೇಲೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಉಳಿದ ಭಾಗಗಳಲ್ಲಿ ಯಾವುದೇ ಅನಪೇಕ್ಷಿತ ಅಡ್ಡಪರಿಣಾಮಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
@scope ಮತ್ತು ಇತರ CSS ಎನ್ಕ್ಯಾಪ್ಸುಲೇಶನ್ ತಂತ್ರಗಳು
@scope ಸ್ಕೋಪ್ಡ್ ಸ್ಟೈಲಿಂಗ್ಗಾಗಿ ಸ್ಥಳೀಯ CSS ಪರಿಹಾರವನ್ನು ಒದಗಿಸಿದರೆ, CSS ಮಾಡ್ಯೂಲ್ಗಳು ಮತ್ತು ಶ್ಯಾಡೋ DOM ನಂತಹ ಇತರ ತಂತ್ರಗಳನ್ನು ಇದೇ ರೀತಿಯ ಗುರಿಗಳನ್ನು ಸಾಧಿಸಲು ಬಳಸಲಾಗಿದೆ. ಈ ವಿಧಾನಗಳನ್ನು ಹೋಲಿಸೋಣ:
CSS ಮಾಡ್ಯೂಲ್ಗಳು
CSS ಮಾಡ್ಯೂಲ್ಗಳು ಮಾಡ್ಯುಲರ್ CSS ಗೆ ಒಂದು ಜನಪ್ರಿಯ ವಿಧಾನವಾಗಿದೆ. ಅವು ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ CSS ಕ್ಲಾಸ್ ಹೆಸರುಗಳನ್ನು ಅನನ್ಯ, ಸ್ಥಳೀಯವಾಗಿ ಸ್ಕೋಪ್ ಮಾಡಿದ ಹೆಸರುಗಳಾಗಿ ಪರಿವರ್ತಿಸುವ ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಇದು ಕ್ಲಾಸ್ ಹೆಸರುಗಳ ಘರ್ಷಣೆಯನ್ನು ತಡೆಯುತ್ತದೆ ಮತ್ತು ಶೈಲಿಗಳು ಪ್ರತ್ಯೇಕ ಕಾಂಪೊನೆಂಟ್ಗಳಲ್ಲಿ ಎನ್ಕ್ಯಾಪ್ಸುಲೇಟ್ ಆಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಅನುಕೂಲಗಳು:
- ಬಿಲ್ಡ್ ಉಪಕರಣಗಳು ಮತ್ತು ಫ್ರೇಮ್ವರ್ಕ್ಗಳಿಂದ ವ್ಯಾಪಕವಾಗಿ ಬೆಂಬಲಿತವಾಗಿದೆ.
- ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಸಲು ಮತ್ತು ಸಂಯೋಜಿಸಲು ಸರಳವಾಗಿದೆ.
ಅನಾನುಕೂಲಗಳು:
- ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯ ಅಗತ್ಯವಿದೆ.
- ಸ್ಕೋಪಿಂಗ್ ಅನ್ನು ಜಾರಿಗೊಳಿಸಲು ಹೆಸರಿಸುವ ಸಂಪ್ರದಾಯಗಳು ಮತ್ತು ಉಪಕರಣಗಳನ್ನು ಅವಲಂಬಿಸಿದೆ.
ಶ್ಯಾಡೋ DOM
ಶ್ಯಾಡೋ DOM ಡಾಕ್ಯುಮೆಂಟ್ ಟ್ರೀಯ ಒಂದು ಭಾಗವನ್ನು, ಅದರ ಶೈಲಿಗಳನ್ನು ಒಳಗೊಂಡಂತೆ, ಎನ್ಕ್ಯಾಪ್ಸುಲೇಟ್ ಮಾಡಲು ಒಂದು ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಶ್ಯಾಡೋ ಟ್ರೀ ಮತ್ತು ಮುಖ್ಯ ಡಾಕ್ಯುಮೆಂಟ್ ನಡುವೆ ಒಂದು ಗಡಿಯನ್ನು ರಚಿಸುತ್ತದೆ, ಶೈಲಿಗಳು ಒಳಗೆ ಅಥವಾ ಹೊರಗೆ ಸೋರಿಕೆಯಾಗದಂತೆ ತಡೆಯುತ್ತದೆ.
ಅನುಕೂಲಗಳು:
- ಬಲವಾದ ಶೈಲಿಯ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
- ಕಸ್ಟಮ್ ಅಂಶಗಳು ಮತ್ತು ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.
ಅನಾನುಕೂಲಗಳು:
- ಬಳಸಲು ಸಂಕೀರ್ಣವಾಗಿರಬಹುದು.
- ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕೋಡ್ಗೆ ಗಮನಾರ್ಹ ಬದಲಾವಣೆಗಳ ಅಗತ್ಯವಿರಬಹುದು.
- CSS ಮಾಡ್ಯೂಲ್ಗಳಷ್ಟು ವ್ಯಾಪಕವಾಗಿ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ.
@scope
@scope CSS ಮಾಡ್ಯೂಲ್ಗಳು ಮತ್ತು ಶ್ಯಾಡೋ DOM ನಡುವೆ ಒಂದು ಮಧ್ಯಮ ಮಾರ್ಗವನ್ನು ನೀಡುತ್ತದೆ. ಇದು ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆ ಅಥವಾ ಸಂಕೀರ್ಣ DOM ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ ಅಗತ್ಯವಿಲ್ಲದೆ ಸ್ಕೋಪ್ಡ್ ಸ್ಟೈಲಿಂಗ್ಗಾಗಿ ಸ್ಥಳೀಯ CSS ಪರಿಹಾರವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಅನುಕೂಲಗಳು:
- ಸ್ಥಳೀಯ CSS ಪರಿಹಾರ.
- ಯಾವುದೇ ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆ ಅಗತ್ಯವಿಲ್ಲ.
- ಬಳಸಲು ತುಲನಾತ್ಮಕವಾಗಿ ಸರಳ.
ಅನಾನುಕೂಲಗಳು:
- ಬ್ರೌಸರ್ ಬೆಂಬಲ ಇನ್ನೂ ವಿಕಸನಗೊಳ್ಳುತ್ತಿದೆ.
- ಶ್ಯಾಡೋ DOM ನಷ್ಟು ಬಲವಾದ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಒದಗಿಸದಿರಬಹುದು.
ಯಾವ ತಂತ್ರವನ್ನು ಬಳಸಬೇಕು ಎಂಬ ಆಯ್ಕೆಯು ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಅಗತ್ಯಗಳು ಮತ್ತು ಯೋಜನೆಯ ಅವಶ್ಯಕತೆಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ನಿಮಗೆ ಬಲವಾದ ಶೈಲಿಯ ಪ್ರತ್ಯೇಕತೆಯ ಅಗತ್ಯವಿದ್ದರೆ ಮತ್ತು ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರೆ, ಶ್ಯಾಡೋ DOM ಅತ್ಯುತ್ತಮ ಆಯ್ಕೆಯಾಗಿರಬಹುದು. ನಿಮಗೆ ಸರಳ ಮತ್ತು ವ್ಯಾಪಕವಾಗಿ ಬೆಂಬಲಿತ ಪರಿಹಾರದ ಅಗತ್ಯವಿದ್ದರೆ, CSS ಮಾಡ್ಯೂಲ್ಗಳು ಉತ್ತಮ ಆಯ್ಕೆಯಾಗಿರಬಹುದು. ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆ ಅಗತ್ಯವಿಲ್ಲದ ಸ್ಥಳೀಯ CSS ಪರಿಹಾರವನ್ನು ನೀವು ಬಯಸಿದರೆ, @scope ಪರಿಗಣಿಸಲು ಯೋಗ್ಯವಾಗಿದೆ.
ಬ್ರೌಸರ್ ಬೆಂಬಲ ಮತ್ತು ಪಾಲಿಫಿಲ್ಗಳು
2024 ರ ಅಂತ್ಯದ ವೇಳೆಗೆ, @scope ಗಾಗಿ ಬ್ರೌಸರ್ ಬೆಂಬಲವು ಬೆಳೆಯುತ್ತಿದೆ, ಆದರೆ ಇದು ಇನ್ನೂ ಸಾರ್ವತ್ರಿಕವಾಗಿ ಲಭ್ಯವಿಲ್ಲ. ಬ್ರೌಸರ್ ಹೊಂದಾಣಿಕೆಯ ಕುರಿತು ಅತ್ಯಂತ ನವೀಕೃತ ಮಾಹಿತಿಗಾಗಿ Can I use ಅನ್ನು ಪರಿಶೀಲಿಸಿ.
ನೀವು ಹಳೆಯ ಬ್ರೌಸರ್ಗಳನ್ನು ಬೆಂಬಲಿಸಬೇಕಾದರೆ, @scope ಕಾರ್ಯವನ್ನು ಒದಗಿಸಲು ನೀವು ಪಾಲಿಫಿಲ್ ಅನ್ನು ಬಳಸಬಹುದು. ಹಲವಾರು ಪಾಲಿಫಿಲ್ಗಳು ಲಭ್ಯವಿದೆ, ಅವು ಸಾಮಾನ್ಯವಾಗಿ ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ @scope ನಿಯಮಗಳನ್ನು ಸಮಾನವಾದ CSS ಸೆಲೆಕ್ಟರ್ಗಳಾಗಿ ಪರಿವರ್ತಿಸುವ ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
@scope ಬಳಸಲು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು
@scope ನಿಂದ ಹೆಚ್ಚಿನದನ್ನು ಪಡೆಯಲು, ಈ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಪರಿಗಣಿಸಿ:
- ಅರ್ಥಪೂರ್ಣ ಸೆಲೆಕ್ಟರ್ಗಳನ್ನು ಬಳಸಿ: ನಿಮ್ಮ ಶೈಲಿಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ನಿಖರವಾಗಿ ಪ್ರತಿನಿಧಿಸುವ ಸೆಲೆಕ್ಟರ್ಗಳನ್ನು ಆರಿಸಿ. ಅನಪೇಕ್ಷಿತ ಅಡ್ಡಪರಿಣಾಮಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದಾದ ಅತಿಯಾದ ಸಾಮಾನ್ಯ ಸೆಲೆಕ್ಟರ್ಗಳನ್ನು ತಪ್ಪಿಸಿ.
- ಸ್ಕೋಪ್ಗಳನ್ನು ಚಿಕ್ಕದಾಗಿಡಿ: ನಿಮ್ಮ ಶೈಲಿಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಚಿಕ್ಕ ಪ್ರದೇಶಕ್ಕೆ ಸೀಮಿತಗೊಳಿಸಿ. ಇದು ನಿಮ್ಮ CSS ನ ನಿರ್ವಹಣೆ ಮತ್ತು ಭವಿಷ್ಯವನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.
- ಸ್ಕೋಪ್ಗಳನ್ನು ಅತಿಯಾಗಿ ನೆಸ್ಟ್ ಮಾಡುವುದನ್ನು ತಪ್ಪಿಸಿ: ಸ್ಕೋಪ್ಗಳನ್ನು ನೆಸ್ಟ್ ಮಾಡುವುದು ಸಾಧ್ಯವಾದರೂ, ಇದು ನಿಮ್ಮ CSS ಅನ್ನು ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕಷ್ಟಕರವಾಗಿಸಬಹುದು. ನೆಸ್ಟಿಂಗ್ ಅನ್ನು ಮಿತವಾಗಿ ಮತ್ತು ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಬಳಸಿ.
- ನಿಮ್ಮ ಸ್ಕೋಪ್ಗಳನ್ನು ದಾಖಲಿಸಿ: ಪ್ರತಿ
@scopeಬ್ಲಾಕ್ನ ಉದ್ದೇಶ ಮತ್ತು ವ್ಯಾಪ್ತಿಯನ್ನು ವಿವರಿಸಲು ನಿಮ್ಮ CSS ಗೆ ಕಾಮೆಂಟ್ಗಳನ್ನು ಸೇರಿಸಿ. ಇದು ಇತರ ಡೆವಲಪರ್ಗಳಿಗೆ (ಮತ್ತು ನಿಮ್ಮ ಭವಿಷ್ಯದ ನಿಮಗೆ) ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. - ಸಂಪೂರ್ಣವಾಗಿ ಪರೀಕ್ಷಿಸಿ: ನಿಮ್ಮ ಶೈಲಿಗಳು ನಿರೀಕ್ಷೆಯಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಿಮ್ಮ CSS ಅನ್ನು ವಿವಿಧ ಬ್ರೌಸರ್ಗಳು ಮತ್ತು ಸಾಧನಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಿ.
CSS ಸ್ಕೋಪಿಂಗ್ನ ಭವಿಷ್ಯ
@scope ನ ಪರಿಚಯವು CSS ನ ವಿಕಾಸದಲ್ಲಿ ಒಂದು ಮಹತ್ವದ ಹೆಜ್ಜೆಯನ್ನು ಗುರುತಿಸುತ್ತದೆ. ಬ್ರೌಸರ್ ಬೆಂಬಲವು ಸುಧಾರಿಸುತ್ತಿದ್ದಂತೆ, @scope ವೆಬ್ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ CSS ಸಂಕೀರ್ಣತೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಮಾಡ್ಯುಲಾರಿಟಿಯನ್ನು ಉತ್ತೇಜಿಸಲು ಒಂದು ಪ್ರಮಾಣಿತ ಸಾಧನವಾಗುವ ಸಾಧ್ಯತೆಯಿದೆ. ಭವಿಷ್ಯದಲ್ಲಿ @scope at-rule ಗೆ ಮತ್ತಷ್ಟು ಪರಿಷ್ಕರಣೆಗಳು ಮತ್ತು ವಿಸ್ತರಣೆಗಳನ್ನು ನಿರೀಕ್ಷಿಸಿ, ಏಕೆಂದರೆ CSS ವರ್ಕಿಂಗ್ ಗ್ರೂಪ್ ವೆಬ್ನ ಸ್ಟೈಲಿಂಗ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಸುಧಾರಿಸಲು ಹೊಸ ಮಾರ್ಗಗಳನ್ನು ಅನ್ವೇಷಿಸುವುದನ್ನು ಮುಂದುವರೆಸುತ್ತದೆ.
ತೀರ್ಮಾನ
@scope at-rule CSS ನಲ್ಲಿ ಸ್ಕೋಪ್ಡ್ ಸ್ಟೈಲಿಂಗ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಒಂದು ಶಕ್ತಿಯುತ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಿಮ್ಮ ಡಾಕ್ಯುಮೆಂಟ್ನ ನಿರ್ದಿಷ್ಟ ಪ್ರದೇಶಗಳಲ್ಲಿ ಶೈಲಿಗಳನ್ನು ಎನ್ಕ್ಯಾಪ್ಸುಲೇಟ್ ಮಾಡುವ ಮೂಲಕ, ನಿಮ್ಮ CSS ಕೋಡ್ನ ನಿರ್ವಹಣೆ, ಭವಿಷ್ಯ ಮತ್ತು ಮರುಬಳಕೆಯನ್ನು ನೀವು ಸುಧಾರಿಸಬಹುದು. ಬ್ರೌಸರ್ ಬೆಂಬಲವು ಇನ್ನೂ ವಿಕಸನಗೊಳ್ಳುತ್ತಿದ್ದರೂ, @scope ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿಗೆ, ವಿಶೇಷವಾಗಿ ಕಾಂಪೊನೆಂಟ್-ಆಧಾರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳು ಮತ್ತು ದೊಡ್ಡ, ಸಂಕೀರ್ಣ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಪರಿಗಣಿಸಲು ಒಂದು ಅಮೂಲ್ಯ ಸಾಧನವಾಗಿದೆ. @scope ನ ಶಕ್ತಿಯನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳಿ ಮತ್ತು ನಿಮ್ಮ CSS ಸ್ಟೈಲ್ಶೀಟ್ಗಳ ಮೇಲೆ ಹೊಸ ಮಟ್ಟದ ನಿಯಂತ್ರಣವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ.
CSS @scope ನ ಈ ಪರಿಶೋಧನೆಯು ವಿಶ್ವಾದ್ಯಂತದ ಡೆವಲಪರ್ಗಳಿಗೆ ಸಮಗ್ರ ತಿಳುವಳಿಕೆಯನ್ನು ಒದಗಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ, ಇದರಿಂದ ಅವರು ತಮ್ಮ ಯೋಜನೆಗಳಲ್ಲಿ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸಿಕೊಳ್ಳಬಹುದು. ಸಿಂಟ್ಯಾಕ್ಸ್, ಪ್ರಯೋಜನಗಳು ಮತ್ತು ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ, ವೈವಿಧ್ಯಮಯ ಹಿನ್ನೆಲೆಯ ಡೆವಲಪರ್ಗಳು ತಮ್ಮ CSS ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಸುಧಾರಿಸಬಹುದು ಮತ್ತು ಹೆಚ್ಚು ನಿರ್ವಹಿಸಬಲ್ಲ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ರಚಿಸಬಹುದು.