ಡಾರ್ಟ್ 2.15 ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ ಮತ್ತು ಫ್ಲಟರ್ 2.8 ಫ್ರೇಮ್‌ವರ್ಕ್ ಲಭ್ಯವಿದೆ

Google ಡಾರ್ಟ್ 2.15 ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಿದೆ, ಇದು ಆಮೂಲಾಗ್ರವಾಗಿ ಮರುವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಡಾರ್ಟ್ 2 ಶಾಖೆಯ ಅಭಿವೃದ್ಧಿಯನ್ನು ಮುಂದುವರೆಸಿದೆ, ಇದು ಪ್ರಬಲವಾದ ಸ್ಥಿರ ಟೈಪಿಂಗ್ ಬಳಕೆಯಲ್ಲಿ ಡಾರ್ಟ್ ಭಾಷೆಯ ಮೂಲ ಆವೃತ್ತಿಯಿಂದ ಭಿನ್ನವಾಗಿದೆ (ಪ್ರಕಾರಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಊಹಿಸಬಹುದು, ಆದ್ದರಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದು ಪ್ರಕಾರಗಳು ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ಡೈನಾಮಿಕ್ ಟೈಪಿಂಗ್ ಅನ್ನು ಇನ್ನು ಮುಂದೆ ಬಳಸಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಆರಂಭಿಕ ಲೆಕ್ಕಾಚಾರವನ್ನು ವೇರಿಯಬಲ್‌ಗೆ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ಕಟ್ಟುನಿಟ್ಟಾದ ಪ್ರಕಾರದ ಪರಿಶೀಲನೆಯನ್ನು ನಂತರ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ).

