Π”ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ са Π΅Π·ΠΈΠΊ Dart 2.14 ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Flutter 2.5

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

Π₯арактСристики Π½Π° Π΅Π·ΠΈΠΊΠ° 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, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Π½Π°Π΄ 20 хиляди ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

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

  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π° Ρ‚Ρ€ΠΈΠΊΡ€Π°Ρ‚Π½ΠΎ прСмСстванС (>>>) ΠΊΠΎΠΉΡ‚ΠΎ, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Β«>>Β», ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π½Π΅ Π°Ρ€ΠΈΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΎ, Π° Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ прСмСстванС, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° знаковия Π±ΠΈΡ‚ (прСмСстванСто сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π±Π΅Π· раздСлянС Π½Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»Π½ΠΈ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»Π½ΠΈ числа).
  • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° Π΅ ограничСнията Π²ΡŠΡ€Ρ…Ρƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ позволяваха ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ‰ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π½Π° Ρ‚ΠΈΠΏ. НапримСр, сСга ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡƒΠΊΠ°Π·Π²Π°: late List<T Function(T)> idFunctions; var callback = [(T value) => value]; late S Function<S extends T Function(T)>(S) f;
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΅ ΡƒΠΊΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ с Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π² Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ @Deprecated. НапримСр, сСга ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡƒΠΊΠ°Π·Π²Π°: @TypeHelper(42, "The meaning")
  • Π’ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (core) Π² клас Object са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ статични ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ hash, hashAll ΠΈ hashAllUnordered. Π’ клас DateTime Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° часовСтС ΠΌΠ΅ΠΆΠ΄Ρƒ лятно ΠΈ Π·ΠΈΠΌΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ ΠΊΡ€Π°Ρ‚Π½ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ час (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Австралия сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° измСстванС ΠΎΡ‚ 30 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ). Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ffi Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° arena, ΠΊΠΎΠΉΡ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ освобоТдава рСсурси. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ffigen Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° typedef опрСдСлСния Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Dart ΠΎΡ‚ Π΅Π·ΠΈΠΊΠ° C.
  • 250-Ρ‚Π΅ Π½Π°ΠΉ-популярни ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΎΡ‚ рСпозитория pub.dev ΠΈ 94% ΠΎΡ‚ top-1000 са ΠΏΡ€Π΅Π²Π΅Π΄Π΅Π½ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π·Π° бСзопасно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° стойноститС β€žNullβ€œ (null safety), ΠΊΠΎΠΉΡ‚ΠΎ позволява избягванСто Π½Π° сривовС, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, чиято стойност Π½Π΅ Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΈ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π½Π° β€žNullβ€œ. Π Π΅ΠΆΠΈΠΌΡŠΡ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠΆΠ΄Π°, Ρ‡Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠΌΠ°Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ стойности, освСн Π°ΠΊΠΎ Π½Π° тях Π½Π΅ Π΅ присвоСна явно стойността null. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ° стриктно сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ‚ΠΈΠΏΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ сС провСрява Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случай Π½Π° ΠΎΠΏΠΈΡ‚ Π·Π° присвояванС Π½Π° стойност β€žNullβ€œ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° с Ρ‚ΠΈΠΏ, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ допуска Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, ΠΊΠ°ΠΊΡŠΠ²Ρ‚ΠΎ Π΅ Ρ‚ΠΈΠΏΡŠΡ‚ β€žintβ€œ, Ρ‰Π΅ сС ΠΈΠ·Π²Π΅Π΄Π΅ Π³Ρ€Π΅ΡˆΠΊΠ°.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ са ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ Π½Π°Π±ΠΎΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π½Π° ΠΊΠΎΠ΄ (linter), осигуряващи Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π·Π° спазванС Π½Π° ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈΡ‚Π΅ Π·Π° стил Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π·Π° Dart ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Flutter. По историчСски ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° оформянС Π½Π° ΠΊΠΎΠ΄Π° Π·Π° Flutter ΠΈ Dart сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ…Π°, освСн Ρ‚ΠΎΠ²Π° Π·Π° Dart Π² ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ…Π° Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° β€” ΠΏΠ΅Π΄Π°Π½Ρ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΎΡ‚ Google ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° ΠΎΡ‚ общността Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Dart. Π’ Dart 2.14 Π΅ прСдставСн Π½ΠΎΠ² ΠΎΠ±Ρ‰ Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° linter, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Dart ΠΈ Π² Flutter SDK. ΠΠ°Π±ΠΎΡ€ΡŠΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π²Π° основни ΠΏΡ€Π°Π²ΠΈΠ»Π° (ΠΏΠ°ΠΊΠ΅Ρ‚ lints/core.yaml), ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° (lints/recommended.yaml) ΠΈ спСцифични Π·Π° Flutter ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈ (flutter_lints/flutter.yaml). ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΏΠ΅Π΄Π°Π½Ρ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° са ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π°Π½ΠΈ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ‚ към новия стил Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅, основан Π½Π° ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈΡ‚Π΅ ΠΎΡ‚ докумСнтацията Π½Π° Dart.
  • Π’ formatter са внСсСни ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° каскадни Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²ΠΈΡˆΠ°Π²Π°Ρ‚ производитСлността Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ избягват нСясна интСрпрСтация Π½Π° принадлСТността Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π² ΠΈΠ·Ρ€Π°Π·ΠΈΡ‚Π΅. НапримСр, ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° β€ž..doItβ€œ Π² ΠΈΠ·Ρ€Π°Π·Π° β€žvar result = errorState ? foo : bad..doIt()β€œ касаС Π½Π΅ условната част Π½Π° Π±Π»ΠΎΠΊΠ° β€žbadβ€œ, Π° цСлия ΠΈΠ·Ρ€Π°Π·, Π·Π°Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ сСга сС раздСля: var result = errorState ? foo : bad ..doIt();
  • Π’ SDK Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° процСсори Apple M1 (Silicon), ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π²ΠΈΠΆΠ΄Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° стартиранС Π½Π° Dart VM, инструмСнти ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° SDK Π½Π° систСми с процСсори Apple Silicon, Ρ‚Π°ΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° компилация Π½Π° изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° посочСнитС Ρ‡ΠΈΠΏΠΎΠ²Π΅.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Β«dart pubΒ» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π½ΠΎΠ² слуТСбСн Ρ„Π°ΠΉΠ» Β«.pubignoreΒ», ΠΊΠΎΠΉΡ‚ΠΎ позволява опрСдСлянСто Π½Π° списък с Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ пропуснати ΠΏΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ Π² рСпозитория pub.dev. Π£ΠΊΠ°Π·Π°Π½ΠΈΡ‚Π΅ настройки Π½Π΅ сС ΠΏΡ€ΠΈΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‚ със списъка Π·Π° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°Π½Π΅ Β«.gitignoreΒ» (Π² някои ситуации Π² pub.dev Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π½Π΅ сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π½ΡƒΠΆΠ½ΠΈ Π·Π° Git, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ скриптовС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°).
  • Π Π°Π±ΠΎΡ‚Π° Π΅ Π±ΠΈΠ»Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π·Π° повишаванС Π½Π° производитСлността Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Β«dart testΒ», която Π²Π΅Ρ‡Π΅ Π½Π΅ изисква ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Π° компилация Π½Π° тСстовСтС слСд промяна Π½Π° pubspec, Π°ΠΊΠΎ Π½ΠΎΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° вСрсията Π½Π΅ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° компилация Π² Ρ€Π΅ΠΆΠΈΠΌ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с ECMAScript 5 Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π° (Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π°Π³ΡƒΠ±Π° Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° IE11).
  • ОбявСни са Π·Π° остарСли ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ инструмСнти stagehand, dartfmt ΠΈ dart2native, ΠΊΠΎΠΈΡ‚ΠΎ са Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ‚ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈ Ρ‡Ρ€Π΅Π· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° dart.
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ VM Native Extensions Π΅ обявСн Π·Π° остарял. Π—Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° Dart сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° новия интСрфСйс Dart FFI (Foreign Function Interface).

