ಕನ್ನಡ

ಪುನರ್ಬಳಕೆಯ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಇರುವ ಶಕ್ತಿಶಾಲಿ ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್, ಸ್ಟೆನ್ಸಿಲ್ ಅನ್ನು ಅನ್ವೇಷಿಸಿ. ಇದರ ಪ್ರಮುಖ ವೈಶಿಷ್ಟ್ಯಗಳು, ಪ್ರಯೋಜನಗಳು ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಲು ಇದನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂದು ತಿಳಿಯಿರಿ.

ಸ್ಟೆನ್ಸಿಲ್: ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ ಕಂಪೈಲರ್‌ನ ಆಳವಾದ ನೋಟ

ವೆಬ್ ಡೆವಲಪ್‌ಮೆಂಟ್‌ನ ನಿರಂತರವಾಗಿ ವಿಕಸಿಸುತ್ತಿರುವ ಕ್ಷೇತ್ರದಲ್ಲಿ, ಪುನರ್ಬಳಕೆಯ, ಸ್ಕೇಲೆಬಲ್, ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದಾದ ಕಾಂಪೊನೆಂಟ್‌ಗಳ ಅವಶ್ಯಕತೆ ಅತ್ಯಂತ ಮುಖ್ಯವಾಗಿದೆ. ಸ್ಟೆನ್ಸಿಲ್, ಒಂದು ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ ಕಂಪೈಲರ್, ಈ ಅಗತ್ಯವನ್ನು ಪೂರೈಸಲು ಒಂದು ಶಕ್ತಿಯುತ ಸಾಧನವಾಗಿ ಹೊರಹೊಮ್ಮುತ್ತದೆ. ಇದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಮತ್ತು ಇವು ವಿವಿಧ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳೊಂದಿಗೆ ಸುಲಭವಾಗಿ ಸಂಯೋಜನೆಗೊಳ್ಳುತ್ತವೆ ಅಥವಾ ಸ್ವತಂತ್ರ ಎಲಿಮೆಂಟ್‌ಗಳಾಗಿಯೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.

ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ಸ್ ಎಂದರೇನು?

ಸ್ಟೆನ್ಸಿಲ್ ಬಗ್ಗೆ ತಿಳಿಯುವ ಮೊದಲು, ಅದು ಯಾವುದರ ಮೇಲೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳೋಣ: ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ಸ್. ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ಸ್ ಎನ್ನುವುದು ವೆಬ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ APIಗಳ ಒಂದು ಗುಂಪಾಗಿದ್ದು, ಇದು ನಿಮಗೆ ಎನ್‌ಕ್ಯಾಪ್ಸುಲೇಟೆಡ್ ಸ್ಟೈಲಿಂಗ್ ಮತ್ತು ನಡವಳಿಕೆಯೊಂದಿಗೆ ಪುನರ್ಬಳಕೆ ಮಾಡಬಹುದಾದ ಕಸ್ಟಮ್ HTML ಎಲಿಮೆಂಟ್‌ಗಳನ್ನು ರಚಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಇದರರ್ಥ, ನೀವು ನಿಮ್ಮ ಸ್ವಂತ ಟ್ಯಾಗ್‌ಗಳನ್ನು <my-component> ನಂತಹವುಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು ಮತ್ತು ಅವುಗಳನ್ನು ನಿಮ್ಮ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಾದ್ಯಂತ ಬಳಸಬಹುದು, ನೀವು ಯಾವುದೇ ಫ್ರೇಮ್‌ವರ್ಕ್ ಬಳಸುತ್ತಿದ್ದರೂ (ಅಥವಾ ಬಳಸದಿದ್ದರೂ!) ಪರವಾಗಿಲ್ಲ.

ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ಸ್‌ನ ಹಿಂದಿರುವ ಪ್ರಮುಖ ತಂತ್ರಜ್ಞಾನಗಳು:

ಸ್ಟೆನ್ಸಿಲ್ ಪರಿಚಯ