ಡಾರ್ಟ್ ಭಾಷೆಯ ವೈಶಿಷ್ಟ್ಯಗಳು:

  • ಪರಿಚಿತ ಮತ್ತು ಕಲಿಯಲು ಸುಲಭವಾದ ಸಿಂಟ್ಯಾಕ್ಸ್, JavaScript, C ಮತ್ತು Java ಪ್ರೋಗ್ರಾಮರ್‌ಗಳಿಗೆ ನೈಸರ್ಗಿಕವಾಗಿದೆ.
  • ಪೋರ್ಟಬಲ್ ಸಾಧನಗಳಿಂದ ಪ್ರಬಲ ಸರ್ವರ್‌ಗಳವರೆಗೆ ಎಲ್ಲಾ ಆಧುನಿಕ ವೆಬ್ ಬ್ರೌಸರ್‌ಗಳು ಮತ್ತು ವಿವಿಧ ರೀತಿಯ ಪರಿಸರಗಳಿಗೆ ವೇಗದ ಉಡಾವಣೆ ಮತ್ತು ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಖಚಿತಪಡಿಸುವುದು.
  • ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವಿಧಾನಗಳು ಮತ್ತು ಡೇಟಾದ ಎನ್ಕ್ಯಾಪ್ಸುಲೇಶನ್ ಮತ್ತು ಮರುಬಳಕೆಯನ್ನು ಅನುಮತಿಸುವ ತರಗತಿಗಳು ಮತ್ತು ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಸಾಮರ್ಥ್ಯ.
  • ಪ್ರಕಾರಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದರಿಂದ ದೋಷಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಮತ್ತು ಗುರುತಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ, ಕೋಡ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಮತ್ತು ಹೆಚ್ಚು ಓದುವಂತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಡೆವಲಪರ್‌ಗಳಿಂದ ಅದರ ಮಾರ್ಪಾಡು ಮತ್ತು ವಿಶ್ಲೇಷಣೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ.
  • ಬೆಂಬಲಿತ ಪ್ರಕಾರಗಳು ಸೇರಿವೆ: ವಿವಿಧ ರೀತಿಯ ಹ್ಯಾಶ್‌ಗಳು, ಅರೇಗಳು ಮತ್ತು ಪಟ್ಟಿಗಳು, ಸರತಿ ಸಾಲುಗಳು, ಸಂಖ್ಯಾ ಮತ್ತು ಸ್ಟ್ರಿಂಗ್ ಪ್ರಕಾರಗಳು, ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ನಿರ್ಧರಿಸುವ ಪ್ರಕಾರಗಳು, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು (RegExp). ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಕಾರಗಳನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಿದೆ.
  • ಸಮಾನಾಂತರ ಮರಣದಂಡನೆಯನ್ನು ಸಂಘಟಿಸಲು, ಪ್ರತ್ಯೇಕವಾದ ಗುಣಲಕ್ಷಣದೊಂದಿಗೆ ತರಗತಿಗಳನ್ನು ಬಳಸಲು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಅದರ ಕೋಡ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ ಮೆಮೊರಿ ಪ್ರದೇಶದಲ್ಲಿ ಪ್ರತ್ಯೇಕ ಜಾಗದಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ, ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ ಮುಖ್ಯ ಪ್ರಕ್ರಿಯೆಯೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ.
  • ದೊಡ್ಡ ವೆಬ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳ ಬೆಂಬಲ ಮತ್ತು ಡೀಬಗ್ ಮಾಡುವಿಕೆಯನ್ನು ಸರಳಗೊಳಿಸುವ ಗ್ರಂಥಾಲಯಗಳ ಬಳಕೆಗೆ ಬೆಂಬಲ. ಕಾರ್ಯಗಳ ಥರ್ಡ್-ಪಾರ್ಟಿ ಅಳವಡಿಕೆಗಳನ್ನು ಹಂಚಿದ ಲೈಬ್ರರಿಗಳ ರೂಪದಲ್ಲಿ ಸೇರಿಸಿಕೊಳ್ಳಬಹುದು. ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಬಹುದು ಮತ್ತು ಪ್ರತಿ ಭಾಗದ ಅಭಿವೃದ್ಧಿಯನ್ನು ಪ್ರೋಗ್ರಾಮರ್‌ಗಳ ಪ್ರತ್ಯೇಕ ತಂಡಕ್ಕೆ ವಹಿಸಿಕೊಡಬಹುದು.
  • ಡಾರ್ಟ್ ಭಾಷೆಯಲ್ಲಿ ಅಭಿವೃದ್ಧಿಯನ್ನು ಬೆಂಬಲಿಸಲು ಸಿದ್ಧವಾದ ಪರಿಕರಗಳ ಒಂದು ಸೆಟ್, ಡೈನಾಮಿಕ್ ಡೆವಲಪ್‌ಮೆಂಟ್‌ನ ಅನುಷ್ಠಾನ ಮತ್ತು ಫ್ಲೈನಲ್ಲಿ ಕೋಡ್ ತಿದ್ದುಪಡಿಯೊಂದಿಗೆ ಡೀಬಗ್ ಮಾಡುವ ಸಾಧನಗಳು ("ಸಂಪಾದಿಸಿ-ಮತ್ತು-ಮುಂದುವರಿಸಿ").
  • ಡಾರ್ಟ್ ಭಾಷೆಯಲ್ಲಿ ಅಭಿವೃದ್ಧಿಯನ್ನು ಸರಳಗೊಳಿಸಲು, ಇದು SDK, ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಪಬ್, ಸ್ಟ್ಯಾಟಿಕ್ ಕೋಡ್ ವಿಶ್ಲೇಷಕ dart_analyzer, ಲೈಬ್ರರಿಗಳ ಒಂದು ಸೆಟ್, ಇಂಟೆಲಿಜೆ IDEA, WebStorm, Emacs, Sublime Text ಗಾಗಿ ಸಮಗ್ರ ಅಭಿವೃದ್ಧಿ ಪರಿಸರ ಡಾರ್ಟ್‌ಪ್ಯಾಡ್ ಮತ್ತು ಡಾರ್ಟ್-ಸಕ್ರಿಯಗೊಳಿಸಿದ ಪ್ಲಗಿನ್‌ಗಳೊಂದಿಗೆ ಬರುತ್ತದೆ. 2 ಮತ್ತು ವಿಮ್.
  • ಗ್ರಂಥಾಲಯಗಳು ಮತ್ತು ಉಪಯುಕ್ತತೆಗಳೊಂದಿಗೆ ಹೆಚ್ಚುವರಿ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಪಬ್ ರೆಪೊಸಿಟರಿಯ ಮೂಲಕ ವಿತರಿಸಲಾಗುತ್ತದೆ, ಇದು ಸುಮಾರು 22 ಸಾವಿರ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಹೊಂದಿದೆ.

ಡಾರ್ಟ್ 2.15 ಬಿಡುಗಡೆಯಲ್ಲಿ ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳು:

  • ಹ್ಯಾಂಡ್ಲರ್‌ಗಳ ಪ್ರತ್ಯೇಕತೆಯೊಂದಿಗೆ ಕಾರ್ಯಗಳ ವೇಗದ ಸಮಾನಾಂತರ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಬಹು-ಕೋರ್ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ, ಡಾರ್ಟ್ ರನ್‌ಟೈಮ್ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಒಂದು CPU ಕೋರ್‌ನಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅಸಮಕಾಲಿಕ I/O, ಫೈಲ್‌ಗಳಿಗೆ ಬರೆಯುವುದು ಅಥವಾ ನೆಟ್‌ವರ್ಕ್ ಕರೆಗಳನ್ನು ಮಾಡುವಂತಹ ಸಿಸ್ಟಮ್ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಇತರ ಕೋರ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ತಮ್ಮ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ಸಮಾನಾಂತರವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ, ಉದಾಹರಣೆಗೆ, ಇಂಟರ್ಫೇಸ್‌ನಲ್ಲಿ ಅನಿಮೇಶನ್ ಅನ್ನು ನಿರೂಪಿಸಲು, ಪ್ರತ್ಯೇಕ ಕೋಡ್‌ಗಳನ್ನು (ಐಸೋಲೇಟ್) ಪ್ರಾರಂಭಿಸಲು ಸಾಧ್ಯವಿದೆ, ಪರಸ್ಪರ ಪ್ರತ್ಯೇಕಿಸಿ ಮತ್ತು ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್ ಥ್ರೆಡ್‌ನೊಂದಿಗೆ ಏಕಕಾಲದಲ್ಲಿ ಇತರ ಸಿಪಿಯು ಕೋರ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. . ಒಂದೇ ಗುಂಪಿನ ಡೇಟಾದೊಂದಿಗೆ ಏಕಕಾಲದಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ ಉಂಟಾಗುವ ದೋಷಗಳ ವಿರುದ್ಧ ರಕ್ಷಿಸಲು, ವಿಭಿನ್ನ ಪ್ರತ್ಯೇಕ ಬ್ಲಾಕ್‌ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದಾದ ವಸ್ತುಗಳ ಹಂಚಿಕೆಯನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ ಮತ್ತು ಹ್ಯಾಂಡ್ಲರ್‌ಗಳ ನಡುವಿನ ಸಂವಹನಕ್ಕಾಗಿ ಸಂದೇಶ-ಪಾಸಿಂಗ್ ಮಾದರಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

    ಡಾರ್ಟ್ 2.15 ಹೊಸ ಪರಿಕಲ್ಪನೆಯನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ - ಪ್ರತ್ಯೇಕ ಬ್ಲಾಕ್ ಗುಂಪುಗಳು (ಐಸೊಲೇಟ್ ಗುಂಪುಗಳು), ಇದು ಒಂದೇ ಗುಂಪಿನ ಭಾಗವಾಗಿರುವ ಪ್ರತ್ಯೇಕ ಬ್ಲಾಕ್‌ಗಳಲ್ಲಿ ವಿವಿಧ ಆಂತರಿಕ ಡೇಟಾ ರಚನೆಗಳಿಗೆ ಹಂಚಿಕೆಯ ಪ್ರವೇಶವನ್ನು ಸಂಘಟಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಇದು ಗುಂಪಿನಲ್ಲಿ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳ ನಡುವೆ ಸಂವಹನ ನಡೆಸುವಾಗ ಓವರ್‌ಹೆಡ್ ಅನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. . ಉದಾಹರಣೆಗೆ, ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಗುಂಪಿನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಐಸೊಲೇಟ್ ಬ್ಲಾಕ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವುದು 100 ಪಟ್ಟು ವೇಗವಾಗಿರುತ್ತದೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಡೇಟಾ ರಚನೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯತೆಯ ನಿರ್ಮೂಲನೆಯಿಂದಾಗಿ ಪ್ರತ್ಯೇಕ ಪ್ರತ್ಯೇಕ ಬ್ಲಾಕ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವುದಕ್ಕಿಂತ 10-100 ಪಟ್ಟು ಕಡಿಮೆ ಮೆಮೊರಿ ಅಗತ್ಯವಿರುತ್ತದೆ.

    ಗುಂಪಿನಲ್ಲಿರುವ ಪ್ರತ್ಯೇಕವಾದ ಬ್ಲಾಕ್‌ಗಳು ಬದಲಾಯಿಸಬಹುದಾದ ವಸ್ತುಗಳಿಗೆ ಹಂಚಿಕೆಯ ಪ್ರವೇಶವನ್ನು ಇನ್ನೂ ನಿಷೇಧಿಸುತ್ತವೆ ಎಂಬ ವಾಸ್ತವದ ಹೊರತಾಗಿಯೂ, ಗುಂಪುಗಳು ಹಂಚಿಕೆಯ ಹೀಪ್ ಮೆಮೊರಿಯನ್ನು ಬಳಸುತ್ತವೆ, ಇದು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾದ ನಕಲು ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಅಗತ್ಯವಿಲ್ಲದೇ ಒಂದು ಬ್ಲಾಕ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ವಸ್ತುಗಳ ವರ್ಗಾವಣೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ವೇಗಗೊಳಿಸುತ್ತದೆ. ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಕಲು ಮಾಡದೆಯೇ ಪೇರೆಂಟ್ ಐಸೊಲೇಟ್ ಬ್ಲಾಕ್‌ಗೆ ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸಲು Isolate.exit() ಗೆ ಕರೆ ಮಾಡುವಾಗ ಹ್ಯಾಂಡ್ಲರ್‌ನ ಫಲಿತಾಂಶವನ್ನು ರವಾನಿಸಲು ಹೊಸ ಆವೃತ್ತಿಯು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಜೊತೆಗೆ, ಸಂದೇಶ ರವಾನೆ ಕಾರ್ಯವಿಧಾನವನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ - ಸಣ್ಣ ಮತ್ತು ಮಧ್ಯಮ ಸಂದೇಶಗಳನ್ನು ಈಗ ಸರಿಸುಮಾರು 8 ಪಟ್ಟು ವೇಗವಾಗಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ. SendPort.send() ಕರೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಐಸೊಲೇಟ್‌ಗಳ ನಡುವೆ ರವಾನಿಸಬಹುದಾದ ವಸ್ತುಗಳು ಕೆಲವು ರೀತಿಯ ಕಾರ್ಯಗಳು, ಮುಚ್ಚುವಿಕೆಗಳು ಮತ್ತು ಸ್ಟಾಕ್ ಟ್ರೇಸ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ.

  • ಇತರ ಆಬ್ಜೆಕ್ಟ್‌ಗಳಲ್ಲಿ (ಟಿಯರ್-ಆಫ್) ವೈಯಕ್ತಿಕ ಕಾರ್ಯಗಳಿಗೆ ಪಾಯಿಂಟರ್‌ಗಳನ್ನು ರಚಿಸುವ ಸಾಧನಗಳಲ್ಲಿ, ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಕೋಡ್‌ನಲ್ಲಿ ಒಂದೇ ರೀತಿಯ ಪಾಯಿಂಟರ್‌ಗಳನ್ನು ರಚಿಸುವ ನಿರ್ಬಂಧಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ, ಫ್ಲಟ್ಟರ್ ಲೈಬ್ರರಿಯ ಆಧಾರದ ಮೇಲೆ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ ಇದು ಉಪಯುಕ್ತವಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಬಹು ಪಠ್ಯ ವಿಜೆಟ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಕಾಲಮ್ ವಿಜೆಟ್ ಅನ್ನು ರಚಿಸಲು, ನೀವು ".map()" ಗೆ ಕರೆ ಮಾಡಬಹುದು ಮತ್ತು ಪಠ್ಯ ವಸ್ತುವಿನ Text.new ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್‌ಗೆ ಪಾಯಿಂಟರ್‌ಗಳನ್ನು ರವಾನಿಸಬಹುದು: ವರ್ಗ FruitWidget ವಿಸ್ತರಿಸುತ್ತದೆ StatelessWidget {@override Widget build(BuildContext Context) {ರಿಟರ್ನ್ ಕಾಲಮ್(ಮಕ್ಕಳು: ['ಆಪಲ್', 'ಆರೆಂಜ್'].ಮ್ಯಾಪ್(Text.new).toList()); } }
  • ಫಂಕ್ಷನ್ ಪಾಯಿಂಟರ್‌ಗಳ ಬಳಕೆಗೆ ಸಂಬಂಧಿಸಿದ ಸಾಧ್ಯತೆಗಳನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ. ಜೆನೆರಿಕ್ ಅಲ್ಲದ ವಿಧಾನ ಮತ್ತು ಪಾಯಿಂಟರ್ ಅನ್ನು ರಚಿಸಲು ಜೆನೆರಿಕ್ ವಿಧಾನಗಳು ಮತ್ತು ಫಂಕ್ಷನ್ ಪಾಯಿಂಟರ್‌ಗಳನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ: T id (ಟಿ ಮೌಲ್ಯ) => ಮೌಲ್ಯ; var intId = ಐಡಿ ; // "int ಫಂಕ್ಷನ್ (int) intId = id;" ಬದಲಿಗೆ ಆವೃತ್ತಿ 2.15 ರಲ್ಲಿ ಅನುಮತಿಸಲಾಗಿದೆ const fo = id; // ಫಂಕ್ಷನ್ ಐಡಿಗೆ ಪಾಯಿಂಟರ್. const c1 = fo ;
  • ಡಾರ್ಟ್:ಕೋರ್ ಲೈಬ್ರರಿಯು enums ಗೆ ಸುಧಾರಿತ ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ, ಉದಾಹರಣೆಗೆ, ನೀವು ಈಗ ".name" ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರತಿ enum ಮೌಲ್ಯದಿಂದ ಸ್ಟ್ರಿಂಗ್ ಮೌಲ್ಯವನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡಬಹುದು, ಹೆಸರಿನ ಮೂಲಕ ಮೌಲ್ಯಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ ಅಥವಾ ಮೌಲ್ಯಗಳ ಜೋಡಿಗಳನ್ನು ಹೊಂದಿಸಬಹುದು: enum MyEnum {ಒಂದು , ಎರಡು, ಮೂರು } ಅನೂರ್ಜಿತ ಮುಖ್ಯ() {print(MyEnum.one.name); // "ಒಂದು" ಮುದ್ರಿಸಲಾಗುತ್ತದೆ. ಪ್ರಿಂಟ್(MyEnum.values.byName('ಎರಡು') == MyEnum.two); // "ನಿಜ" ಎಂದು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ. ಅಂತಿಮ ನಕ್ಷೆ = MyEnum.values.asNameMap(); ಪ್ರಿಂಟ್ (ನಕ್ಷೆ ['ಮೂರು'] == MyEnum.three); // "ನಿಜ". }
  • ಒಂದು ಪಾಯಿಂಟರ್ ಕಂಪ್ರೆಷನ್ ತಂತ್ರವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ ಅದು 64-ಬಿಟ್ ಪರಿಸರದಲ್ಲಿ ಪಾಯಿಂಟರ್‌ಗಳ ಹೆಚ್ಚು ಕಾಂಪ್ಯಾಕ್ಟ್ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಬಳಸಲು 32-ಬಿಟ್ ವಿಳಾಸ ಸ್ಥಳವು ಸಾಕಾಗಿದ್ದರೆ (4 GB ಗಿಂತ ಹೆಚ್ಚಿನ ಮೆಮೊರಿಯನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ). ಅಂತಹ ಆಪ್ಟಿಮೈಸೇಶನ್ ರಾಶಿ ಗಾತ್ರವನ್ನು ಸರಿಸುಮಾರು 10% ರಷ್ಟು ಕಡಿಮೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ ಎಂದು ಪರೀಕ್ಷೆಗಳು ತೋರಿಸಿವೆ. Flutter SDK ನಲ್ಲಿ, ಹೊಸ ಮೋಡ್ ಅನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ Android ಗಾಗಿ ಈಗಾಗಲೇ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಭವಿಷ್ಯದ ಬಿಡುಗಡೆಯಲ್ಲಿ iOS ಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲು ಯೋಜಿಸಲಾಗಿದೆ.
  • ಡಾರ್ಟ್ SDK ಡೀಬಗ್ ಮಾಡುವಿಕೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಪರಿಕರಗಳನ್ನು ಒಳಗೊಂಡಿದೆ (DevTools), ಇವುಗಳನ್ನು ಹಿಂದೆ ಪ್ರತ್ಯೇಕ ಪ್ಯಾಕೇಜ್‌ನಲ್ಲಿ ಸರಬರಾಜು ಮಾಡಲಾಗಿತ್ತು.
  • ಗೌಪ್ಯ ಮಾಹಿತಿಯ ಆಕಸ್ಮಿಕ ಪ್ರಕಟಣೆಯನ್ನು ಪತ್ತೆಹಚ್ಚಲು "ಡಾರ್ಟ್ ಪಬ್" ಆಜ್ಞೆ ಮತ್ತು pub.dev ಪ್ಯಾಕೇಜ್ ರೆಪೊಸಿಟರಿಗಳಿಗೆ ಪರಿಕರಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ಪ್ಯಾಕೇಜ್‌ನಲ್ಲಿ ನಿರಂತರ ಏಕೀಕರಣ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಕ್ಲೌಡ್ ಪರಿಸರಗಳಿಗೆ ರುಜುವಾತುಗಳನ್ನು ಬಿಡಲಾಗುತ್ತದೆ. ಅಂತಹ ಸೋರಿಕೆಗಳು ಪತ್ತೆಯಾದರೆ, "ಡಾರ್ಟ್ ಪಬ್ ಪಬ್ಲಿಷ್" ಆಜ್ಞೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯು ದೋಷ ಸಂದೇಶದೊಂದಿಗೆ ಅಡಚಣೆಯಾಗುತ್ತದೆ. ತಪ್ಪು ಧನಾತ್ಮಕವಾಗಿದ್ದರೆ, ಬಿಳಿ ಪಟ್ಟಿಯ ಮೂಲಕ ಚೆಕ್ ಅನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಸಾಧ್ಯವಿದೆ.
  • ಪ್ಯಾಕೇಜ್‌ನ ಈಗಾಗಲೇ ಪ್ರಕಟಿಸಲಾದ ಆವೃತ್ತಿಯನ್ನು ಹಿಂತೆಗೆದುಕೊಳ್ಳುವ ಸಾಮರ್ಥ್ಯವನ್ನು pub.dev ರೆಪೊಸಿಟರಿಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ಅಪಾಯಕಾರಿ ದೋಷಗಳು ಅಥವಾ ದುರ್ಬಲತೆಗಳು ಪತ್ತೆಯಾದರೆ. ಹಿಂದೆ, ಅಂತಹ ತಿದ್ದುಪಡಿಗಳಿಗಾಗಿ, ಸರಿಪಡಿಸುವ ಆವೃತ್ತಿಯನ್ನು ಪ್ರಕಟಿಸುವುದು ಅಭ್ಯಾಸವಾಗಿತ್ತು, ಆದರೆ ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಬಿಡುಗಡೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದು ಮತ್ತು ಅದರ ಮುಂದಿನ ವಿತರಣೆಯನ್ನು ತುರ್ತಾಗಿ ನಿಲ್ಲಿಸುವುದು ಅವಶ್ಯಕ (ಉದಾಹರಣೆಗೆ, ತಿದ್ದುಪಡಿ ಇನ್ನೂ ಸಿದ್ಧವಾಗಿಲ್ಲದಿದ್ದರೆ ಅಥವಾ ಪೂರ್ಣ ಬಿಡುಗಡೆಯಾಗಿದ್ದರೆ ಪರೀಕ್ಷಾ ಆವೃತ್ತಿಯ ಬದಲಿಗೆ ತಪ್ಪಾಗಿ ಪ್ರಕಟಿಸಲಾಗಿದೆ). ಹಿಂತೆಗೆದುಕೊಂಡ ನಂತರ, ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಇನ್ನು ಮುಂದೆ "pub get" ಮತ್ತು "pub upgrade" ಆಜ್ಞೆಗಳಲ್ಲಿ ಗುರುತಿಸಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಅದನ್ನು ಈಗಾಗಲೇ ಸ್ಥಾಪಿಸಿದ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ, ಮುಂದಿನ ಬಾರಿ "pub get" ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ ವಿಶೇಷ ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡಲಾಗುತ್ತದೆ.
  • ಪ್ರದರ್ಶನ ಕ್ರಮವನ್ನು ಬದಲಾಯಿಸುವ ಕೋಡ್‌ನಲ್ಲಿ ಯುನಿಕೋಡ್ ಅಕ್ಷರಗಳ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ದುರ್ಬಲತೆಯ ವಿರುದ್ಧ ರಕ್ಷಣೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ (CVE-2021-22567).
  • pub.dev oauth2021 ಪ್ರವೇಶ ಟೋಕನ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುವ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಸರ್ವರ್‌ಗೆ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಪ್ರಕಟಿಸುವಾಗ ಮತ್ತೊಂದು pub.dev ಬಳಕೆದಾರರನ್ನು ಸೋಗು ಹಾಕಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ದುರ್ಬಲತೆಯನ್ನು (CVE-22568-2) ಪರಿಹರಿಸಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಆಂತರಿಕ ಮತ್ತು ಕಾರ್ಪೊರೇಟ್ ಪ್ಯಾಕೇಜ್ ಸರ್ವರ್‌ಗಳ ಮೇಲೆ ದಾಳಿ ಮಾಡಲು ದುರ್ಬಲತೆಯನ್ನು ಬಳಸಬಹುದು. pub.dev ನಲ್ಲಿ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಹೋಸ್ಟ್ ಮಾಡುವ ಡೆವಲಪರ್‌ಗಳು ಈ ಸಮಸ್ಯೆಯಿಂದ ಪ್ರಭಾವಿತರಾಗುವುದಿಲ್ಲ.

ಅದೇ ಸಮಯದಲ್ಲಿ, ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಫ್ಲಟರ್ 2.8 ನ ಗಮನಾರ್ಹ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ, ಇದು ರಿಯಾಕ್ಟ್ ನೇಟಿವ್‌ಗೆ ಪರ್ಯಾಯವಾಗಿ ಪರಿಗಣಿಸಲ್ಪಟ್ಟಿದೆ ಮತ್ತು ಐಒಎಸ್, ಆಂಡ್ರಾಯ್ಡ್, ವಿಂಡೋಸ್, ಮ್ಯಾಕೋಸ್ ಮತ್ತು ಮ್ಯಾಕೋಸ್ ಮತ್ತು ಒಂದೇ ಕೋಡ್ ಬೇಸ್ ಅನ್ನು ಆಧರಿಸಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. Linux ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು, ಹಾಗೆಯೇ ಬ್ರೌಸರ್‌ಗಳಲ್ಲಿ ರನ್ ಮಾಡಲು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಿ. ಗೂಗಲ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಫ್ಯೂಷಿಯಾ ಮೈಕ್ರೋಕರ್ನಲ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಾಗಿ ಕಸ್ಟಮ್ ಶೆಲ್ ಅನ್ನು ಫ್ಲಟರ್ ಆಧಾರದ ಮೇಲೆ ನಿರ್ಮಿಸಲಾಗಿದೆ. ಕಳೆದ ಆರು ತಿಂಗಳುಗಳಲ್ಲಿ, ಗೂಗಲ್ ಪ್ಲೇ ಸ್ಟೋರ್‌ನಲ್ಲಿ ಫ್ಲಟರ್ 2 ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಸಂಖ್ಯೆಯು 200 ಸಾವಿರದಿಂದ 375 ಸಾವಿರಕ್ಕೆ ಹೆಚ್ಚಾಗಿದೆ ಎಂದು ಗಮನಿಸಲಾಗಿದೆ, ಅಂದರೆ. ಸುಮಾರು ಎರಡು ಬಾರಿ.

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

ಫ್ಲಟರ್‌ನ ಹೊಸ ಬಿಡುಗಡೆಯ ಬದಲಾವಣೆಗಳಲ್ಲಿ, ಮೊಬೈಲ್ ಸಾಧನಗಳಲ್ಲಿ ಉಡಾವಣಾ ವೇಗ ಮತ್ತು ಮೆಮೊರಿ ಬಳಕೆಯ ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಗುರುತಿಸಲಾಗಿದೆ. Firebase ಮತ್ತು Google Cloud ನಂತಹ ಬ್ಯಾಕೆಂಡ್ ಸೇವೆಗಳಿಗೆ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಸಂಪರ್ಕಿಸುವುದು ಸುಲಭವಾಗಿದೆ. Google ಜಾಹೀರಾತುಗಳೊಂದಿಗೆ ಏಕೀಕರಣಕ್ಕಾಗಿ ಪರಿಕರಗಳನ್ನು ಸ್ಥಿರಗೊಳಿಸಲಾಗಿದೆ. ಕ್ಯಾಮೆರಾಗಳು ಮತ್ತು ವೆಬ್ ಪ್ಲಗಿನ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಸುಧಾರಿಸಲಾಗಿದೆ. ಅಭಿವೃದ್ಧಿಯನ್ನು ಸರಳಗೊಳಿಸಲು ಹೊಸ ಪರಿಕರಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, Firebase ಬಳಸಿಕೊಂಡು ದೃಢೀಕರಣಕ್ಕಾಗಿ ವಿಜೆಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಫ್ಲಟ್ಟರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು 2D ಆಟಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಫ್ಲೇಮ್ ಎಂಜಿನ್ ಅನ್ನು ನವೀಕರಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