ืืืื ืคืจืกืื ืืช ืืืืืืจื ืฉื ืฉืคืช ืืชืื ืืช Dart 2.15, ืฉืืืฉืืื ืืคืืชืื ืฉื ืขื ืฃ Dart 2 ืฉืขืืฆื ืืืืฉ ืืืืคื ืงืืฆืื ื, ืืฉืื ื ืืืืจืกื ืืืงืืจืืช ืฉื ืฉืคืช Dart ืืฉืืืืฉ ืืืงืืื ืกืืืืช ืืืงื (ื ืืชื ืืืกืืง ืกืืืื ืืืืคื ืืืืืืื, ืืืื ืืฉ ืืฆืืื ืืื ืฆืืจื ืืืงืืื ืืื ืืืช, ืืืืืฉืื ืืจืืฉืื ื ืืกืื ืืืงืฆื ืืืฉืชื ื ืืืืืฉื ืืืืฉืืช ืืืืงืช ืืืคืืก ืงืคืื ืืช).
ืชืืื ืืช ืฉื ืฉืคืช Dart:
- ืชืืืืจ ืืืืจ ืืงื ืืืืืื, ืืืขื ืืืชืื ืชื JavaScript, C ื-Java.
- ืืืืืช ืืฉืงื ืืืืจื ืืืืฆืืขืื ืืืืืื ืขืืืจ ืื ืืคืืคื ื ืืืื ืืจื ื ืืืืืจื ืืื ืืกืืืื ืฉืื ืื ืฉื ืกืืืืืช, ืืืืฉืืจืื ื ืืืืื ืืขื ืฉืจืชืื ืจืื ืขืืฆืื.
- ืืืืืืช ืืืืืืจ ืืืืงืืช ืืืืฉืงืื ืืืืคืฉืจืื ืื ืงืคืกืืืฆืื ืืฉืืืืฉ ืืืืจ ืืฉืืืืช ืืื ืชืื ืื ืงืืืืื.
- ืฆืืื ืกืืืื ืืงื ืขื ื ืืคืื ืืืืื ืืืืืื ืฉืืืืืช, ืืืคื ืืช ืืงืื ืืืจืืจ ืืงืจืื ืืืชืจ ืืืคืฉื ืืช ืืฉืื ืื ืืื ืืชืื ืฉืื ืขื ืืื ืืคืชืื ืฆื ืฉืืืฉื.
- ืืกืืืื ืื ืชืืืื ืืืืืื: ืกืืืื ืฉืื ืื ืฉื hashes, ืืขืจืืื ืืจืฉืืืืช, ืชืืจืื, ืกืืื ืืกืคืจืื ืืืืจืืืืช, ืกืืืื ืืงืืืขืช ืชืืจืื ืืฉืขื, ืืืืืืื ืจืืืืจืืื (RegExp). ืืคืฉืจ ืืืฆืืจ ืกืืืื ืืฉืื.
- ืืื ืืืจืื ืืืฆืืข ืืงืืื, ืืืฆืข ืืืฉืชืืฉ ืืืืืงืืช ืขื ืชืืื ืช isolate, ืฉืืงืื ืฉืืื ืืืืฆืข ืืืื ืืืจืื ืืืืื ืืืืืจ ืืืืจืื ื ืคืจื, ืชืื ืืื ืืจืืงืฆืื ืขื ืืชืืืื ืืจืืฉื ืขื ืืื ืฉืืืืช ืืืืขืืช.
- ืชืืืื ืืฉืืืืฉ ืืกืคืจืืืช ืืืคืฉืืืช ืืช ืืชืืืื ืื ืืคืื ืืืืื ืืคืจืืืงืืื ืืืืืื ืืืื ืืจื ื. ื ืืชื ืืืืื ืืืืืฉืื ืฉื ืคืื ืงืฆืืืช ืฉื ืฆื ืฉืืืฉื ืืฆืืจื ืฉื ืกืคืจืืืช ืืฉืืชืคืืช. ื ืืชื ืืืืง ืืช ืืืคืืืงืฆืืืช ืืืืงืื ืืืืคืงืื ืืช ืืคืืชืื ืฉื ืื ืืืง ืืืื ืฆืืืช ื ืคืจื ืฉื ืืชืื ืชืื.
- ืกื ืืืื ืืืื ืื ืืชืืืื ืืคืืชืื ืืฉืคืช Dart, ืืืื ืืืืขืช ืืื ืคืืชืื ืืื ืื ืื ืืคืื ืืืืื ืขื ืชืืงืื ืงืื ืชืื ืืื ืชื ืืขื ("ืขืจืืื-ืืืืฉื").
- ืืื ืืคืฉื ืืช ืืคืืชืื ืืฉืคืช Dart, ืืื ืืืืข ืขื SDK, ืคืื ืืื ืื ืืืืืืช, ืื ืชื ืงืื ืกืืื dart_analyzer, ืกื ืกืคืจืืืช, ืกืืืืช ืคืืชืื ืืฉืืืืช DartPad ืืชืืกืคืื ืืชืืืืื ื-Dart ืขืืืจ IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 ื-Vim.
- ืืืืืืช ื ืืกืคืืช ืขื ืกืคืจืืืช ืืฉืืจืืชืื ืืืคืฆืืช ืืจื ืืืืจ ืืคืื, ืืืืื ื-22 ืืืฃ ืืืืืืช.
ืฉืื ืืืื ืขืืงืจืืื ืืืืืืจืช Dart 2.15:
- ืืกืคืง ืืืื ืืืืฆืืข ืืงืืื ืืืืจ ืฉื ืืฉืืืืช ืขื ืืืืื ืฉื ืืืคืืื. ืืืขืจืืืช ืืจืืืืช ืืืืืช, ืืื ืืจืืฆื ืฉื Dart ืืืจืืจืช ืืืื ืืจืืฅ ืงืื ืืืฉืื ืขื ืืืืช ืืขืื ืืืช ืืืฉืชืืฉ ืืืืืืช ืืืจืืช ืืืืฆืืข ืืฉืืืืช ืืขืจืืช ืืืื I/O ืืกืื ืืจืื ื, ืืชืืื ืืงืืฆืื ืื ืืืฆืืข ืฉืืืืช ืจืฉืช. ืขืืืจ ืืืฉืืืื ืฉืฆืจืืืื ืืืคืขืื ืืช ืืืืคืืื ืฉืืื ืืืงืืื, ืืืฉื, ืืื ืืขืื ืื ืืืฆืื ืืืืฉืง, ืืคืฉืจ ืืืคืขืื ืืืืงืื ื ืคืจืืื ืฉื ืงืื (isolate), ืืืืืืื ืื ืืื ืืืืืฆืขืื ืขื ืืืืืช CPU ืืืจืืช ืื-ืืื ืืช ืขื ืฉืจืฉืืจ ืืืคืืืงืฆืื ืืจืืฉื . ืืื ืืืื ืืคื ื ืฉืืืืืช ืืืชืขืืจืจืืช ืืขืช ืืืฆืืข ืื-ืืื ืืช ืฉื ืงืื ืฉืขืืื ืขื ืืืชื ืงืืืฆืช ื ืชืื ืื, ืืกืืจ ืฉืืชืืฃ ืฉื ืืืืืืงืืื ืื ืืชื ืื ืืฉืื ืื ืืืืืงืื ืืืืืืื ืฉืื ืื, ืืืืื ืืขืืจืช ืืืืขืืช ืืฉืืฉ ืืืื ืืจืืงืฆืื ืืื ืืืคืืื.
Dart 2.15 ืืฆืื ืงืื ืกืคื ืืืฉ - ืงืืืฆืืช ืืืืง ืืืืืืืช (ืงืืืฆืืช ืืืืืืืช), ืืืืคืฉืจ ืืืจืื ืืืฉื ืืฉืืชืคืช ืืืื ื ื ืชืื ืื ืคื ืืืืื ืฉืื ืื ืืืืืงืื ืืืืืืื ืฉืื ืืืง ืืืืชื ืงืืืฆื, ืื ืฉืืืื ืืืคืืืช ืืฉืืขืืชืืช ืืช ืืชืงืืจื ืืขืช ืืื ืืจืืงืฆืื ืืื ืืืคืืื ืืงืืืฆื . ืืืืืื, ืืฉืงืช ืืืืง ืืืืื ื ืืกืฃ ืืงืืืฆื ืงืืืืช ืืืืจื ืคื 100 ืืืืจืฉืช ืคื 10-100 ืคืืืช ืืืืจืื ืืืฉืจ ืืฉืงืช ืืืืง ืืืืื ื ืคืจื, ืืฉื ืืืืื ืืฆืืจื ืืืชืืื ืืื ื ื ืชืื ืื ืฉื ืชืืื ืืช.
ืืืจืืช ืืขืืืื ืฉืืืืงืื ืืืืืืื ืืงืืืฆื ืขืืืื ืืืกืจืื ืืืฉื ืืฉืืชืคืช ืืืืืืืงืืื ืื ืืชื ืื ืืฉืื ืื, ืืงืืืฆืืช ืืฉืชืืฉืืช ืืืืืจืื ืขืจืืื ืืฉืืชืฃ, ืฉืืืื ืืืืืฅ ืืฉืืขืืชืืช ืืช ืืขืืจืช ืืืืืืืงืืื ืืืืืง ืืื ืืืืจ ืืื ืฆืืจื ืืืืฆืืข ืคืขืืืืช ืืขืชืงื ืขืชืืจืืช ืืฉืืืื. ืืืจืกื ืืืืฉื ืื ืืืคืฉืจืช ืื ืืืขืืืจ ืืช ืืชืืฆืื ืฉื ืืืืคื ืืขืช ืงืจืืื ื-Isolate.exit() ืืื ืืืขืืืจ ื ืชืื ืื ืืืืืง ื-Isolate ืืื ืืื ืคืขืืืืช ืืขืชืงื. ืื ืืกืฃ, ืื ืื ืื ืืขืืจืช ืืืืืขืืช ืขืืจ ืืืคืืืืืืฆืื - ืืืืขืืช ืงืื ืืช ืืืื ืื ืืืช ืืขืืืืืช ืืขืช ืืคื 8 ืืืจ ืืืชืจ. ืืืืืืงืืื ืฉื ืืชื ืืืขืืืจ ืืื ืืืืืืื ืืืืฆืขืืช ืืงืจืืื SendPort.send() ืืืืืื ืืื ืกืืืื ืฉื ืคืื ืงืฆืืืช, ืกืืืจืืช ืืขืงืืืช ืืืกื ืืืช.
- ืืืืื ืืืฆืืจืช ืืฆืืืขืื ืืคืื ืงืฆืืืช ืืืืืืช ืืืืืืืงืืื ืืืจืื (ืงืจืข), ืืืกืจื ืืืืืืช ืขื ืืฆืืจืช ืืฆืืืขืื ืืืืื ืืงืื ืืื ืื, ืื ืฉืืืื ืืืืืช ืฉืืืืฉื ืืขืช ืื ืืืช ืืืฉืงืื ืืืืืกืกืื ืขื ืกืคืจืืืช Flutter. ืืืืืื, ืืื ืืืฆืืจ ืืืืื'ื Column ืืืืื ืืกืคืจ ืืืืื'ืืื ืฉื ืืงืกื, ืืชื ืืืื ืืงืจืื ".map()" ืืืืขืืืจ ืืฆืืืขืื ืืื ืื Text.new ืฉื ืืืืืืืงื Text: class FruitWidget ืืจืืื ืืช StatelessWidget { @override Widget build(BuildContext context) { return Column( children: ['Apple', 'Orange'].map(Text.new).toList()); } }
- ืืืจืืื ืืืคืฉืจืืืืช ืืงืฉืืจืืช ืืฉืืืืฉ ืืืฆืืืขื ืคืื ืงืฆืืืช. ื ืืกืคื ืืืืืืช ืืืฉืชืืฉ ืืฉืืืืช ืื ืจืืืช ืืืืฆืืืขื ืคืื ืงืฆืืืช ืืื ืืืฆืืจ ืฉืืื ืืืฆืืืข ืื ืื ืจื: T id (ืขืจื T) => ืขืจื; var intId = ืืืื ; // ืืืชืจ ืืืจืกื 2.15 ืืืงืื "int Function(int) intId = id;" const fo = ืืืื; // ืืฆืืืข ืืืืื ืคืื ืงืฆืื. const c1 = fo ;
- ืกืคืจืืืช dart:core ืฉืืคืจื ืชืืืื ื-enums, ืืืืืื, ืืขืช ืชืืื ืืืืฆืื ืขืจื ืืืจืืืช ืืื ืขืจื enum ืืฉืืืช ".name", ืืืืืจ ืขืจืืื ืืคื ืฉื, ืื ืืืชืืื ืืืืืช ืขืจืืื: enum MyEnum { one , two, three } void main() { print(MyEnum.one.name); // "ืืื" ืืืืคืก. print(MyEnum.values.byName('two') == MyEnum.two); // "true" ืืืืคืก. final map = MyEnum.values.asNameMap(); print(map['three'] == MyEnum.three); // "ื ืืื". }
- ืืืืืขื ืืื ืืงืช ืืืืกืช ืืฆืืืขืื ืืืืคืฉืจืช ืฉืืืืฉ ืืืืฆืื ืงืืืคืงืื ืืืชืจ ืฉื ืืฆืืืขืื ืืกืืืืืช ืฉื 64 ืกืืืืืช ืื ืืกืคืืง ืฉืื ืืชืืืืช ืฉื 32 ืกืืืืืช ืืืชืืืืกืืช (ืื ื ืขืฉื ืฉืืืืฉ ืืืืชืจ ื-4 GB ืฉื ืืืืจืื). ืืืืงืืช ืืจืื ืฉืืืคืืืืืืฆืื ืืื ืืืคืฉืจืช ืืืงืืื ืืช ืืืื ืืขืจืืื ืื-10%. ื-Flutter SDK, ืืืฆื ืืืืฉ ืืืจ ืืืคืขื ืขืืืจ ืื ืืจืืืื ืืืจืืจืช ืืืื, ืืืชืืื ื ืืืืืช ืืืคืขื ืขืืืจ iOS ืืืืืืจื ืขืชืืืืช.
- ื-Dart SDK ืืืื ืืืื ืื ืืคืื ืืืืื ืื ืืชืื ืืืฆืืขืื (DevTools), ืฉืกืืคืงื ืืขืืจ ืืืืืื ื ืคืจืืช.
- ืืืื ื ืืกืคื ืืคืงืืื "dart pub" ืืืืืืจื ืืืืืืืช pub.dev ืืื ืืขืงืื ืืืจ ืคืจืกืื ืืงืจื ืฉื ืืืืข ืกืืื, ืืืฉื, ืืฉืืจืช ืืืฉืืจืื ืขืืืจ ืืขืจืืืช ืืื ืืืจืฆืื ืจืฆืืคืืช ืืกืืืืืช ืขื ื ืืชืื ืืืืืื. ืื ืืชืืื ืืืืคืืช ืืืื, ืืืฆืืข ืืคืงืืื "ืืืจื pub publish" ืืืคืกืง ืขื ืืืืขืช ืฉืืืื. ืื ืืืืชื ืืืืืืช ืฉืืืื, ืืคืฉืจ ืืขืงืืฃ ืืช ืืฆ'ืง ืืจื ืจืฉืืื ืืื ื.
- ืืืืืืช ืืืื ืืจืกื ืฉืืืจ ืคืืจืกืื ืฉื ืืืืื ื ืืกืคื ืืืืืจ pub.dev, ืืืฉื, ืื ืืชืืืืช ืฉืืืืืช ืื ืคืืืขืืืืช ืืกืืื ืืช. ืืขืืจ, ืขืืืจ ืชืืงืื ืื ืืืื, ืื ืืื ืืื ืืคืจืกื ืืจืกื ืืชืงื ืช, ืื ืืืฆืืื ืืกืืืืื ืืฉ ืฆืืจื ืืืื ืืช ืืืคืฆื ืืงืืืืช ืืืืคืกืืง ืืืืืคืืช ืืช ืืืฉื ืืคืฆืชื (ืืืฉื, ืื ืืชืืงืื ืขืืืื ืื ืืืื ืื ืื ืืืฆืื ืืืื ืคืืจืกื ืืืขืืช ืืืงืื ืืจืกืช ืืืืงื). ืืืืจ ืืืืื ืืืืืื ืืื ื ืืืืื ืืืชืจ ืืคืงืืืืช "pub get" ื-"pub upgrade", ืืืืขืจืืืช ืฉืืืจ ืืชืงืื ื ืืืชื, ืืื ืคืงืช ืืืืจื ืืืืืืช ืืคืขื ืืืื ืฉ"pub get" ืืืืฆืข.
- ื ืืกืคื ืืื ื ืืคื ื ืคืืืขืืช (CVE-2021-22567) ืื ืืจืืช ืืฉืืืืฉ ืืชืืื unicode ืืงืื ืืืฉื ืื ืืช ืกืืจ ืืชืฆืืื.
- ืชืืงื ื ืคืืืขืืช (CVE-2021-22568) ืืืืคืฉืจืช ืื ืืืชืืืืช ืืืฉืชืืฉ pub.dev ืืืจ ืืขืช ืคืจืกืื ืืืืืืช ืืฉืจืช ืฆื ืฉืืืฉื ืืืงืื ืืกืืืื ื ืืืฉื ืฉื pub.dev oauth2. ืืืืืื, ื ืืชื ืืืฉืชืืฉ ืืคืืืขืืช ืืื ืืชืงืืฃ ืฉืจืชื ืืืืืืช ืคื ืืืืื ืืืจืืื ืืื. ืืคืชืืื ืืืืจืืื ืจืง ืืืืืืช ื- pub.dev ืืื ื ืืืฉืคืขืื ืืืืขืื ืืื.
ืืืงืืื, ืืืฆืื ืืืืืจื ืืฉืืขืืชืืช ืฉื ืืกืืจืช ืืืฉืง ืืืฉืชืืฉ Flutter 2.8, ืื ืืฉืืช ืืืืืคื ื-React Native ืืืืคืฉืจืช, ืืืชืืกืก ืขื ืืกืืก ืงืื ืืื, ืืฉืืจืจ ืืคืืืงืฆืืืช ืขืืืจ iOS, Android, Windows, macOS ื ืคืืืคืืจืืืช ืืื ืืงืก, ืืื ืื ืืืฆืืจ ืืืฉืืืื ืืืคืขืื ืืืคืืคื ืื. ืืขืืคืช ืืืชืืืช ืืืฉืืช ืขืืืจ ืืขืจืืช ืืืคืขืื Fuchsia microkernel ืฉืคืืชืื ืขื ืืื ืืืื ืื ืืื ืขื ืืกืืก Flutter. ืืฆืืื ืื ืืืืื ืฉืฉืช ืืืืืฉืื ืืืืจืื ืื ืืื ืืกืคืจ ืืืคืืืงืฆืืืช ืฉื Flutter 2 ืืื ืืช Google Play ื-200 ืืืฃ ื-375 ืืืฃ, ืืืืืจ. ืืืขื ืคืขืืืื.
ืืืืง ืืขืืงืจื ืฉื ืงืื Flutter ืืืืฉื ืืฉืคืช Dart, ืืื ืืข ืืื ืืจืืฆื ืืืืฆืืข ืืืฉืืืื ืืชืื ื-C++. ืืขืช ืคืืชืื ืืืฉืืืื, ืื ืืกืฃ ืืฉืคืช Dart ืืืงืืจืืช ืฉื Flutter, ืืชื ืืืื ืืืฉืชืืฉ ืืืืฉืง Dart Foreign Function ืืื ืืงืจืื ืืงืื C/C++. ืืืฆืืขื ืืืฆืืข ืืืืืื ืืืฉืืื ืขื ืืื ืงืืืคืืืฆืื ืฉื ืืืฉืืืื ืืงืื ืืงืืจื ืขืืืจ ืคืืืคืืจืืืช ืืขื. ืืืงืจื ืื, ืืื ืฆืืจื ืืืืจ ืืืืฉ ืืช ืืชืืื ืืช ืืืืจ ืื ืฉืื ืื - Dart ืืกืคืง ืืฆื ืืขืื ื ืืืืจืช ืืื ืืืืคืฉืจ ืืืฆืข ืฉืื ืืืื ืืืคืืืงืฆืื ืืคืืขืืช ืืืืขืจืื ืืื ืืช ืืชืืฆืื.
ืืื ืืฉืื ืืืื ืืืืืืจื ืืืืฉื ืฉื Flutter, ืืฆืืื ืืืคืืืืืืฆืื ืฉื ืืืืจืืช ืืืฉืงื ืืฆืจืืืช ืืืืืจืื ืืืืฉืืจืื ื ืืืืื. ืงื ืืืชืจ ืืืืจ ืืคืืืงืฆืืืช ืืฉืืจืืชื ืงืฆื ืืื Firebase ื-Google Cloud. ืืืืื ืืฉืืืื ืขื Google Ads ืืชืืืฆืื. ืืชืืืื ืืืฆืืืืช ืืืชืืกืคื ืืื ืืจื ื ืฉืืคืจื ืืฉืืขืืชืืช. ืืืฆืขื ืืืื ืืืฉืื ืืื ืืคืฉื ืืช ืืคืืชืื, ืืืืืื, ื ืืกืฃ ืืืฉืืืื ืืืืืืช ืืืืฆืขืืช Firebase. ืื ืืข ื-Flame, ืืืืืขื ืืคืืชืื ืืฉืืงื ืื-ืืื ืืืืฆืขืืช Flutter, ืขืืืื.
ืืงืืจ: OpenNet.ru