TOC

This article is currently in the process of being translated into Kannada (~99% done).

About WPF:

WPF vs. WinForms

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

WinForms ಮತ್ತು WPF ನ ಮಧ್ಯೆ ಒಂದು ಮುಖ್ಯ ವ್ಯತ್ಯಾಸವೆಂದರೆ ವಾಸ್ತವವಾಗಿ ಗುಣಮಟ್ಟದ ವಿಂಡೋಸ್ ನಿಯಂತ್ರಣಗಳ ಟಾಪ್ ಉದಾಹರಣೆಗೆ ಟೆಕ್ಸ್ಟ್‌ ಬಾಕ್ಸ್‌ ಎಂಬ ವಿಂಡೋಸ್‌ನ ಸಾಮಾನ್ಯ ನಿಯಂತ್ರಣದ ಮೇಲೆ ಇರುವ ಒಂದು ಸರಳ ಪದರವಾಗಿ Win Forms ಹೊರ ಹೊಮ್ಮುತ್ತದೆ. WPF ಅನ್ನು ಪ್ರಾಥಮಿಕ ಹಂತದಿಂದಲೂ ನಿರ್ಮಿಸಲಾಗುತ್ತದೆ. ವಿಶೇಷವೆಂದರೆ ಎಲ್ಲ ಸಂದರ್ಭಗಳಲ್ಲಿಯೂ WPF ಗುಣಮಟ್ಟದ ವಿಂಡೋಸ್ ನಿಯಂತ್ರಣಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವುದಿಲ್ಲ . ಇದು ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸದಂತೆ ಕಾಣಿಸಬಹುದು, ಆದರೆ ಇದು ನಿಜಕ್ಕೂ ಹಾಗಲ್ಲ, ನೀವು ಎಂದಾದರೂ Win32 / WinAPI ಅನ್ನು ಅವಲಂಬಿಸಿರುವ ಫ್ರೇಮ್‌ವರ್ಕ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿದ್ದರೆ ನೀವು ಇದನ್ನು ಖಂಡಿತವಾಗಿಯೂ ಗಮನಿಸಬಹುದು .

ಇದಕ್ಕೆ ಉತ್ತಮ ಉದಾಹರಣೆಯೆಂದರೆ ಅದರ ಮೇಲೆ ಚಿತ್ರ ಮತ್ತು ಪಠ್ಯವನ್ನು ಹೊಂದಿರುವ ಬಟನ್ ನೀಡಲಾಗಿದೆ. ಇದು ಪ್ರಮಾಣಿತ ಅಥವಾ ಅಧಿಕೃತ ವಿಂಡೋಸ್ ನಿಯಂತ್ರಣವಲ್ಲ, ಆದುದರಿಂದ ವಿನ್‌ಫಾರ್ಮ್ಸ್ ನಿಮಗೆ ಈ ಸಾಧ್ಯತೆಯನ್ನು ನೀಡುವುದಿಲ್ಲ. ಬದಲಾಗಿ ನೀವು ಚಿತ್ರವನ್ನು ನೀವೇ ಹುಡುಕಬೇಕಾಗುತ್ತದೆ, ಚಿತ್ರಗಳನ್ನು ಬೆಂಬಲಿಸುವ ನಿಮ್ಮ ಸ್ವಂತ ಬಟನ್‌ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ ಅಥವಾ ಮೂರನೇ ವ್ಯಕ್ತಿ ನಿಯಂತ್ರಣವನ್ನು ಬಳಸಿ ಅರಸಬೇಕಾಗುತ್ತದೆ. WPF ನಲ್ಲಿ ಈ ಸೌಲಭ್ಯವು ಆಯಾಚಿತವಾಗಿಯೇ ಒದಗಿರುತ್ತದೆ. ಏಕೆಂದರೆ ಅದು ಮೂಲಭೂತವಾಗಿ ವಿವಿಧ ವಿಷಯ ಮತ್ತು ವಿನ್ಯಾಸಗಳ ಚೌಕಟ್ಟಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ Untouched, Hovered & Pressed. WPF ಬಟನ್ ಎಂಬುದು ಕಂಡೂ ಕಾಣದಂತಿರುತ್ತದೆ. ಅದೇ ರೀತಿಯಾಗಿ ಇತರ WPF ನಿಯಂತ್ರಣಗಳೂ ಹೀಗೆಯೇ ಕಂಡೂ ಕಾಣದಂತಿರುತ್ತವೆ. ಇದರರ್ಥ WPF ಅದರೊಳಗಿನ ಇತರ ನಿಯಂತ್ರಣಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಚಿತ್ರ ಮತ್ತು ಪಠ್ಯವನ್ನು ಹೊಂದಿರುವ ಬಟನ್ ನಿಮಗೆ ಬೇಕಾಗಿದ್ದರೆ ಬಟನ್‌ ಒಳಗೆ ಇಮೇಜ್ ಮತ್ತು ಟೆಕ್ಸ್ಟ್‌ ಬಾಕ್ಸ್ ನಿಯಂತ್ರಣವನ್ನು ಇರಿಸಿದರೆ ಸಾಕು. ಸ್ಟ್ಯಾಂಡರ್ಡ್ ವಿನ್‌ಫಾರ್ಮ್ಸ್ ನಿಯಂತ್ರಣಗಳಿಂದ ನೀವು ಈ ರೀತಿಯ ಬೇಕಾದ ಅನುಕೂಲವನ್ನು ಪಡೆಯಲಾಗುವುದಿಲ್ಲ, ಅದಕ್ಕಾಗಿಯೇ ಚಿತ್ರಗಳ ಬಟನ್‌ಗಳು ಮತ್ತು ಮುಂತಾದ ನಿಯಂತ್ರಣಗಳ ಸರಳ ಅನುಷ್ಠಾನಗಳಿಗೆ ಬೃಹತ್‌ ಮಾರುಕಟ್ಟೆ ಇದೆ.

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

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