ಸ್ಟೆನ್ಸಿಲ್ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಒಂದು ಕಂಪೈಲರ್ ಆಗಿದೆ. ಇದನ್ನು ಅಯಾನಿಕ್ ತಂಡವು ನಿರ್ಮಿಸಿದ್ದು, ಇದು ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್, JSX, ಮತ್ತು ಆಧುನಿಕ ವೆಬ್ ಮಾನದಂಡಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಹೆಚ್ಚು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಿದ ಮತ್ತು ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ರಚಿಸುತ್ತದೆ. ಸ್ಟೆನ್ಸಿಲ್ ಕೇವಲ ಕೋಡ್ ಕಂಪೈಲ್ ಮಾಡುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಮಾಡುತ್ತದೆ; ಇದು ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವುದು ಮತ್ತು ನಿರ್ವಹಿಸುವುದನ್ನು ಸುಲಭ ಮತ್ತು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿಸುವ ಹಲವಾರು ಪ್ರಮುಖ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ.

ಸ್ಟೆನ್ಸಿಲ್‌ನ ಪ್ರಮುಖ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಪ್ರಯೋಜನಗಳು

1. ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು JSX ಬೆಂಬಲ

ಸ್ಟೆನ್ಸಿಲ್ ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಅಳವಡಿಸಿಕೊಂಡಿದೆ, ಇದು ಸ್ಟ್ರಾಂಗ್ ಟೈಪಿಂಗ್, ಸುಧಾರಿತ ಕೋಡ್ ಸಂಘಟನೆ, ಮತ್ತು ವರ್ಧಿತ ಡೆವಲಪರ್ ಉತ್ಪಾದಕತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. JSX ಬಳಕೆಯು ಕಾಂಪೊನೆಂಟ್‌ನ UI ಅನ್ನು ಘೋಷಣಾತ್ಮಕ ಮತ್ತು ಅರ್ಥಗರ್ಭಿತ ರೀತಿಯಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.

ಉದಾಹರಣೆ:

ಸ್ಟೆನ್ಸಿಲ್‌ನಲ್ಲಿ ಬರೆಯಲಾದ ಒಂದು ಸರಳ ಕೌಂಟರ್ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ಪರಿಗಣಿಸಿ:


import { Component, State, h } from '@stencil/core';

@Component({
  tag: 'my-counter',
  styleUrl: 'my-counter.css',
  shadow: true
})
export class MyCounter {
  @State() count: number = 0;

  increment() {
    this.count++;
  }

  render() {
    return (
      <div class="counter-container">
        <p>Count: {this.count}</p>
        <button onClick={() => this.increment()}>Increment</button>
      </div>
    );
  }
}

2. ರಿಯಾಕ್ಟಿವ್ ಡೇಟಾ ಬೈಂಡಿಂಗ್

ಸ್ಟೆನ್ಸಿಲ್ ಕಾಂಪೊನೆಂಟ್ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು UI ಅನ್ನು ರಿಯಾಕ್ಟಿವ್ ಆಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ನೇರವಾದ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. @State ಡೆಕೋರೇಟರ್ ಬಳಸುವುದರಿಂದ, ಕಾಂಪೊನೆಂಟ್‌ನ ಸ್ಥಿತಿಯಲ್ಲಿನ ಬದಲಾವಣೆಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮರು-ರೆಂಡರ್ ಅನ್ನು ಪ್ರಚೋದಿಸುತ್ತವೆ, ಇದರಿಂದ UI ಯಾವಾಗಲೂ ಡೇಟಾದೊಂದಿಗೆ ಸಿಂಕ್ ಆಗಿರುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಉದಾಹರಣೆ:

ಮೇಲಿನ ಕೌಂಟರ್ ಉದಾಹರಣೆಯಲ್ಲಿ, @State() count: number = 0; ಘೋಷಣೆಯು count ವೇರಿಯೇಬಲ್ ಅನ್ನು ರಿಯಾಕ್ಟಿವ್ ಮಾಡುತ್ತದೆ. ಪ್ರತಿ ಬಾರಿ increment() ಫಂಕ್ಷನ್ ಅನ್ನು ಕರೆದಾಗ, count ವೇರಿಯೇಬಲ್ ಅಪ್‌ಡೇಟ್ ಆಗುತ್ತದೆ, ಮತ್ತು ಹೊಸ ಮೌಲ್ಯವನ್ನು ಪ್ರತಿಬಿಂಬಿಸಲು ಕಾಂಪೊನೆಂಟ್ ಮರು-ರೆಂಡರ್ ಆಗುತ್ತದೆ.

3. ವರ್ಚುವಲ್ DOM ಮತ್ತು ದಕ್ಷ ರೆಂಡರಿಂಗ್

ಸ್ಟೆನ್ಸಿಲ್ ರೆಂಡರಿಂಗ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಲು ವರ್ಚುವಲ್ DOM ಅನ್ನು ಬಳಸುತ್ತದೆ. ಬದಲಾವಣೆಗಳನ್ನು ಮೊದಲು ವರ್ಚುವಲ್ DOM ಗೆ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ನಂತರ ಕೇವಲ ಅಗತ್ಯವಿರುವ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಮಾತ್ರ ನಿಜವಾದ DOM ಗೆ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ, ಇದು ದುಬಾರಿ DOM ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್‌ಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

4. ಅಹೆಡ್-ಆಫ್-ಟೈಮ್ (AOT) ಕಂಪೈಲೇಶನ್

ಸ್ಟೆನ್ಸಿಲ್ AOT ಕಂಪೈಲೇಶನ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಅಂದರೆ ರನ್‌ಟೈಮ್‌ನಲ್ಲಿ ಬದಲಾಗಿ ಬಿಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ ಕೋಡ್ ಕಂಪೈಲ್ ಆಗುತ್ತದೆ. ಇದು ವೇಗದ ಆರಂಭಿಕ ಲೋಡ್ ಸಮಯ ಮತ್ತು ಸುಧಾರಿತ ರನ್‌ಟೈಮ್ ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ.

5. ಲೇಜಿ ಲೋಡಿಂಗ್

ಕಾಂಪೊನೆಂಟ್‌ಗಳು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಲೇಜಿ-ಲೋಡ್ ಆಗುತ್ತವೆ, ಅಂದರೆ ಅವುಗಳು ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಲೋಡ್ ಆಗುತ್ತವೆ. ಇದು ಆರಂಭಿಕ ಪುಟ ಲೋಡ್ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ನ ಒಟ್ಟಾರೆ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

6. ಕ್ರಾಸ್-ಫ್ರೇಮ್‌ವರ್ಕ್ ಹೊಂದಾಣಿಕೆ

ಸ್ಟೆನ್ಸಿಲ್‌ನ ಪ್ರಮುಖ ಪ್ರಯೋಜನಗಳಲ್ಲಿ ಒಂದು, ಇದು ರಿಯಾಕ್ಟ್, ಆಂಗ್ಯುಲರ್, Vue.js, ಮತ್ತು ಸರಳ HTML ಸೇರಿದಂತೆ ವಿವಿಧ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುವ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಸಾಮರ್ಥ್ಯ. ಇದು ನಿಮಗೆ ಒಮ್ಮೆ ಕಾಂಪೊನೆಂಟ್ ಲೈಬ್ರರಿಯನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಅದನ್ನು ಬಳಸಿದ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಲೆಕ್ಕಿಸದೆ ಬಹು ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಲ್ಲಿ ಮರುಬಳಕೆ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.

7. ಪ್ರೊಗ್ರೆಸ್ಸಿವ್ ವೆಬ್ ಆಪ್ (PWA) ಬೆಂಬಲ

ಸ್ಟೆನ್ಸಿಲ್ PWA ಗಳಿಗೆ ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇದು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಬಹುದಾದ, ವಿಶ್ವಾಸಾರ್ಹ ಮತ್ತು ಆಕರ್ಷಕವಾದ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಲು ಸುಲಭವಾಗಿಸುತ್ತದೆ. ಇದು ಸರ್ವಿಸ್ ವರ್ಕರ್ ಜನರೇಷನ್ ಮತ್ತು ಮ್ಯಾನಿಫೆಸ್ಟ್ ಬೆಂಬಲದಂತಹ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

8. ಸಣ್ಣ ಬಂಡಲ್ ಗಾತ್ರಗಳು

ಸ್ಟೆನ್ಸಿಲ್ ಸಣ್ಣ ಬಂಡಲ್ ಗಾತ್ರಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ, ನಿಮ್ಮ ಕಾಂಪೊನೆಂಟ್‌ಗಳು ವೇಗವಾಗಿ ಮತ್ತು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಲೋಡ್ ಆಗುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಇದು ಟ್ರೀ-ಶೇಕಿಂಗ್ ಮತ್ತು ಕೋಡ್ ಸ್ಪ್ಲಿಟಿಂಗ್‌ನಂತಹ ತಂತ್ರಗಳ ಮೂಲಕ ಇದನ್ನು ಸಾಧಿಸುತ್ತದೆ.

9. ಟೂಲಿಂಗ್ ಮತ್ತು ಡೆವಲಪ್‌ಮೆಂಟ್ ಅನುಭವ

ಸ್ಟೆನ್ಸಿಲ್ ಡೆವಲಪ್‌ಮೆಂಟ್ ಅನುಭವವನ್ನು ಹೆಚ್ಚಿಸುವ ಶ್ರೀಮಂತ ಪರಿಕರಗಳು ಮತ್ತು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅವುಗಳೆಂದರೆ:

ಸ್ಟೆನ್ಸಿಲ್‌ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುವುದು

ಸ್ಟೆನ್ಸಿಲ್‌ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲು, ನಿಮ್ಮ ಸಿಸ್ಟಂನಲ್ಲಿ Node.js ಮತ್ತು npm (ಅಥವಾ yarn) ಇನ್‌ಸ್ಟಾಲ್ ಆಗಿರಬೇಕು. ನಂತರ ನೀವು ಈ ಕೆಳಗಿನ ಕಮಾಂಡ್ ಬಳಸಿ ಸ್ಟೆನ್ಸಿಲ್ CLI ಅನ್ನು ಗ್ಲೋಬಲ್ ಆಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಬಹುದು:


npm install -g @stencil/core

CLI ಇನ್‌ಸ್ಟಾಲ್ ಆದ ನಂತರ, ನೀವು stencil init ಕಮಾಂಡ್ ಬಳಸಿ ಹೊಸ ಸ್ಟೆನ್ಸಿಲ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಬಹುದು:


stencil init my-component-library

ಇದು my-component-library ಎಂಬ ಹೊಸ ಡೈರೆಕ್ಟರಿಯನ್ನು ಮೂಲ ಸ್ಟೆನ್ಸಿಲ್ ಪ್ರಾಜೆಕ್ಟ್ ರಚನೆಯೊಂದಿಗೆ ರಚಿಸುತ್ತದೆ. ನಂತರ ನೀವು ಡೈರೆಕ್ಟರಿಗೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ npm start ಕಮಾಂಡ್ ಬಳಸಿ ಡೆವಲಪ್‌ಮೆಂಟ್ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು:


cd my-component-library
npm start

ಇದು ಡೆವಲಪ್‌ಮೆಂಟ್ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ವೆಬ್ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ತೆರೆಯುತ್ತದೆ. ನಂತರ ನೀವು src/components ಡೈರೆಕ್ಟರಿಯಲ್ಲಿನ ಫೈಲ್‌ಗಳನ್ನು ಮಾರ್ಪಡಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಸ್ವಂತ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ರಚಿಸಲು ಪ್ರಾರಂಭಿಸಬಹುದು.

ಉದಾಹರಣೆ: ಒಂದು ಸರಳ ಇನ್‌ಪುಟ್ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ಸ್ಟೆನ್ಸಿಲ್ ಬಳಸಿ ಒಂದು ಸರಳ ಇನ್‌ಪುಟ್ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ರಚಿಸೋಣ. ಈ ಕಾಂಪೊನೆಂಟ್ ಬಳಕೆದಾರರಿಗೆ ಪಠ್ಯವನ್ನು ನಮೂದಿಸಲು ಮತ್ತು ಅದನ್ನು ಪುಟದಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.

1. ಹೊಸ ಕಾಂಪೊನೆಂಟ್ ಫೈಲ್ ರಚಿಸಿ

src/components ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ my-input.tsx ಎಂಬ ಹೊಸ ಫೈಲ್ ಅನ್ನು ರಚಿಸಿ.

2. ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ

my-input.tsx ಫೈಲ್‌ಗೆ ಈ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:


import { Component, State, h, Event, EventEmitter } from '@stencil/core';

@Component({
  tag: 'my-input',
  styleUrl: 'my-input.css',
  shadow: true
})
export class MyInput {
  @State() inputValue: string = '';
  @Event() inputChanged: EventEmitter;

  handleInputChange(event: any) {
    this.inputValue = event.target.value;
    this.inputChanged.emit(this.inputValue);
  }

  render() {
    return (
      <div class="input-container">
        <input type="text" value={this.inputValue} onInput={(event) => this.handleInputChange(event)} />
        <p>You entered: {this.inputValue}</p>
      </div>
    );
  }
}

ಈ ಕೋಡ್ my-input ಎಂಬ ಹೊಸ ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಇದು ಬಳಕೆದಾರರು ನಮೂದಿಸಿದ ಪಠ್ಯವನ್ನು ಸಂಗ್ರಹಿಸುವ inputValue ಸ್ಟೇಟ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೊಂದಿದೆ. ಬಳಕೆದಾರರು ಇನ್‌ಪುಟ್ ಫೀಲ್ಡ್‌ನಲ್ಲಿ ಟೈಪ್ ಮಾಡಿದಾಗ handleInputChange() ಫಂಕ್ಷನ್ ಅನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ. ಈ ಫಂಕ್ಷನ್ inputValue ಸ್ಟೇಟ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಹೊಸ ಮೌಲ್ಯದೊಂದಿಗೆ inputChanged ಈವೆಂಟ್ ಅನ್ನು ಹೊರಸೂಸುತ್ತದೆ.

3. ಸ್ಟೈಲಿಂಗ್ ಸೇರಿಸಿ

src/components ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ my-input.css ಎಂಬ ಹೊಸ ಫೈಲ್ ಅನ್ನು ರಚಿಸಿ ಮತ್ತು ಈ ಕೆಳಗಿನ CSS ಅನ್ನು ಸೇರಿಸಿ:


.input-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-bottom: 10px;
}

input {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 16px;
  margin-bottom: 10px;
}

4. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಕಾಂಪೊನೆಂಟ್ ಬಳಸಿ

ಈಗ ನೀವು ನಿಮ್ಮ HTML ಫೈಲ್‌ಗೆ ಈ ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ my-input ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ಬಳಸಬಹುದು:


<my-input></my-input>

ಸ್ಟೆನ್ಸಿಲ್‌ನ ಸುಧಾರಿತ ಪರಿಕಲ್ಪನೆಗಳು

1. ಕಾಂಪೊನೆಂಟ್ ಸಂಯೋಜನೆ

ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ UI ಗಳನ್ನು ರಚಿಸಲು ಸ್ಟೆನ್ಸಿಲ್ ನಿಮಗೆ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸಂಯೋಜಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಇದು ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ಒಂದರೊಳಗೆ ಒಂದನ್ನು ಸೇರಿಸುವುದು ಮತ್ತು ಪ್ರಾಪರ್ಟೀಸ್ ಮತ್ತು ಈವೆಂಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅವುಗಳ ನಡುವೆ ಡೇಟಾವನ್ನು ರವಾನಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.

2. ಪ್ರಾಪರ್ಟೀಸ್ ಮತ್ತು ಈವೆಂಟ್ಸ್

ಪ್ರಾಪರ್ಟೀಸ್ ಪೋಷಕ ಕಾಂಪೊನೆಂಟ್‌ನಿಂದ ಚೈಲ್ಡ್ ಕಾಂಪೊನೆಂಟ್‌ಗೆ ಡೇಟಾವನ್ನು ರವಾನಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಅವುಗಳನ್ನು @Prop() ಡೆಕೋರೇಟರ್ ಬಳಸಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ.

ಈವೆಂಟ್ಸ್ ಚೈಲ್ಡ್ ಕಾಂಪೊನೆಂಟ್‌ನಿಂದ ಪೋಷಕ ಕಾಂಪೊನೆಂಟ್‌ಗೆ ಸಂವಹನ ನಡೆಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಅವುಗಳನ್ನು @Event() ಡೆಕೋರೇಟರ್ ಬಳಸಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ಮತ್ತು emit() ಫಂಕ್ಷನ್ ಬಳಸಿ ಹೊರಸೂಸಲಾಗುತ್ತದೆ.

3. ಲೈಫ್‌ಸೈಕಲ್ ಮೆಥಡ್ಸ್

ಸ್ಟೆನ್ಸಿಲ್ ಕಾಂಪೊನೆಂಟ್‌ನ ಜೀವನಚಕ್ರದ ವಿವಿಧ ಹಂತಗಳಲ್ಲಿ ತೊಡಗಿಸಿಕೊಳ್ಳಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಲೈಫ್‌ಸೈಕಲ್ ಮೆಥಡ್‌ಗಳ ಒಂದು ಗುಂಪನ್ನು ಒದಗಿಸುತ್ತದೆ. ಈ ಮೆಥಡ್‌ಗಳು ಸೇರಿವೆ:

4. ಟೆಸ್ಟಿಂಗ್

ಸ್ಟೆನ್ಸಿಲ್ ಜೆಸ್ಟ್ ಅನ್ನು ಆಧರಿಸಿದ ಅಂತರ್ನಿರ್ಮಿತ ಟೆಸ್ಟಿಂಗ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಿಮ್ಮ ಕಾಂಪೊನೆಂಟ್‌ಗಳಿಗಾಗಿ ಯೂನಿಟ್ ಮತ್ತು ಇಂಟಿಗ್ರೇಷನ್ ಟೆಸ್ಟ್‌ಗಳನ್ನು ಬರೆಯಲು ನೀವು ಈ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸಬಹುದು. ನಿಮ್ಮ ಕಾಂಪೊನೆಂಟ್‌ಗಳು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ರಿಗ್ರೆಶನ್‌ಗಳನ್ನು ತಡೆಯಲು ಟೆಸ್ಟಿಂಗ್ ಅತ್ಯಗತ್ಯ.

ಸ್ಟೆನ್ಸಿಲ್ vs. ಇತರ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳು

ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಸ್ಟೆನ್ಸಿಲ್ ಏಕೈಕ ಆಯ್ಕೆಯಲ್ಲದಿದ್ದರೂ, ಇದು ಕಾರ್ಯಕ್ಷಮತೆ, ಕ್ರಾಸ್-ಫ್ರೇಮ್‌ವರ್ಕ್ ಹೊಂದಾಣಿಕೆ ಮತ್ತು ಸುಗಮ ಡೆವಲಪರ್ ಅನುಭವದ ಮೇಲೆ ತನ್ನ ಗಮನವನ್ನು ಕೇಂದ್ರೀಕರಿಸುವ ಮೂಲಕ ತನ್ನನ್ನು ಪ್ರತ್ಯೇಕಿಸಿಕೊಳ್ಳುತ್ತದೆ. LitElement ಮತ್ತು Polymer ನಂತಹ ಇತರ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳು ಸಹ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ ಅಭಿವೃದ್ಧಿಗೆ ಪರಿಹಾರಗಳನ್ನು ನೀಡುತ್ತವೆ, ಆದರೆ ಸ್ಟೆನ್ಸಿಲ್‌ನ AOT ಕಂಪೈಲೇಶನ್ ಮತ್ತು ಲೇಜಿ ಲೋಡಿಂಗ್‌ನಂತಹ ವಿಶಿಷ್ಟ ವೈಶಿಷ್ಟ್ಯಗಳು ಕೆಲವು ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಸ್ಪಷ್ಟ ಪ್ರಯೋಜನಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ.

ನೈಜ-ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಬಳಕೆಯ ಪ್ರಕರಣಗಳು

ತೀರ್ಮಾನ

ಸ್ಟೆನ್ಸಿಲ್ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಒಂದು ಶಕ್ತಿಯುತ ಮತ್ತು ಬಹುಮುಖ ಸಾಧನವಾಗಿದೆ. ಕಾರ್ಯಕ್ಷಮತೆ, ಕ್ರಾಸ್-ಫ್ರೇಮ್‌ವರ್ಕ್ ಹೊಂದಾಣಿಕೆ ಮತ್ತು ಉತ್ತಮ ಡೆವಲಪರ್ ಅನುಭವದ ಮೇಲೆ ಅದರ ಗಮನವು ಆಧುನಿಕ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಪುನರ್ಬಳಕೆ ಮಾಡಬಹುದಾದ UI ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ರಚಿಸಲು ಇದನ್ನು ಅತ್ಯುತ್ತಮ ಆಯ್ಕೆಯನ್ನಾಗಿ ಮಾಡುತ್ತದೆ. ನೀವು ಡಿಸೈನ್ ಸಿಸ್ಟಮ್, ಇ-ಕಾಮರ್ಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅಥವಾ ಸರಳ ವೆಬ್‌ಸೈಟ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಿರಲಿ, ಸ್ಟೆನ್ಸಿಲ್ ನಿಮಗೆ ಸ್ಕೇಲೆಬಲ್ ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದಾದ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ರಚಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಅದು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ನಿರ್ವಹಣೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ. ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುವ ಮೂಲಕ ಮತ್ತು ಸ್ಟೆನ್ಸಿಲ್‌ನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಮೂಲಕ, ಡೆವಲಪರ್‌ಗಳು ಹೆಚ್ಚು ದೃಢವಾದ, ಹೊಂದಿಕೊಳ್ಳುವ ಮತ್ತು ಭವಿಷ್ಯಕ್ಕೆ ಸಿದ್ಧವಾದ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು.

ವೆಬ್ ಡೆವಲಪ್‌ಮೆಂಟ್ ಕ್ಷೇತ್ರವು ವಿಕಸಿಸುತ್ತಿರುವಂತೆ, UI ಡೆವಲಪ್‌ಮೆಂಟ್‌ನ ಭವಿಷ್ಯವನ್ನು ರೂಪಿಸುವಲ್ಲಿ ಸ್ಟೆನ್ಸಿಲ್ ಪ್ರಮುಖ ಪಾತ್ರವನ್ನು ವಹಿಸಲು ಉತ್ತಮ ಸ್ಥಿತಿಯಲ್ಲಿದೆ. ವೆಬ್ ಮಾನದಂಡಗಳಿಗೆ ಅದರ ಬದ್ಧತೆ, ಕಾರ್ಯಕ್ಷಮತೆ ಆಪ್ಟಿಮೈಸೇಶನ್, ಮತ್ತು ಸಕಾರಾತ್ಮಕ ಡೆವಲಪರ್ ಅನುಭವವು ಉತ್ತಮ ಗುಣಮಟ್ಟದ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಬಯಸುವ ಯಾವುದೇ ವೆಬ್ ಡೆವಲಪರ್‌ಗೆ ಇದು ಒಂದು ಮೌಲ್ಯಯುತ ಸಾಧನವನ್ನಾಗಿ ಮಾಡುತ್ತದೆ.

ಸ್ಟೆನ್ಸಿಲ್: ಟೈಪ್‌ಸ್ಕ್ರಿಪ್ಟ್ ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ ಕಂಪೈಲರ್‌ನ ಆಳವಾದ ನೋಟ | MLOG