Google Π³ΠΎ ΠΎΠ±ΡΠ°Π²ΠΈ ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ Dart 2.15, ΠΊΠΎΡ Π³ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ ΡΠ΅Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π° Π³ΡΠ°Π½ΠΊΠ° Π½Π° Dart 2, ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π° ΠΎΠ΄ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ ΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΠΈΠ»Π½ΠΎ ΡΡΠ°ΡΠΈΡΠΊΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ (ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, Π½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΎΡΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π° ΡΠΈΠΏΠΎΡ ΡΠ΅ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° ΡΡΡΠΎΠ³Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΡ).
ΠΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ:
- ΠΠΎΠ·Π½Π°ΡΠ° ΠΈ Π»Π΅ΡΠ½Π° Π·Π° ΡΡΠ΅ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠ°, ΠΏΡΠΈΡΠΎΠ΄Π½Π° Π·Π° JavaScript, C ΠΈ Java ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅.
- ΠΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π±ΡΠ·ΠΎ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ ΠΈ Π²ΠΈΡΠΎΠΊΠΈ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π·Π° ΡΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ Π²Π΅Π±-ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΈ ΠΈ ΡΠ°Π·Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈ, ΠΎΠ΄ ΠΏΡΠ΅Π½ΠΎΡΠ»ΠΈΠ²ΠΈ ΡΡΠ΅Π΄ΠΈ Π΄ΠΎ ΠΌΠΎΡΠ½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ.
- Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π°Ρ ΠΊΠ»Π°ΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ ΠΊΠΎΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ Π΅Π½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡΠ° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
- ΠΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈΡΠ΅ Π³ΠΎ ΠΎΠ»Π΅ΡΠ½ΡΠ²Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅, Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΊΠΎΠ΄ΠΎΡ ΠΏΠΎΡΠ°ΡΠ΅Π½ ΠΈ ΠΏΠΎΡΠΈΡΠ»ΠΈΠ² ΠΈ ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ΄ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΠ΅ΡΠΈ Π»ΠΈΡΠ° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈ.
- ΠΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ: ΡΠ°Π·Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ Ρ Π°ΡΠΎΠ²ΠΈ, Π½ΠΈΠ·ΠΈ ΠΈ ΡΠΏΠΈΡΠΎΡΠΈ, ΡΠ΅Π΄ΠΈΡΠΈ, Π½ΡΠΌΠ΅ΡΠΈΡΠΊΠΈ ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° Π½ΠΈΠ·ΠΈ, ΡΠΈΠΏΠΎΠ²ΠΈ Π·Π° ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π΄Π°ΡΡΠΌ ΠΈ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅Π³ΡΠ»Π°ΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ (RegExp). ΠΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ.
- ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΊΠ»Π°ΡΠΈ ΡΠΎ Π°ΡΡΠΈΠ±ΡΡ ΠΈΠ·ΠΎΠ»Π°Ρ, ΡΠΈΡ ΠΊΠΎΠ΄ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ ΠΏΡΠΎΡΡΠΎΡ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠ° ΠΎΠ±Π»Π°ΡΡ, Π²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠΎ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΈ ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° ΠΈ Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π²Π΅Π±-ΠΏΡΠΎΠ΅ΠΊΡΠΈ. ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»Π°Ρ Π½Π° Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΈ Π΄Π° Π³ΠΎ Π΄ΠΎΠ²Π΅ΡΠ°Ρ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ΅ΠΊΠΎΡ Π΄Π΅Π» Π½Π° ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠΈΠΌ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ.
- ΠΠ±ΠΈΡ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ ΡΠ°Π·Π²ΠΎΡ ΠΈ Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ΄ Π²ΠΎ Π»Π΅Ρ (βΡΡΠ΅Π΄ΠΈ-ΠΈ-ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈβ).
- ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ, ΡΠΎΡ Π΄ΠΎΠ°ΡΠ° ΡΠΎ SDK, ΠΏΠ°Π± Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ΄ dart_analyzer, Π·Π±ΠΈΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° ΡΠ°Π·Π²ΠΎΡΠ½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π° DartPad ΠΈ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ΠΈ ΡΠΎ Dart Π·Π° IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 ΠΈ ΠΠΈΠΌ.
- ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π°Ρ ΠΏΡΠ΅ΠΊΡ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π·Π° ΠΏΠ°Π±, ΠΊΠΎΠ΅ ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»Ρ 22 ΠΈΠ»ΡΠ°Π΄ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ.
ΠΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Dart 2.15:
- ΠΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° Π±ΡΠ·ΠΎ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΡΠΎ ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΠ° Π½Π° ΡΠ°ΠΊΡΠ²Π°ΡΠΈ. ΠΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ°Π΄ΡΠ°, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Dart ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π³ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΊΠΎΠ΄ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π΅Π΄Π½ΠΎ ΡΠ°Π΄ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ°Π΄ΡΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈ Π/Π, ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΡΡΠ²Π°ΡΡΠ²Π°ΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ. ΠΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΈ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΡΠ²ΠΎΠΈΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΡΠ° Π²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π»Π°Π½ΡΠΈΡΠ°Π°Ρ ΠΏΠΎΡΠ΅Π±Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΊΠΎΠ΄ (ΠΈΠ·ΠΎΠ»Π°Ρ), ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π΅Π΄Π½ΠΈ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈ ΠΈ ΠΈΠ·Π²ΡΡΠ΅Π½ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΠ°Π΄ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΡΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° Π½ΠΈΡΠΊΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° . ΠΠ° Π΄Π° ΡΠ΅ Π·Π°ΡΡΠΈΡΠΈ ΠΎΠ΄ Π³ΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΏΡΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΠΈΡΡ ΡΠ΅Ρ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π·Π°Π±ΡΠ°Π½Π΅ΡΠΎ Π΅ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ·ΠΎΠ»Π°ΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ, Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π·Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈΡΠ΅.
Dart 2.15 Π²ΠΎΠ²Π΅Π΄ΡΠ²Π° Π½ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΏΡ - ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊ Π³ΡΡΠΏΠΈ (ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π³ΡΡΠΏΠΈ), ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π΄Π΅Π» ΠΎΠ΄ ΠΈΡΡΠ°ΡΠ° Π³ΡΡΠΏΠ°, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π³ΠΈ Π½Π°ΠΌΠ°Π»ΠΈ ΡΡΠΎΡΠΎΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ°ΠΊΡΠ²Π°ΡΠΈ Π²ΠΎ Π³ΡΡΠΏΠ° . ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΈΠ·ΠΎΠ»Π°ΡΠ΅Π½ Π±Π»ΠΎΠΊ Π²ΠΎ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠ° Π³ΡΡΠΏΠ° Π΅ 100 ΠΏΠ°ΡΠΈ ΠΏΠΎΠ±ΡΠ·ΠΎ ΠΈ Π±Π°ΡΠ° 10-100 ΠΏΠ°ΡΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΎΠ΄ Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΈΠ·ΠΎΠ»Π°ΡΠ΅Π½ Π±Π»ΠΎΠΊ, ΠΏΠΎΡΠ°Π΄ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π·Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°.
Π ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π²ΠΎ Π³ΡΡΠΏΠ°ΡΠ° ΡΓ¨ ΡΡΡΠ΅ Π·Π°Π±ΡΠ°Π½ΡΠ²Π°Π°Ρ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ, Π³ΡΡΠΏΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π½Π° ΠΊΡΠΏ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π³ΠΎ Π·Π°Π±ΡΠ·Π° ΠΏΡΠ΅Π½ΠΎΡΠΎΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈ ΠΎΠ΄ Π΅Π΄Π΅Π½ Π±Π»ΠΎΠΊ Π²ΠΎ Π΄ΡΡΠ³ Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ Π²ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΏΡΠ΅Π½Π΅ΡΠ΅ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΎΠ΄ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π° Isolate.exit() Π·Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΌΠ°ΡΠΈΡΠ½ΠΈΠΎΡ ΠΈΠ·ΠΎΠ»Π°ΡΠ΅Π½ Π±Π»ΠΎΠΊ Π±Π΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΡ Π·Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΏΠΎΡΠ°ΠΊΠΈ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ - ΠΌΠ°Π»ΠΈΡΠ΅ ΠΈ ΡΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ ΡΠ΅Π³Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 8 ΠΏΠ°ΡΠΈ ΠΏΠΎΠ±ΡΠ·ΠΎ. ΠΠ±ΡΠ΅ΠΊΡΠΈΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΡ ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΠ΅ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠΎΡ SendPort.send() Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ Π½Π΅ΠΊΠΎΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°ΡΠ²ΠΎΡΠ°ΡΠ° ΠΈ ΡΡΠ°Π³ΠΈ ΠΎΠ΄ ΡΡΠ΅ΠΊ.
- ΠΠΎ Π°Π»Π°ΡΠΊΠΈΡΠ΅ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎ Π΄ΡΡΠ³ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ (ΠΎΡΠΊΠΈΠ½ΡΠ²Π°ΡΠ΅), ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°ΡΠ° Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΡ ΡΠ΅ ΠΎΡΡΡΡΠ°Π½Π΅ΡΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΎ ΠΏΡΠΈ Π³ΡΠ°Π΄Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Flutter. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° ΠΠΎΠ»ΠΎΠ½Π° ΠΊΠΎΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π΄ΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΠ΅ΠΊΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΠ΅ β.map()β ΠΈ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΡ Text.new Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΡ Π’Π΅ΠΊΡΡ: ΠΊΠ»Π°ΡΠ°ΡΠ° FruitWidget ΠΏΡΠΎΡΠΈΡΡΠ²Π° StatelessWidget { @override ΠΠ·Π³ΡΠ°Π΄Π±Π° Π½Π° Π²ΠΈΡΠ΅ΡΠΈ (BuildContext ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ) { return Column( Π΄Π΅ΡΠ°: ['Apple', 'Orange'].map(Text.new).toList()); } }
- ΠΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ΅Π½ΠΈ. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΊΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ Π½Π΅Π³Π΅Π½Π΅ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Ρ: T id (Π’ Π²ΡΠ΅Π΄Π½ΠΎΡΡ) => Π²ΡΠ΅Π΄Π½ΠΎΡΡ; var intId = ΠΈΠ΄ ; // Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ Π²ΠΎ Π²Π΅ΡΠ·ΠΈΡΠ° 2.15 Π½Π°ΠΌΠ΅ΡΡΠΎ "int Function(int) intId = id;" const fo = id; // ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Ρ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ°. const c1 = fo ;
- ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° dart:core ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° enums, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π²Π°Π΄ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° Π½ΠΈΠ·Π° ΠΎΠ΄ ΡΠ΅ΠΊΠΎΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π½Π° Π½ΡΠΌΠ΅ΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΡ β.nameβ, Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΏΠΎ ΠΈΠΌΠ΅ ΠΈΠ»ΠΈ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΠ΅ Π½Π° ΠΏΠ°ΡΠΎΠ²ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ: enum MyEnum { one , Π΄Π²Π°, ΡΡΠΈ } void main() { print(MyEnum.one.name); // βΠΠ΄Π΅Π½β ΡΠ΅ ΡΠ΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΈ. print(MyEnum.values.byName('Π΄Π²Π°') == MyEnum.two); // βΡΠΎΡΠ½ΠΎβ ΡΠ΅ ΡΠ΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΈ. ΠΊΠΎΠ½Π΅ΡΠ½Π° ΠΊΠ°ΡΡΠ° = MyEnum.values.asNameMap(); print(map['tree'] == MyEnum.three); // βΠ²ΠΈΡΡΠΈΠ½ΠΈΡΠΎβ. }
- ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π΅ ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΎΡ ΠΊΠΎΡΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΠΎΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎ ΠΏΡΠ΅ΡΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈΡΠ΅ Π²ΠΎ 64-Π±ΠΈΡΠ½ΠΈ ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ 32-Π±ΠΈΡΠ΅Π½ Π°Π΄ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΡΠΎΡ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ Π·Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ (Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 4 GB ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°). Π’Π΅ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ°Π° Π΄Π΅ΠΊΠ° ΡΠ°ΠΊΠ²Π°ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΊΡΠΏΠΎΡ Π·Π° ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 10%. ΠΠΎ Flutter SDK, Π½ΠΎΠ²ΠΈΠΎΡ ΡΠ΅ΠΆΠΈΠΌ Π²Π΅ΡΠ΅ Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π·Π° Android ΠΈ ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π·Π° iOS Π²ΠΎ ΠΈΠ΄Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.
- Dart SDK Π²ΠΊΠ»ΡΡΡΠ²Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ (DevTools), ΠΊΠΎΠΈ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π±Π΅Π° Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π°Π»Π°ΡΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βdart pubβ ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ°ΡΠ° Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ pub.dev Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΡΠ½ΠΎΡΠΎ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΡΠ°Π²Π°ΡΡΠΈ Π°ΠΊΡΠ΅Π΄ΠΈΡΠΈΠ²ΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΠΈ ΠΎΠ±Π»Π°ΠΊ ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈΡΠ΅ Π²ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ. ΠΠΎΠΊΠΎΠ»ΠΊΡ ΡΠ΅ ΠΎΡΠΊΡΠΈΡΠ°Ρ ΡΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ°, ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βdart pub publicβ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠΎ ΡΠΎ ΠΏΠΎΡΠ°ΠΊΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠ°. ΠΠΊΠΎ ΠΈΠΌΠ°Π»ΠΎ Π»Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° ΠΏΡΠ΅ΠΊΡ Π±Π΅Π»Π° Π»ΠΈΡΡΠ°.
- Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΠΎΡΠΏΠΎΠ²ΠΈΠΊΠ° Π²Π΅ΡΠ΅ ΠΎΠ±ΡΠ°Π²Π΅Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ pub.dev, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΡΠ΅ ΠΎΡΠΊΡΠΈΡΠ°Ρ ΠΎΠΏΠ°ΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΏΡΡΡΠΈ. ΠΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ, Π·Π° Π²Π°ΠΊΠ²ΠΈΡΠ΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ, ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° Π±Π΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π²ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠ²Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°, Π½ΠΎ Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π·Π°ΠΏΡΠ΅ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ½Π°ΡΠ°ΠΌΠΎΡΠ½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΠ°ΡΠ° ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° ΠΈΠ»ΠΈ Π°ΠΊΠΎ Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π²Π΅Π½ΠΎ ΠΏΠΎ Π³ΡΠ΅ΡΠΊΠ° Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΡΡ Π²Π΅ΡΠ·ΠΈΡΠ°). ΠΠΎ ΠΎΡΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ΡΠΎ, ΠΏΠ°ΠΊΠ΅ΡΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π° Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ βΠΏΠ°Π± Π·Π΅ΠΌΠΈβ ΠΈ βΠ½Π°Π΄Π³ΡΠ°Π΄Π±Π° Π½Π° ΠΏΠ°Π±ΠΎΡβ, Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΡΠΎ Π²Π΅ΡΠ΅ Π³ΠΎ ΠΈΠΌΠ°Π°Ρ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΎ, ΡΠ΅ ΠΈΠ·Π΄Π°Π²Π° ΠΏΠΎΡΠ΅Π±Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΠΏΠ°Ρ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ βΠΏΠ°Π± Π·Π΅ΠΌΠΈβ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡ (CVE-2021-22567) ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΠ΄ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Π·Π½Π°ΡΠΈ Π½Π° Unicode Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ ΡΡΠΎ Π³ΠΎ ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ΠΎΡ Π½Π° ΠΏΡΠΈΠΊΠ°Π·ΠΎΡ.
- ΠΠΎΠΏΡΠ°Π²Π΅Π½Π° Π΅ ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡΠ° (CVE-2021-22568) ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠΌΠΈΡΡΠ²Π°ΡΠ΅ Π΄ΡΡΠ³ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ pub.dev ΠΊΠΎΠ³Π° ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΡΡΠΎ ΠΏΡΠΈΡΠ°ΡΠ° ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ pub.dev oauth2. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π½Π°ΠΏΠ°Π΄ Π½Π° Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ ΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΊΠΎΠΈ ΡΠ°ΠΌΠΎ Ρ ΠΎΡΡΠΈΡΠ°Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° pub.dev Π½Π΅ ΡΠ΅ Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ ΠΎΠ΄ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½ΠΎ Π·Π½Π°ΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Flutter 2.8, ΠΊΠΎΡΠ° ΡΠ΅ ΡΠΌΠ΅ΡΠ° ΠΊΠ°ΠΊΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° React Native ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° Π±Π°Π·Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°Π°Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° iOS, Android, Windows, macOS ΠΈ ΠΠΈΠ½ΡΠΊΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΈ. ΠΡΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Fuchsia ΠΌΠΈΠΊΡΠΎΠΊΠ΅ΡΠ½Π΅Π» ΡΠ°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ Google Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Flutter. ΠΠ°Π±Π΅Π»Π΅ΠΆΠ°Π½ΠΎ Π΅ Π΄Π΅ΠΊΠ° Π²ΠΎ ΡΠ΅ΠΊΠΎΡ Π½Π° ΠΈΠ·ΠΌΠΈΠ½Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠΈ, Π±ΡΠΎΡΠΎΡ Π½Π° Flutter 2 Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ Google Play Store Π΅ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ ΠΎΠ΄ 200 ΠΈΠ»ΡΠ°Π΄ΠΈ Π½Π° 375 ΠΈΠ»ΡΠ°Π΄ΠΈ, Ρ.Π΅. ΡΠ΅ΡΠΈΡΠΈ Π΄Π²Π°ΠΏΠ°ΡΠΈ.
ΠΠ»Π°Π²Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ Flutter Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΠ°ΡΡ, Π° ΠΌΠΎΡΠΎΡΠΎΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C++. ΠΠΎΠ³Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΠΎΠΊΡΠ°Ρ ΠΌΠ°ΡΡΠΈΠ½ΠΈΠΎΡ Dart ΡΠ°Π·ΠΈΠΊ Π½Π° Flutter, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π½Π° Dart Foreign Function Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ C/C++. ΠΠΈΡΠΎΠΊΠΈΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π°Π°Ρ ΡΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΠΌΠ°ΡΡΠΈΠ½ ΠΊΠΎΠ΄ Π·Π° ΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° ΠΏΠΎ ΡΠ΅ΠΊΠΎΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π° - Dart ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΆΠ΅ΠΆΠΎΠΊ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΈ Π²Π΅Π΄Π½Π°Ρ Π΄Π° Π³ΠΎ ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ.
ΠΠ΅ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Flutter, ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΡΠ²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° Π±ΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ. ΠΠΎΠ»Π΅ΡΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΡΠΎ Π·Π°Π΄Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Firebase ΠΈ Google Cloud. ΠΠ»Π°ΡΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΠΎ Google Ads ΡΠ΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΡΠ°Π·Π²ΠΎΡΠΎΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ΄Π°Π΄Π΅Π½ Π΅ Π³ΡΠ°ΡΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π·Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Firebase. ΠΠΎΡΠΎΡΠΎΡ Flame, Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° 2D ΠΈΠ³ΡΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Flutter, Π΅ Π°ΠΆΡΡΠΈΡΠ°Π½.
ΠΠ·Π²ΠΎΡ: opennet.ru