Π”ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ са Π΅Π·ΠΈΠΊΡŠΡ‚ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Dart 2.15 ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡŠΡ‚ Flutter 2.8

Компания Google ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Dart 2.15, ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΉΠΊΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π°Ρ‚Π° вСрсия Π½Π° Dart 2, която сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° силна статична типизация (Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, Π·Π°Ρ‚ΠΎΠ²Π° ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ, Π½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π°Ρ‚Π° типизация Π²Π΅Ρ‡Π΅ Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΎ зададСният Ρ‚ΠΈΠΏ остава ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ΅Π½ към ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° ΠΈ ΠΏΠΎ-късно сС ΠΏΡ€ΠΈΠ»Π°Π³Π° строг ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Ρ‚ΠΈΠΏΠ°).

Π₯арактСристики Π½Π° Π΅Π·ΠΈΠΊΠ° Dart:

  • ΠŸΡ€ΠΎΡΡ‚ ΠΈ лСсСн Π·Π° ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅ синтаксис, СстСствСн Π·Π° програмисти, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ с JavaScript, C ΠΈ Java.
  • ΠžΡΠΈΠ³ΡƒΡ€ΡΠ²Π°Π½Π΅ Π½Π° Π±ΡŠΡ€Π·ΠΎ стартиранС ΠΈ висока производитСлност Π·Π° всички ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ срСди, ΠΎΡ‚ прСносими устройства Π΄ΠΎ ΠΌΠΎΡ‰Π½ΠΈ. ΡΡŠΡ€Π²ΡŠΡ€ΠΈ.
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° класовС ΠΈ интСрфСйси, позволяващи ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Снкапсулация ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ Π΄Π°Π½Π½ΠΈ.
  • ΠŸΠΎΡΠΎΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ улСснява отстраняванСто Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎ-ясСн ΠΈ Ρ‡Π΅Ρ‚ΠΈΠΌ, опростява Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ.
  • ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚: Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Ρ…Π΅ΡˆΠΎΠ²Π΅, масиви ΠΈ ΡΠΏΠΈΡΡŠΡ†ΠΈ, опашки, числови ΠΈ стринг Ρ‚ΠΈΠΏΠΎΠ²Π΅, Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π·Π° опрСдСлянС Π½Π° Π΄Π°Ρ‚Π° ΠΈ Π²Ρ€Π΅ΠΌΠ΅, рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ (RegExp). Има Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° създаванС Π½Π° собствСни Ρ‚ΠΈΠΏΠΎΠ²Π΅.
  • Π—Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° класовС с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ isolate, Ρ‡ΠΈΠΈΡ‚ΠΎ ΠΊΠΎΠ΄ сС изпълнява напълно Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ пространство Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° област ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, взаимодСйствайки с основния процСс Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ улСсняват ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° ΠΈ отстраняванСто Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΡƒΠ΅Π± ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Π’ΡŠΠ½ΡˆΠ½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ сподСлСни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° части ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° всяка част Π΄Π° бъдС ΠΏΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π΅ΠΊΠΈΠΏ ΠΎΡ‚ програмисти.
  • ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ ΠΎΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΈ инструмСнти Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Dart, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ рСализация Π½Π° срСдства Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ с ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠΎΠ΄Π° Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ (edit-and-continue).
  • Π—Π° улСсняванС Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Dart ΠΈΠ΄Π²Π° с SDK, ΠΏΠ°ΠΊΠ΅Ρ‚Π΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ pub, статичСн Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π½Π° ΠΊΠΎΠ΄Π° dart_analyzer, ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π° срСда Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° DartPad ΠΈ плъгини със ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Dart Π·Π° IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 ΠΈ Vim.
  • Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ инструмСнти сС разпространяват Ρ‡Ρ€Π΅Π· рСпозитория pub, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΎΠΊΠΎΠ»ΠΎ 22 хиляди ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² вСрсията Dart 2.15:

  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½ΠΈ са срСдства Π·Π° Π±ΡŠΡ€Π·ΠΎ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ с изолация Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ. На многоядрСни систСми, Dart runtime ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ изпълнява ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΅Π΄Π½ΠΎ ядро Π½Π° CPU, Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ядра сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° изпълнСниС Π½Π° систСмни Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°Ρ‚ΠΎ асинхронСн Π²Ρ…ΠΎΠ΄/ΠΈΠ·Ρ…ΠΎΠ΄, запис Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ повиквания. Π—Π° прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ трябва ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ своитС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° рисуванС Π½Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² интСрфСйса, Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° стартиранС Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΊΠΎΠ΄ (isolate), ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ ΠΈ изпълнявани Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ядра Π½Π° CPU Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с основния ΠΏΠΎΡ‚ΠΎΠΊ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π—Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΏΡ€ΠΎΠΈΠ·Ρ‚ΠΈΡ‡Π°Ρ‰ΠΈ ΠΎΡ‚ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΡ‚ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠ΄, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ с Π΅Π΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½ΠΈ, Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ isolate-Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π΅ Π·Π°Π±Ρ€Π°Π½Π΅Π½ΠΎ сподСлянСто Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π° Π·Π° взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΌΠΎΠ΄Π΅Π», основан Π½Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ.

    Π’ Dart 2.15 Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½ΠΎΠ²Π° концСпция β€” Π³Ρ€ΡƒΠΏΠΈ ΠΎΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ (isolate groups), позволяваща ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π² isolate-Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са част ΠΎΡ‚ Π΅Π΄Π½Π° Π³Ρ€ΡƒΠΏΠ°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намалява Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ взаимодСйствиСто ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ Π² Π³Ρ€ΡƒΠΏΠ°Ρ‚Π°. НапримСр, стартиранСто Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ isolate-Π±Π»ΠΎΠΊ Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π° Π³Ρ€ΡƒΠΏΠ° става 100 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΈ изисква 10-100 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚ Π² сравнСниС със стартиранС Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ isolate-Π±Π»ΠΎΠΊ, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° нСобходимостта ΠΎΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°.

    Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π² isolate-Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ Π² Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° всС ΠΎΡ‰Π΅ Π΅ Π·Π°Π±Ρ€Π°Π½Π΅Π½ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½ΠΈΡΡ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π² Π³Ρ€ΡƒΠΏΠΈΡ‚Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠ±Ρ‰Π° heap-ΠΏΠ°ΠΌΠ΅Ρ‚, ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ускорява ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Π±Π»ΠΎΠΊ Π² Π΄Ρ€ΡƒΠ³ Π±Π΅Π· нСобходимост ΠΎΡ‚ рСсурсно ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅. Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС ΠΏΡ€Π΅Π΄Π°Π²Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰Π°Ρ‚Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΏΡ€ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Isolate.exit() Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² родитСлския isolate-Π±Π»ΠΎΠΊ Π±Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅. ОсвСн Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ β€” ΠΌΠ°Π»ΠΊΠΈΡ‚Π΅ ΠΈ срСдни ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ сСга сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ 8 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ. Π’ ΠΎΠ±Ρ…Π²Π°Ρ‚Π° Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ isolate-Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° SendPort.send(), са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ някои Ρ‚ΠΈΠΏΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, замикания ΠΈ трасировки Π½Π° стСка.

  • Π’ инструмСнтитС Π·Π° създаванС Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ към ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ (tear-off) са ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ ограничСнията Π·Π° създаванС Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π² ΠΊΠΎΠ΄Π° Π½Π° конструкторитС, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° интСрфСйси Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Flutter. НапримСр, Π·Π° създаванС Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Column, Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ няколко Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Text, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚Π΅ Β«.map()Β» ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄Π°Π΄Π΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π² конструктора Text.new Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π° Text: class FruitWidget extends StatelessWidget { @override Widget build(BuildContext context) { return Column(children: [β€˜Apple’, β€˜Orange’].map(Text.new).toList()); } }
  • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ към Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈ (generic) ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° създаванС Π½Π° Π½Π΅-generic ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»: T id(T value) => value; var intId = id; // Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π² вСрсия 2.15 вмСсто Β«int Function(int) intId = id;Β» const fo = id; // ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π» Π½Π° функция id. const c1 = fo;
  • Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° dart:core Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° изброСния (enum), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сСга Π΅ възмоТно Π΄Π° сС ΠΈΠ·Π²Π΅ΠΆΠ΄Π° стринговото Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ всяка стойност Π½Π° enum Ρ‡Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Β«.nameΒ», Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° стойности ΠΏΠΎ ΠΈΠΌΠ΅ ΠΈΠ»ΠΈ Π΄Π° сС изпълнява сопоставянС Π½Π° Π΄Π²ΠΎΠΉΠΊΠΈ стойности: enum MyEnum { one, two, three } void main() { print(MyEnum.one.name); // Ρ‰Π΅ сС ΠΈΠ·Π²Π΅Π΄Π΅ Β«oneΒ». print(MyEnum.values.byName(β€˜two’) == MyEnum.two); // Ρ‰Π΅ сС ΠΈΠ·Π²Π΅Π΄Π΅ Β«trueΒ». final map = MyEnum.values.asNameMap(); print(map[β€˜three’] == MyEnum.three); // Β«trueΒ». }
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° компрСсиранС Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, позволяваща Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ прСдставянС Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π² 64-Π±ΠΈΡ‚ΠΎΠ²ΠΈ срСди, Π°ΠΊΠΎ Π·Π° адрСсиранС Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ 32-Π±ΠΈΡ‚ΠΎΠ²ΠΎ адрСсно пространство (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сС Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 4 Π“Π‘ ΠΏΠ°ΠΌΠ΅Ρ‚). ВСстовСтС ΠΏΠΎΠΊΠ°Π·Π°Ρ…Π°, Ρ‡Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° оптимизация позволява Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° ΠΊΡƒΠΏΡ‡ΠΈΠ½Π°Ρ‚Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ с 10%. Π’ Flutter SDK новият Ρ€Π΅ΠΆΠΈΠΌ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° Android, Π° Π² Π±ΡŠΠ΄Π΅Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ Π·Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π·Π° iOS.
  • Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π° Dart SDK са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ инструмСнти Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° производитСлността (DevTools), ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ бяха прСдоставяни Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Β«dart pubΒ» ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ pub.dev са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ срСдства Π·Π° прослСдяванС Π½Π° случайното ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½Π° информация, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ оставянС Π½Π° ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π·Π° систСми Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° интСграция ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ срСди Π² самия ΠΏΠ°ΠΊΠ΅Ρ‚. Π’ случай Π½Π° установяванС Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° Ρ‚Π΅Ρ‡ΠΎΠ²Π΅, ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Β«dart pub publishΒ» Ρ‰Π΅ бъдС ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½ΠΎ с ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ°. Π’ случай Π½Π° Ρ„Π°Π»ΡˆΠΈΠ²ΠΎ сработванС Π΅ прСдоставСна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° заобикалянС Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Ρ‡Ρ€Π΅Π· бял списък.
  • Π’ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ pub.dev Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС обнаруТСния критичСских ошибок ΠΈΠ»ΠΈ уязвимостСй. Π Π°Π½Π΅Π΅ для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… исправлСний использовалась публикация ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ вСрсии, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях трСбуСтся ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠΎΡΡ‚ΠΎΡΠ²ΡˆΠΈΠΉΡΡ Ρ€Π΅Π»ΠΈΠ· ΠΈ экстрСнно ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ дальнСйшСС распространСниС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли исправлСния Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚ ΠΈΠ»ΠΈ Ссли ΠΏΠΎ ошибкС Π±Ρ‹Π»Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° полная вСрсия вмСсто тСстовой). ПослС ΠΎΡ‚Π·Ρ‹Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚ пСрСстаСт Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Β«pub getΒ» ΠΈ Β«pub upgradeΒ», Π° Π½Π° систСмах, Π³Π΄Π΅ ΠΎΠ½ ΡƒΠΆΠ΅ установлСн, ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Β«pub getΒ» выводится ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ уязвимости (CVE-2021-22567), связанной с использованиСм Π² ΠΊΠΎΠ΄Π΅ символов unicode, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… порядок отобраТСния.
  • УстранСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2021-22568), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ сСбя Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ pub.dev ΠΏΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π° сторонний сСрвСр, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ oauth2-Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ доступа pub.dev. Π­Ρ‚Π° ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для Π°Ρ‚Π°ΠΊ Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ сСрвСры ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° pub.dev.

