ื’ื•ื’ืœ ื”ืฆื™ื’ื” ืืช ืžืกื’ืจืช Flutter 2 ื•ืืช ืฉืคืช Dart 2.12

ื’ื•ื’ืœ ื”ืฆื™ื’ื” ืืช ืžืกื’ืจืช ืžืžืฉืง ื”ืžืฉืชืžืฉ ืฉืœ Flutter 2, ืฉืกื™ืžื ื” ืืช ื”ืคื™ื›ืช ื”ืคืจื•ื™ืงื˜ ืžืžืกื’ืจืช ืœืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช ืžื•ื‘ื™ื™ืœ ืœืžืกื’ืจืช ืื•ื ื™ื‘ืจืกืœื™ืช ืœื™ืฆื™ืจืช ื›ืœ ืกื•ื’ ืฉืœ ืชื•ื›ื ื™ืช, ืœืจื‘ื•ืช ืชื•ื›ื ื™ื•ืช ืฉื•ืœื—ืŸ ืขื‘ื•ื“ื” ื•ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜.

Flutter ื ืชืคืก ื›ืืœื˜ืจื ื˜ื™ื‘ื” ืœ-React Native ื•ืžืืคืฉืจ ืœื™ื™ืฆืจ ืืคืœื™ืงืฆื™ื•ืช ืœืคืœื˜ืคื•ืจืžื•ืช ืฉื•ื ื•ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ ื‘ืกื™ืก ืงื•ื“ ืื—ื“, ื›ื•ืœืœ iOS, Android, Windows, macOS ื•-Linux, ื›ืžื• ื’ื ืืคืœื™ืงืฆื™ื•ืช ื”ืคื•ืขืœื•ืช ื‘ื“ืคื“ืคื ื™ื. ืืคืœื™ืงืฆื™ื•ืช ืžื•ื‘ื™ื™ืœ ืฉื ื›ืชื‘ื• ื‘ืขื‘ืจ ื‘-Flutter 1 ื™ื›ื•ืœื•ืช ืœื”ื™ื•ืช ืžื•ืชืืžื•ืช ืœืขื‘ื•ื“ื” ืขืœ ืฉื•ืœื—ืŸ ื”ืขื‘ื•ื“ื” ื•ื‘ืื™ื ื˜ืจื ื˜ ืœืื—ืจ ื”ืžืขื‘ืจ ืœ-Flutter 2 ืžื‘ืœื™ ืœืฉื›ืชื‘ ืืช ื”ืงื•ื“.

ื”ื—ืœืง ื”ืขื™ืงืจื™ ืฉืœ ืงื•ื“ Flutter ืžื™ื•ืฉื ื‘ืฉืคืช Dart, ื•ืžื ื•ืข ื–ืžืŸ ื”ืจื™ืฆื” ืœื‘ื™ืฆื•ืข ื™ื™ืฉื•ืžื™ื ื›ืชื•ื‘ ื‘-C++. ื‘ืขืช ืคื™ืชื•ื— ื™ื™ืฉื•ืžื™ื, ื‘ื ื•ืกืฃ ืœืฉืคืช Dart ื”ืžืงื•ืจื™ืช ืฉืœ Flutter, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืžืžืฉืง Dart Foreign Function ื›ื“ื™ ืœืงืจื•ื ืœืงื•ื“ C/C++. ื‘ื™ืฆื•ืขื™ ื‘ื™ืฆื•ืข ื’ื‘ื•ื”ื™ื ืžื•ืฉื’ื™ื ืขืœ ื™ื“ื™ ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ื™ื™ืฉื•ืžื™ื ืœืงื•ื“ ืžืงื•ืจื™ ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžื•ืช ื™ืขื“. ื‘ืžืงืจื” ื–ื”, ืื™ืŸ ืฆื•ืจืš ืœื”ื“ืจ ืžื—ื“ืฉ ืืช ื”ืชื•ื›ื ื™ืช ืœืื—ืจ ื›ืœ ืฉื™ื ื•ื™ - Dart ืžืกืคืง ืžืฆื‘ ื˜ืขื™ื ื” ื—ื•ื–ืจืช ื—ืžื” ื”ืžืืคืฉืจ ืœื‘ืฆืข ืฉื™ื ื•ื™ื™ื ื‘ืืคืœื™ืงืฆื™ื” ื”ืคื•ืขืœืช ื•ืœื”ืขืจื™ืš ืžื™ื“ ืืช ื”ืชื•ืฆืื”.

Flutter 2 ืžืฆื™ืข ืชืžื™ื›ื” ืžืœืื” ืœื™ืฆื™ืจืช ื™ื™ืฉื•ืžื™ื ืขื‘ื•ืจ ื”ืื™ื ื˜ืจื ื˜, ื”ืžืชืื™ืžื™ื ืœื”ื˜ืžืขื•ืช ื™ื™ืฆื•ืจ. ืžื•ื–ื›ืจื™ื ืฉืœื•ืฉื” ืชืจื—ื™ืฉื™ื ืขื™ืงืจื™ื™ื ืœืฉื™ืžื•ืฉ ื‘-Flutter for the Web: ืคื™ืชื•ื— ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜ ืขืฆืžืื™ื™ื (PWA, Progressive Web Apps), ื™ืฆื™ืจืช ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜ ืฉืœ ืขืžื•ื“ ื‘ื•ื“ื“ (SPA, Single page apps) ื•ื”ืžืจืช ื™ื™ืฉื•ืžื™ื ื ื™ื™ื“ื™ื ืœื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜. ื‘ื™ืŸ ื”ืžืืคื™ื™ื ื™ื ืฉืœ ื›ืœื™ ื”ืคื™ืชื•ื— ืœืจืฉืช ื ื™ืชืŸ ืœืžื ื•ืช ืืช ื”ืฉื™ืžื•ืฉ ื‘ืžื ื’ื ื•ื ื™ื ืœื”ืืฆืช ื”ืขื™ื‘ื•ื“ ืฉืœ ื’ืจืคื™ืงื” ื“ื•-ืžืžื“ื™ืช ื•ืชืœืช-ืžืžื“ื™ืช, ืกื™ื“ื•ืจ ื’ืžื™ืฉ ืฉืœ ืืœืžื ื˜ื™ื ืขืœ ื”ืžืกืš ื•ืžื ื•ืข ื”ืจื™ื ื“ื•ืจ CanvasKit ื”ืžื•ืจื›ื‘ ืœืชื•ืš WebAssembly.

ื”ืชืžื™ื›ื” ื‘ืืคืœื™ืงืฆื™ื™ืช ืฉื•ืœื—ืŸ ื”ืขื‘ื•ื“ื” ื ืžืฆืืช ื‘ื’ืจืกืช ื‘ื˜ื ื•ืชื™ื•ืฆื‘ ื‘ื”ืžืฉืš ื”ืฉื ื” ื‘ืžื”ื“ื•ืจื” ืขืชื™ื“ื™ืช. Canonical, Microsoft ื•- Toyota ื”ื›ืจื™ื–ื• ืขืœ ืชืžื™ื›ื” ื‘ืคื™ืชื•ื— ื‘ืืžืฆืขื•ืช Flutter. ืงื ื•ื ื™ืงืœ ื‘ื—ืจื” ื‘-Flutter ื›ืžืกื’ืจืช ื”ืขื™ืงืจื™ืช ืœื™ื™ืฉื•ืžื™ื ืฉืœื” ื•ื’ื ืžืฉืชืžืฉืช ื‘-Flutter ื›ื“ื™ ืœืคืชื— ืžืชืงื™ืŸ ื—ื“ืฉ ืขื‘ื•ืจ ืื•ื‘ื•ื ื˜ื•. ืžื™ืงืจื•ืกื•ืคื˜ ื”ืชืื™ืžื” ืืช Flutter ืœืžื›ืฉื™ืจื™ื ืžืชืงืคืœื™ื ืขื ืžืกืคืจ ืžืกื›ื™ื, ื›ืžื• ื”-Surface Duo. ื˜ื•ื™ื•ื˜ื” ืžืชื›ื ื ืช ืœื”ืฉืชืžืฉ ื‘-Flutter ืขื‘ื•ืจ ืžืขืจื›ื•ืช ืžื™ื“ืข ื‘ื™ื“ื•ืจ ืœืจื›ื‘. ื’ื ืžืขื˜ืคืช ื”ืžืฉืชืžืฉ ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” Fuchsia microkernel ืฉืคื•ืชื—ื” ืขืœ ื™ื“ื™ ื’ื•ื’ืœ ื‘ื ื•ื™ื” ืขืœ ื‘ืกื™ืก Flutter.

ื’ื•ื’ืœ ื”ืฆื™ื’ื” ืืช ืžืกื’ืจืช Flutter 2 ื•ืืช ืฉืคืช Dart 2.12

ื‘ืžืงื‘ื™ืœ, ืคื•ืจืกื ื™ืฆื™ืืช ืฉืคืช ื”ืชื›ื ื•ืช Dart 2.12, ื‘ื” ื ืžืฉืš ื”ืคื™ืชื•ื— ืฉืœ ืขื ืฃ ื‘ืขื™ืฆื•ื‘ ืงื™ืฆื•ื ื™ ืฉืœ Dart 2. Dart 2 ืฉื•ื ื” ืžื”ื’ืจืกื” ื”ืžืงื•ืจื™ืช ืฉืœ ืฉืคืช Dart ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ื”ืงืœื“ื” ืกื˜ื˜ื™ืช ื—ื–ืงื” (ืกื•ื’ื™ื ื ื™ืชืŸ ืœื”ืกื™ืง ืื•ื˜ื•ืžื˜ื™ืช, ืœื›ืŸ ืฆื™ื•ืŸ ืกื•ื’ื™ื ืื™ื ื• ื—ื•ื‘ื”, ืืš ืœื ื ืขืฉื” ื™ื•ืชืจ ืฉื™ืžื•ืฉ ื‘ื”ืงืœื“ื” ื“ื™ื ืžื™ืช ื•ื”ืกื•ื’ ืฉื—ื•ืฉื‘ ื‘ื”ืชื—ืœื” ืžื•ืงืฆื” ืœืžืฉืชื ื” ื•ื‘ื”ืžืฉืš ืžื•ืคืขืœืช ื‘ื“ื™ืงืช ืกื•ื’ื™ื ืงืคื“ื ื™ืช).

ื”ืžื”ื“ื•ืจื” ื‘ื•ืœื˜ืช ื‘ื™ื™ืฆื•ื‘ ืฉืœ ืžืฆื‘ ื”ื‘ื˜ื™ื—ื•ืช Null, ืฉื™ืขื–ื•ืจ ืœืžื ื•ืข ืงืจื™ืกื•ืช ืฉื ื’ืจืžื• ืžื ื™ืกื™ื•ื ื•ืช ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื™ื ืฉืขืจื›ื ืื™ื ื• ืžื•ื’ื“ืจ ื•ืžื•ื’ื“ืจ ืœ-Null. ื”ืžืฆื‘ ืžืจืžื– ืฉืœืžืฉืชื ื™ื ืœื ื™ื”ื™ื• ืขืจื›ื™ null ืืœื ืื ื›ืŸ ื ืงื‘ืข ืœื”ื ื‘ืžืคื•ืจืฉ ืืช ื”ืขืจืš null. ื”ืžืฆื‘ ืžื›ื‘ื“ ื‘ืงืคื“ื ื•ืช ืกื•ื’ื™ ืžืฉืชื ื™ื, ืžื” ืฉืžืืคืฉืจ ืœืžื”ื“ืจ ืœื”ื—ื™ืœ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื ื•ืกืคื•ืช. ืชืื™ืžื•ืช ืกื•ื’ ื ื‘ื“ืงืช ื‘ื–ืžืŸ ื”ื”ื™ื“ื•ืจ, ืœื“ื•ื’ืžื”, ืื ืชื ืกื” ืœื”ืงืฆื•ืช ืืช ื”ืขืจืš "Null" ืœืžืฉืชื ื” ืขื ืกื•ื’ ืฉืื™ื ื• ืžืจืžื– ืขืœ ืžืฆื‘ ืœื ืžื•ื’ื“ืจ, ื›ื’ื•ืŸ "int", ืชื•ืฆื’ ืฉื’ื™ืื”.

ืฉื™ืคื•ืจ ื—ืฉื•ื‘ ื ื•ืกืฃ ื‘-Dart 2.12 ื”ื•ื ื”ื”ื˜ืžืขื” ื”ื™ืฆื™ื‘ื” ืฉืœ ืกืคืจื™ื™ืช FFI, ื”ืžืืคืฉืจืช ืœื™ืฆื•ืจ ืงื•ื“ ื‘ืขืœ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ืžืžื ื• ื ื™ืชืŸ ืœื’ืฉืช ืœืžืžืฉืงื™ API ื‘-C. ื‘ื™ืฆืข ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืฉืœ ื‘ื™ืฆื•ืขื™ื ื•ื’ื•ื“ืœ. ื ื•ืกืคื• ื›ืœื™ ืžืคืชื—ื™ื ื•ืžืขืจื›ืช ืคืจื•ืคื™ืœื™ ืงื•ื“ ืฉื ื›ืชื‘ื• ื‘ืืžืฆืขื•ืช Flutter, ื•ื›ืŸ ืชื•ืกืคื™ื ื—ื“ืฉื™ื ืœืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช Dart ื•-Flutter ืขื‘ื•ืจ Android Studio/IntelliJ ื•-VS Code.

ื’ื•ื’ืœ ื”ืฆื™ื’ื” ืืช ืžืกื’ืจืช Flutter 2 ื•ืืช ืฉืคืช Dart 2.12


ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”