Π‘ΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΅ прСдставСна ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½Π° вСрсия Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° потрСбитСлски интСрфСйс Flutter 2.5, която сС счита Π·Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° React Native ΠΈ позволява Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π΅Π΄Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° Π΄Π° сС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚ прилоТСния Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ iOS, Android, Windows, macOS ΠΈ Linux, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ прилоТСния Π·Π° изпълнСниС Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ. На Π±Π°Π·Π°Ρ‚Π° Π½Π° Flutter Π΅ построСн потрСбитСлският интСрфСйс Π½Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠ°Ρ‚Π° Π² Google микроядСрна ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Fuchsia.

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

Основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ във Flutter 2.5:

  • Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ са Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° производитСлността. На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ iOS ΠΈ macOS Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° компилация Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π·Π° графичния API Metal. ПовишСна Π΅ СфСктивността ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° асинхронни ΡΡŠΠ±ΠΈΡ‚ΠΈΡ. РСшСн Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с забавянията ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° освобоТдаванСто Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΎΡ‚ нСиспользваСми изобраТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° 20-сСкундСн Π°Π½ΠΈΠΌΠΈΡ€Π°Π½ GIF, числото Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΏΠΎ ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊΠ° Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΎΡ‚ 400 Π½Π° 4. Π”ΠΎ 50% са Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈ забавянията ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Dart ΠΈ Objective-C/Swift (iOS) ΠΈΠ»ΠΈ Java/Kotlin (Android). Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½Π° компилация Π·Π° систСми Π½Π° Π±Π°Π·Π° Ρ‡ΠΈΠΏΠΎΠ²Π΅ Apple Silicon.
    Π”ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ са Π΅Π·ΠΈΠΊ Dart 2.14 ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Flutter 2.5
  • Π—Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Android Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° прилоТСния Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° цял Π΅ΠΊΡ€Π°Π½. ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° концСпцията Π·Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ β€žMaterial Youβ€œ, която сС прСдставя ΠΊΠ°Ρ‚ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Material Design ΠΎΡ‚ Π½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ MaterialState.scrolledUnder, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π»Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€Π΅Π²ΡŠΡ€Ρ‚Π°Π½Π΅ ΠΏΡ€ΠΈ промяна Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ² интСрфСйс Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π±Π°Π½Π΅Ρ€Π½ΠΈ увСдомлСния.
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° плъгина Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ са Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ, добавяйки срСдства Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° автофокуса, Скспозицията, свСткавицата, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, намаляванСто Π½Π° ΡˆΡƒΠΌΠ° ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ (DevTools) са ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈ, с ΠΎΠ±Π½ΠΎΠ²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π·Π° инспСкция Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ прСдоставСни срСдства Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° закъснСния ΠΏΡ€ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅ ΠΈ слСдСнС Π½Π° компилацията Π½Π° ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΈ.
    Π”ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ са Π΅Π·ΠΈΠΊ Dart 2.14 ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Flutter 2.5
  • ΠŸΠ»ΡŠΠ³ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° Visual Studio Code ΠΈ IntelliJ/Android Studio са ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈ.

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

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