Π’Π°ΠΊΠΆΠ΅ прСдставлСн Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для построСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов Flutter 2.8, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рассматриваСтся ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° React Native ΠΈ позволяСт Π½Π° основС ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ iOS, Android, Windows, macOS ΠΈ Linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ прилоТСния для запуска Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. На основС Flutter Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° микроядСрной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Fuchsia, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π² Google. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π·Π° послСдниС ΡˆΠ΅ΡΡ‚ΡŒ мСсяцСв количСство ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Flutter 2 Π² Google Play Store ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ с 200 тысяч Π΄ΠΎ 375 тысяч, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Π΄Π²Π° Ρ€Π°Π·Π°.

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° част ΠΎΡ‚ ΠΊΠΎΠ΄Π° Π½Π° Flutter Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Dart, Π° срСдата Π·Π° изпълнСниС Π½Π° прилоТСнията Π΅ написана Π½Π° C++. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° прилоТСния, освСн родния Π΅Π·ΠΈΠΊ Dart, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ Dart Foreign Function Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ Π½Π° C/C++. Високата производитСлност Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ сС достига Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° компилацията Π½Π° прилоТСнията Π² машинСн ΠΊΠΎΠ΄ Π·Π° Ρ†Π΅Π»Π΅Π²ΠΈΡ‚Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. ΠŸΡ€ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π½Π΅ трябва Π΄Π° сС ΠΏΡ€Π΅ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° слСд всяка промяна - Dart ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π³ΠΎΡ€Π΅Ρ‰ΠΎ ΠΏΡ€Π΅Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, ΠΊΠΎΠΉΡ‚ΠΎ позволява внасянСто Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Π΅Π΄Π½Π°Π³Π° оцСняванС Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π°.

Π’ Π½ΠΎΠ²ΠΎΠΌ Ρ€Π΅Π»ΠΈΠ·Π΅ Flutter отмСчаСтся оптимизация скорости запуска ΠΈ потрСблСния памяти Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах. Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊ бэкСнд-сСрвисам, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Firebase ΠΈ Google Cloud. Π‘Ρ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ инструмСнты для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Google Ads. Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ°ΠΌΠ΅Ρ€ ΠΈ Π²Π΅Π±-ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ срСдства для упрощСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ с использованиСм Firebase. ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄Π²ΠΈΠΆΠΎΠΊ Flame, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 2D-ΠΈΠ³Ρ€ с использованиСм Flutter.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster