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