Google ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Dart 2.14, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π΄ΠΈΠΊΠ°Π»Π½ΠΎ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΊΠ»ΠΎΠ½ Π½Π° 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, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 20 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Dart 2.14:
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π·Π° ΡΡΠΎΠΉΠ½ΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ (>>>), ΠΊΠΎΠΉΡΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° β>>β ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ½ΠΎ, Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΎΡΡΠΈΡΠ° Π·Π½Π°ΠΊΠΎΠ²ΠΈΡΡ Π±ΠΈΡ (ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΈ ΡΠΈΡΠ»Π°).
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΡΡΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΠΈΠΏΠ°, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π½Π° ΡΠΈΠΏΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅: ΠΊΡΡΠ΅Π½ ΡΠΏΠΈΡΡΠΊ (T)>idFunctions; var ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ = [ (T ΡΡΠΎΠΉΠ½ΠΎΡΡ) => ΡΡΠΎΠΉΠ½ΠΎΡΡ]; ΠΊΡΡΠ½Π° S ΡΡΠ½ΠΊΡΠΈΡ (T)>(S) f;
- Π Π°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΡΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Ρ ΡΠΈΠΏΠΎΠ²Π΅ Π² Π°Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ @Deprecated. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅: @TypeHelper (42, "ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ")
- Π‘ΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ hash, hashAll ΠΈ hashAllUnordered ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (ΡΠ΄ΡΠΎ) Π² ΠΊΠ»Π°ΡΠ° Object. ΠΠ»Π°ΡΡΡ DateTime ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΠ΅ΡΡΠ½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΡΠΎΠ²Π½ΠΈΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΡΡΠ½ΠΎ ΠΈ Π·ΠΈΠΌΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ Π΄Π΅Π»ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ ΡΠ°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΠ²ΡΡΡΠ°Π»ΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΠΎΡ 30 ΠΌΠΈΠ½ΡΡΠΈ). ΠΠ°ΠΊΠ΅ΡΡΡ ffi Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π°ΡΠ΅Π½Π°ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π° ΡΠ΅ΡΡΡΡΠΈ. ΠΠ°ΠΊΠ΅ΡΡΡ ffigen Π΄ΠΎΠ±Π°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° typedef Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΠΈ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ Dart ΠΎΡ Π΅Π·ΠΈΠΊΠ° C.
- 250-ΡΠ΅ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ pub.dev ΠΈ 94% ΠΎΡ ΡΠΎΠΏ-1000 ΡΠ° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ 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.
- ΠΡΠ² ΡΠΎΡΠΌΠ°ΡΠ°ΡΠΎΡΠ° ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ°ΡΠΊΠ°Π΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ Π΄Π²ΡΡΠΌΠΈΡΠ»Π΅Π½ΠΎΡΠΎ ΡΡΠ»ΠΊΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡΡΠ° Π²ΡΡΡ Ρ ΠΈΠ·ΡΠ°Π·Π½ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° β..doItβ Π² ΠΈΠ·ΡΠ°Π·Π° βvar result = errorState? foo : bad..doIt()β Π½Π΅ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΡΡΠ»ΠΎΠ²Π½Π°ΡΠ° ΡΠ°ΡΡ Π½Π° Π±Π»ΠΎΠΊΠ° βbadβ, Π° Π΄ΠΎ ΡΠ΅Π»ΠΈΡ ΠΈΠ·ΡΠ°Π·, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ ΡΠΎΠΉ Π²Π΅ΡΠ΅ Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½: var result = errorState ? foo : Π»ΠΎΡΠΎ ..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 ΡΠ° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ, Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈ ΡΡΠ΅Π· ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° dart.
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π½Π° VM Native Extensions Π΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½. ΠΠ° Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΎΡ ΠΊΠΎΠ΄Π° Π½Π° Dart, ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π½ΠΎΠ²ΠΈΡ Dart FFI (ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΡΠΆΠ΄Π° ΡΡΠ½ΠΊΡΠΈΡ).
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Flutter 2.5, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° React Native ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π΅Π΄Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° iOS, Android, Windows, macOS ΠΈ Linux ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π² Π±ΡΠ°ΡΠ·ΡΡΠΈ. ΠΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Fuchsia microkernel, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΡ Google, Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Flutter.
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΊΠΎΠ΄Π° Π½Π° Flutter Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Dart, Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C++. ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠΎΠ΄Π½ΠΈΡ Π΅Π·ΠΈΠΊ Π½Π° Dart Π½Π° Flutter, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Dart Foreign Function Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° C/C++ ΠΊΠΎΠ΄. ΠΠΈΡΠΎΠΊΠ°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° ΡΡΠ΅Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΡΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΊΠΎΠ΄ Π·Π° ΡΠ΅Π»Π΅Π²ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° ΡΠ»Π΅Π΄ Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° - Dart ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π³ΠΎΡΠ΅ΡΠΎ ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΡΠ² Flutter 2.5:
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ iOS ΠΈ macOS Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ Π·Π° API Π·Π° ΠΌΠ΅ΡΠ°Π»Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ. Π Π°Π·ΡΠ΅ΡΠ΅Π½ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΡΡ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ±ΠΈΡΠ°ΡΡΡ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΎΡ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° 20-ΡΠ΅ΠΊΡΠ½Π΄Π΅Π½ Π°Π½ΠΈΠΌΠΈΡΠ°Π½ GIF, Π±ΡΠΎΡΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ Π±Π΅ΡΠ΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΎΡ 400 Π½Π° 4. ΠΠ°ΠΊΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Dart ΠΈ Objective- C/Swift Π±ΡΡ
Π° Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈ Π΄ΠΎ 50% (iOS) ΠΈΠ»ΠΈ Java/Kotlin (Android) ΠΠΎΠ±Π°Π²Π΅Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΈΠΏΠ° Apple Silicon.
- ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Android Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΠ» Π΅ΠΊΡΠ°Π½. ΠΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° Π΄ΠΈΠ·Π°ΠΉΠ½ βMaterial Youβ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° ΠΊΠ°ΡΠΎ ΠΎΠΏΡΠΈΡ Π·Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅Π½ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΎΡ ΡΠ»Π΅Π΄Π²Π°ΡΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅. ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ MaterialState.scrolledUnder, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΎ Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π»Π΅Π½ΡΠΈ Π·Π° ΠΏΡΠ΅Π²ΡΡΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΡΠ°Π·ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π±Π°Π½Π΅ΡΠΈ Π·Π° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°Π½Π΅.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ»ΡΠ³ΠΈΠ½Π° Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ° ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ, ΠΊΠ°ΡΠΎ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π°Π²ΡΠΎΡΠΎΠΊΡΡ, Π΅ΠΊΡΠΏΠΎΠ·ΠΈΡΠΈΡ, ΡΠ²Π΅ΡΠΊΠ°Π²ΠΈΡΠ°, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅, Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΌΠ° ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ.
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ (DevTools) ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ, Π·Π° Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ Π½Π° Π΄ΠΆΠ°Π΄ΠΆΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° Visual Studio Code ΠΈ IntelliJ/Android Studio.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru