Google Π³ΠΎ ΠΎΠ±ΡΠ°Π²ΠΈ ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ Dart 2.14, ΠΊΠΎΡ Π³ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ ΡΠ΅Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π° Π³ΡΠ°Π½ΠΊΠ° Π½Π° Dart 2, ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π° ΠΎΠ΄ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ ΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΠΈΠ»Π½ΠΎ ΡΡΠ°ΡΠΈΡΠΊΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ (ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, Π½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΎΡΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π° ΡΠΈΠΏΠΎΡ ΡΠ΅ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° ΡΡΡΠΎΠ³Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΡ).
ΠΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ:
- ΠΠΎΠ·Π½Π°ΡΠ° ΠΈ Π»Π΅ΡΠ½Π° Π·Π° ΡΡΠ΅ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠ°, ΠΏΡΠΈΡΠΎΠ΄Π½Π° Π·Π° JavaScript, C ΠΈ Java ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅.
- ΠΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π±ΡΠ·ΠΎ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ ΠΈ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° ΡΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ Π²Π΅Π±-ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΈ ΠΈ ΡΠ°Π·Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈ, ΠΎΠ΄ ΠΏΡΠ΅Π½ΠΎΡΠ»ΠΈΠ²ΠΈ ΡΡΠ΅Π΄ΠΈ Π΄ΠΎ ΠΌΠΎΡΠ½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ.
- Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π°Ρ ΠΊΠ»Π°ΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ ΠΊΠΎΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ Π΅Π½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡΠ° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
- ΠΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ Π³ΠΎ ΠΎΠ»Π΅ΡΠ½ΡΠ²Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅, Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΊΠΎΠ΄ΠΎΡ ΠΏΠΎΡΠ°ΡΠ΅Π½ ΠΈ ΠΏΠΎΡΠΈΡΠ»ΠΈΠ² ΠΈ ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ΄ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΠ΅ΡΠΈ Π»ΠΈΡΠ° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈ.
- ΠΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ: ΡΠ°Π·Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ Ρ Π°ΡΠΎΠ²ΠΈ, Π½ΠΈΠ·ΠΈ ΠΈ ΡΠΏΠΈΡΠΎΡΠΈ, ΡΠ΅Π΄ΠΈΡΠΈ, Π½ΡΠΌΠ΅ΡΠΈΡΠΊΠΈ ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° Π½ΠΈΠ·ΠΈ, ΡΠΈΠΏΠΎΠ²ΠΈ Π·Π° ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π΄Π°ΡΡΠΌ ΠΈ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅Π³ΡΠ»Π°ΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ (RegExp). ΠΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ.
- ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΊΠ»Π°ΡΠΈ ΡΠΎ Π°ΡΡΠΈΠ±ΡΡ ΠΈΠ·ΠΎΠ»Π°Ρ, ΡΠΈΡ ΠΊΠΎΠ΄ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ ΠΏΡΠΎΡΡΠΎΡ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠ° ΠΎΠ±Π»Π°ΡΡ, Π²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠΎ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΈ ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° ΠΈ Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π²Π΅Π±-ΠΏΡΠΎΠ΅ΠΊΡΠΈ. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»Π°Ρ Π½Π° Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΈ Π΄Π° Π³ΠΎ Π΄ΠΎΠ²Π΅ΡΠ°Ρ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ΅ΠΊΠΎΡ Π΄Π΅Π» Π½Π° ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠΈΠΌ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ.
- ΠΠ±ΠΈΡ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ ΡΠ°Π·Π²ΠΎΡ ΠΈ Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ΄ Π²ΠΎ Π»Π΅Ρ (βΡΡΠ΅Π΄ΠΈ-ΠΈ-ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈβ).
- ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ, ΡΠΎΡ Π΄ΠΎΠ°ΡΠ° ΡΠΎ SDK, ΠΏΠ°Π± Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ΄ dart_analyzer, Π·Π±ΠΈΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° ΡΠ°Π·Π²ΠΎΡΠ½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π° DartPad ΠΈ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ ΡΠΎ Dart Π·Π° IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 ΠΈ ΠΠΈΠΌ.
- ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π°Ρ ΠΏΡΠ΅ΠΊΡ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π·Π° ΠΏΠ°Π±, ΠΊΠΎΠ΅ ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 20 ΠΈΠ»ΡΠ°Π΄ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ.
ΠΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Dart 2.14:
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π½ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π·Π° ΡΡΠΎΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΡΠ²Π°ΡΠ΅ (>>>), ΠΊΠΎΡ, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΡ β>>β, Π½Π΅ Π²ΡΡΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ°, ΡΡΠΊΡ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΡΠ²Π°ΡΠ΅ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π· Π΄Π° ΡΠ΅ Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π±ΠΈΡΠΎΡ Π½Π° Π·Π½Π°ΠΊΠΎΡ (ΠΏΠΎΠΌΠ΅ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠ΅ Π²ΡΡΠΈ Π±Π΅Π· Π΄Π° ΡΠ΅ Π΄Π΅Π»ΠΈ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π½ΠΈ ΠΈ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΈ Π±ΡΠΎΠ΅Π²ΠΈ).
- ΠΡΡΡΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠΈΠΏ ΡΡΠΎ ΡΠΏΡΠ΅ΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΊΠ°ΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π·Π° ΡΠΈΠΏ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΡΠ΅: Π΄ΠΎΡΠ½Π° Π»ΠΈΡΡΠ° (T)>idFunctions; var ΠΏΠΎΠ²ΡΠ°ΡΠ΅Π½ ΠΏΠΎΠ²ΠΈΠΊ = [ (Π’ Π²ΡΠ΅Π΄Π½ΠΎΡΡ) => Π²ΡΠ΅Π΄Π½ΠΎΡΡ]; Π΄ΠΎΡΠ½Π° S Π€ΡΠ½ΠΊΡΠΈΡΠ° (T)>(S) f;
- ΠΠΎΠ·Π²ΠΎΠ»Π΅ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΡΠΎ ΡΠΈΠΏΠΎΠ²ΠΈ Π²ΠΎ ΠΏΡΠΈΠ±Π΅Π»Π΅ΡΠΊΠΈΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ @Deprecated. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΡΠ΅: @TypeHelper (42, βΠΠ½Π°ΡΠ΅ΡΠ΅ΡΠΎβ)
- Π‘ΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ hash, hashAll ΠΈ hashAllUnordered ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π²ΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (ΡΠ°Π΄ΡΠΎ) Π²ΠΎ ΠΊΠ»Π°ΡΠ°ΡΠ° Object. ΠΠ»Π°ΡΠ°ΡΠ° DateTime Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΡΠ΅ΡΠ²ΠΎΡΠ°Π°Ρ ΡΠ°ΡΠΎΠ²Π½ΠΈΡΠΈ ΠΏΠΎΠΌΠ΅ΡΡ Π»Π΅ΡΠ½ΠΎ ΠΈ Π·ΠΈΠΌΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΡΠΎ Π½Π΅ ΡΠ΅ Π΄Π΅Π»Π°Ρ ΡΠΎ Π΅Π΄Π΅Π½ ΡΠ°Ρ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ ΠΠ²ΡΡΡΠ°Π»ΠΈΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΡΡΠ²Π°ΡΠ΅ ΠΎΠ΄ 30 ΠΌΠΈΠ½ΡΡΠΈ). ΠΠ°ΠΊΠ΅ΡΠΎΡ ffi Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π±Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π°ΡΠ΅Π½Π°ΡΠ°, ΠΊΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π³ΠΈ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅. ΠΠ°ΠΊΠ΅ΡΠΎΡ ffigen Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΠΈ Π½Π° ΡΠΈΠΏΠΎΡ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ ΠΠ°ΡΡ ΠΎΠ΄ ΡΠ°Π·ΠΈΠΊΠΎΡ C.
- 250-ΡΠ΅ Π½Π°ΡΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ pub.dev ΠΈ 94% ΠΎΠ΄ ΡΠΎΠΏ-1000 ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»Π΅Π½ΠΈ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΎΡ βΠ½ΡΠ»Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡβ, ΠΊΠΎΡ ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΏΠ°Π΄ΠΎΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΠ΄ ΠΎΠ±ΠΈΠ΄ΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΡΠΈΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π΅ Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΠΈ ΠΏΠΎΡΡΠ°Π²Π΅Π½Π° Π½Π° βNull ββ Π Π΅ΠΆΠΈΠΌΠΎΡ ΠΈΠΌΠΏΠ»ΠΈΡΠΈΡΠ° Π΄Π΅ΠΊΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΈΠΌΠ°Π°Ρ Π½ΡΠ»Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½Π΅ ΠΈΠΌ Π΅ Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ΄Π΅Π»Π΅Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ null. Π Π΅ΠΆΠΈΠΌΠΎΡ ΡΡΡΠΎΠ³ΠΎ Π³ΠΈ ΠΏΠΎΡΠΈΡΡΠ²Π° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΡΡΠΎ ΠΌΡ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π£ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΎΡΡΠ° Π½Π° ΡΠΈΠΏΠΎΡ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΡΠ΅ Π΄Π° ΡΠ° Π΄ΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° βNullβ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΡΠΎ ΡΠΈΠΏ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ° Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ βintβ, ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ Π³ΡΠ΅ΡΠΊΠ°.
- Π‘Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π°Ρ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π³ΡΡΠΏΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΡ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ (Π»ΠΈΠ½ΡΠ΅Ρ), ΠΊΠΎΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΎΡΡΠ° ΡΠΎ ΡΠΏΠ°ΡΡΡΠ²Π°ΡΠ° Π·Π° ΡΡΠΈΠ»ΠΎΡ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π·Π° Dart ΠΈ ΡΠ°ΠΌΠΊΠ°ΡΠ° Flutter. ΠΠ΄ ΠΈΡΡΠΎΡΠΈΡΠΊΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ, ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π·Π° Flutter ΠΈ Dart Π±Π΅Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ, ΠΎΡΠ²Π΅Π½ ΡΠΎΠ°, Π·Π° Dart ΠΈΠΌΠ°ΡΠ΅ Π΄Π²Π΅ Π³ΡΡΠΏΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π²ΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π° - ΠΏΠ΅Π΄Π°Π½ΡΠ½ΠΈ ΠΎΠ΄ Google ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ΄ Π·Π°Π΅Π΄Π½ΠΈΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ Π½Π° Dart. Dart 2.14 Π²ΠΎΠ²Π΅Π΄ΡΠ²Π° Π½ΠΎΠ² Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΡΠ΅Ρ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° Π»ΠΈΠ½ΡΠ΅Ρ, ΠΊΠΎΡ Π΅ ΠΎΠ΄Π»ΡΡΠ΅Π½ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° Dart ΠΈ Π²ΠΎ Flutter SDK. ΠΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° (ΠΏΠ°ΠΊΠ΅Ρ Π½Π° liints/core.yaml), ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΠ°Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° (lints/recommended.yaml) ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΠ°ΠΊΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Flutter (flutter_lints/flutter.yaml). ΠΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ΅Π΄Π°Π½ΡΠ½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠΌ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»Π°Ρ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π½ΠΎΠ² ΡΡΠΈΠ» Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΠ΅ΠΏΠΎΡΠ°ΠΊΠΈΡΠ΅ ΠΎΠ΄ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Dart.
- ΠΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ΡΠΎΡ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠ°ΡΠΊΠ°Π΄Π½ΠΈ ΠΊΠΎΠ΄Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΈ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ Π΄Π²ΠΎΡΠΌΠΈΡΠ»Π΅Π½ΠΎ ΡΠΎΠ»ΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎΡΡΠ° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΈΠ·ΡΠ°Π·ΡΠ²Π°ΡΠ΅. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° β..doItβ Π²ΠΎ ΠΈΠ·ΡΠ°Π·ΠΎΡ βvar result = errorState ? foo : bad..doIt()β Π½Π΅ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π½Π° ΡΡΠ»ΠΎΠ²Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π±Π»ΠΎΠΊΠΎΡ βΠ»ΠΎΡβ, ΡΡΠΊΡ Π½Π° ΡΠ΅Π»ΠΈΠΎΡ ΠΈΠ·ΡΠ°Π·, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΏΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅Π³Π° ΡΠ΅ ΠΎΠ΄Π²ΠΎΡΡΠ²Π°: var result = errorState ? foo : bad ..doIt();
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Apple M1 (Silicon) ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π²ΠΎ SDK, ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ° ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Dart VM, ΡΡΠ»ΡΠΆΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ SDK ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ Apple Silicon ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅ ΠΈΠ·Π²ΡΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π·Π° ΠΎΠ²ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²ΠΈ.
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βdart pubβ Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π½ΠΎΠ²Π° ΡΡΠ»ΡΠΆΠ½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° β.pubignoreβ, ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π»ΠΈΡΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΡΠΎ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΡΠ΅ΡΠΊΠΎΠΊΠ½Π°ΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ pub.dev. ΠΠ²ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π½Π΅ ΡΠ΅ ΠΌΠ΅ΡΠ°Π°Ρ Π²ΠΎ ΡΠΏΠΈΡΠΎΠΊΠΎΡ Π·Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°ΡΠ΅ β.gitignoreβ (Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ, pub.dev ΠΌΠΎΠΆΠ΅Π±ΠΈ ΡΠ΅ ΡΠ°ΠΊΠ° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΡΠΎ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π²ΠΎ Git, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ ΡΠΊΡΠΈΠΏΡΠΈ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ).
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΎ Π΅ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βdart testβ, ΠΊΠΎΡΠ° ΡΠ΅Π³Π° Π½Π΅ Π±Π°ΡΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΏΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π°ΡΠ° Π½Π° pubspec Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π±ΡΠΎΡΠΎΡ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Ρ.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΡ Π·Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ ECMAScript 5 Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ° (ΠΏΡΠΎΠΌΠ΅Π½Π°ΡΠ° ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ° ΡΠΎ Π³ΡΠ±Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° ΡΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΎΡ IE11).
- ΠΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈΡΠ΅ ΡΡΠ»ΡΠΆΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ stagehand, dartfmt ΠΈ dart2native ΡΠ΅ ΠΏΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈ Π·Π° Π·Π°ΡΡΠ°ΡΠ΅Π½ΠΈ, Π·Π°ΠΌΠ΅Π½Π΅ΡΠΈ ΡΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ°Π½ΠΈ ΠΏΡΠ΅ΠΊΡ Π°Π»Π°ΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΈΠΊΠ°Π΄ΠΎ.
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π½Π° VM Native Extensions Π΅ Π·Π°ΡΡΠ°ΡΠ΅Π½. ΠΠ° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ½ ΠΊΠΎΠ΄ ΠΎΠ΄ ΠΠ°ΡΡ ΠΊΠΎΠ΄, ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½ΠΎΠ²ΠΈΠΎΡ Dart FFI (Π‘ΡΡΠ°Π½ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ).
ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½ΠΎ Π·Π½Π°ΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Flutter 2.5, ΠΊΠΎΡΠ° ΡΠ΅ ΡΠΌΠ΅ΡΠ° ΠΊΠ°ΠΊΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° React Native ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΅Π΄Π½Π° Π±Π°Π·Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°Π°Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° iOS, Android, Windows, macOS ΠΈ Linux. ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΈ. ΠΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Fuchsia ΠΌΠΈΠΊΡΠΎΠΊΠ΅ΡΠ½Π΅Π» ΡΠ°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ Google Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Flutter.
ΠΠ»Π°Π²Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ Flutter Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ, Π° ΠΌΠΎΡΠΎΡΠΎΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C++. ΠΠΎΠ³Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΠΎΠΊΡΠ°Ρ ΠΌΠ°ΡΡΠΈΠ½ΠΈΠΎΡ Dart ΡΠ°Π·ΠΈΠΊ Π½Π° Flutter, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π½Π° Dart Foreign Function Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ C/C++. ΠΠΈΡΠΎΠΊΠΈΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°Π°Ρ ΡΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΠΌΠ°ΡΡΠΈΠ½ ΠΊΠΎΠ΄ Π·Π° ΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° ΠΏΠΎ ΡΠ΅ΠΊΠΎΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π° - Dart ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΆΠ΅ΠΆΠΎΠΊ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΈ Π²Π΅Π΄Π½Π°Ρ Π΄Π° Π³ΠΎ ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ.
ΠΠ»Π°Π²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Flutter 2.5:
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅. ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ iOS ΠΈ macOS, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΡΠ΅ΡΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° Π½Π° ΡΠ΅ΡΠ΄Π΅ΡΠΈ Π·Π° Metal Π³ΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ API. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΎΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈ Π½Π°ΡΡΠ°Π½ΠΈ. Π Π΅ΡΠ΅Π½ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ Π΄ΠΎΡΠ½Π΅ΡΠ°ΡΠ° ΠΊΠΎΠ³Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠΎΡ Π½Π° ΡΡΠ±ΡΠ΅ ΡΠ° Π²ΡΠ°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ Π½Π΅ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»ΠΈΠΊΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ΅ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ° Π½Π° Π°Π½ΠΈΠΌΠΈΡΠ°Π½ GIF ΠΎΠ΄ 20 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π±ΡΠΎΡΠΎΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΡΡΠ±ΡΠ΅ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΎΠ΄ 400 Π½Π° 4. ΠΠ΄Π»ΠΎΠΆΡΠ²Π°ΡΠ° ΠΏΡΠΈ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΡ Dart ΠΈ Objective- C/Swift Π±Π΅Π° Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈ Π½Π° 50% (iOS) ΠΈΠ»ΠΈ Java/Kotlin (Android) ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³ΡΠ°Π΄Π±Π° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΈΠ»ΠΈΠΊΠΎΠ½ΡΠΊΠΈ ΡΠΈΠΏ Π½Π° Apple.
- ΠΠ° Android ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, Π²ΠΎΡΠΏΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ΅Π» Π΅ΠΊΡΠ°Π½. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π΄ΠΈΠ·Π°ΡΠ½Π΅ΡΡΠΊΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ βMaterial Youβ, ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½ ΠΊΠ°ΠΊΠΎ ΠΎΠΏΡΠΈΡΠ° Π·Π° Π΄ΠΈΠ·Π°ΡΠ½ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π»ΠΈ ΠΎΠ΄ ΡΠ»Π΅Π΄Π½Π°ΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡΠ°. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΡΠΎΡΡΠΎΡΠ±Π° MaterialState.scrolledUnder, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° Π»Π΅Π½ΡΠΈΡΠ΅ Π·Π° Π»ΠΈΠ·Π³Π°ΡΠ΅ ΠΏΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ Π½ΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π±Π°Π½Π΅ΡΠΈ Π·Π° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ°.
- ΠΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊΠΎΡ Π·Π° ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ° ΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ, Π΄ΠΎΠ΄Π°Π²Π°ΡΡΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° Π°Π²ΡΠΎΡΠΎΠΊΡΡ, Π΅ΠΊΡΠΏΠΎΠ·ΠΈΡΠΈΡΠ°, Π±Π»ΠΈΡ, Π·ΡΠΌΠΈΡΠ°ΡΠ΅, Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠΌΠΎΡ ΠΈ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡΠ°.
- ΠΠ»Π°ΡΠΊΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ (DevTools) ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ Π·Π° Π΄Π° Π²ΠΊΠ»ΡΡΠ°Ρ Π°ΠΆΡΡΠΈΡΠ°Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΎΡΠ½Π΅ΡΠ°ΡΠ° Π²ΠΎ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ΡΠΎ ΠΈ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ΅ΡΠ΄Π΅ΡΠΈΡΠ΅.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ Π·Π° Visual Studio Code ΠΈ IntelliJ/Android Studio.
ΠΠ·Π²ΠΎΡ: opennet.ru