ಡಬ್ಲ್ಯೂಪಿಎಫ್ ಮತ್ತು ವಿನ್ಫಾರ್ಮ್ಸ್‌ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಇರುವ ಪ್ರಮುಖ ಅನುಕೂಲಗಳನ್ನು ಕೆಳಗಿನಂತೆ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ. ನೀವು ಏನು ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂಬುದು ಇದರಿಂದ ಸ್ಪಷ್ಟವಾಗುತ್ತದೆ.

WPF ಅನುಕೂಲತೆಗಳು

  • ಇದು ಹೊಸದು ಮತ್ತು ಆ ಮೂಲಕ ಪ್ರಸ್ತುತ ಮಾನದಂಡಗಳಿಗೆ ಅನುಗುಣವಾಗಿರುತ್ತದೆ
  • ಮೈಕ್ರೋಸಾಫ್ಟ್ ಇದನ್ನು ಬಹಳಷ್ಟು ಹೊಸ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಬಳಸುತ್ತಿದೆ, ಉದಾ. ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ
  • ಇದು ಹೆಚ್ಚಿನ ಮಟ್ಟದ ಸಾಧ್ಯತೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಆದ್ದರಿಂದ ನೀವು ಹೊಸ ನಿಯಂತ್ರಣಗಳನ್ನು ಬರೆಯದೆ ಅಥವಾ ಖರೀದಿಸದೆ ಹೆಚ್ಚಿನ ಕೆಲಸಗಳನ್ನು ಮಾಡಬಹುದು
  • ನೀವು ಮೂರನೇ ವ್ಯಕ್ತಿ ನಿಯಂತ್ರಣಗಳನ್ನು ಬಳಸಬೇಕಾದಾಗ, ಈ ನಿಯಂತ್ರಣಗಳ ಡೆವಲಪರ್‌ಗಳು WPF ನ ಮೇಲೆ ಹೆಚ್ಚು ಗಮನಹರಿಸುತ್ತಾರೆ. ಏಕೆಂದರೆ ಇದು ನೂತನ ತಂತ್ರಜ್ಞಾನ.
  • • XAML ನಿಮ್ಮ GUI ಅನ್ನು ರಚಿಸಲು ಮತ್ತು ಸಂಪಾದಿಸಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಡಿಸೈನರ್ (XAML) ಮತ್ತು ಪ್ರೋಗ್ರಾಮರ್ (C #, VB.NET ಇತ್ಯಾದಿ) ನಡುವೆ ಕೆಲಸವನ್ನು ವಿಂಗಡಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
  • ಡೇಟಾಬೈಂಡಿಂಗ್ ಎಂಬುದು ಡೇಟಾ ಮತ್ತು ವಿನ್ಯಾಸವನ್ನು ಹೆಚ್ಚು ಸೂಕ್ತವಾಗಿ ಮತ್ತು ಪ್ರತ್ಯೇಕವಾಗಿ ಪಡೆಯಲು ನಿಮಗೆ ಅನುಮತಿ ನೀಡುತ್ತದೆ.
  • ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ, GUI ಅನ್ನು ಸೆಳೆಯಲು ಹಾರ್ಡ್‌ವೇರ್ ವೇಗವರ್ಧನೆಯನ್ನು ಬಳಸುತ್ತದೆ.
  • ವಿಂಡೋಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ (ಸಿಲ್ವರ್‌ಲೈಟ್ / ಎಕ್ಸ್ಬಿಎಪಿ) ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ಹೊಂದಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

ವಿನ್‌ಫಾರ್ಮ್ಸ್ ಅನುಕೂಲತೆಗಳು

  • ಇದು ಹಳೆಯದು ಹಾಗೂ ಇದನ್ನು ಹೆಚ್ಚು ಹೆಚ್ಚು ಡೆವಲಪ್‌ ಮಾಡಿರುವುದರಿಂದ ಎಲ್ಲ ರೀತಿಯಲ್ಲೂ ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ ಮತ್ತು ಪರೀಕ್ಷಿಸಲಾಗಿದೆ
  • ನೀವು ಈಗಾಗಲೇ ಮೂರನೇ ವ್ಯಕ್ತಿ ನಿಯಂತ್ರಣಗಳನ್ನು ಖರೀದಿಸಬಹುದು ಅಥವಾ ಉಚಿತವಾಗಿ ಪಡೆಯಬಹುದು
  • ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೊದಲ್ಲಿನ ಡಿಸೈನರ್ ನಲ್ಲಿ ವಿನ್‌ಫಾರ್ಮ್ಸ್‌ ಅನ್ನು WPF ಗಿಂತ ಇನ್ನೂ ಚೆನ್ನಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು.