Π Π°Π·Π½ΠΎΠ΅

Π―Π·Ρ‹ΠΊ программирования dart: Π₯ΠΎΡ‡Ρƒ всё Π·Π½Π°Ρ‚ΡŒ: язык Dart | GeekBrains

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ пишСм Π½Π° языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎ «хоронят» (Ρ‡Π°ΡΡ‚ΡŒ 1) / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Wrike / Π₯Π°Π±Ρ€

«А ΠΎΠ½ Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠΌΠ΅Ρ€?Β»,- ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ нас ΠΏΡ€ΠΎ Dart Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ. «А ΠΊΠ°ΠΊ Google ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ язык?Β», Β«ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ?Β», Β«Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ TypeScript, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° типизация?Β»

ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частыС вопросы ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ Π˜Π³ΠΎΡ€ΡŽ Π”Π΅ΠΌΡŒΡΠ½ΠΎΠ²Ρƒ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Wrike.

ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ с Π½ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Wrike, с 2 ΠΌΠ»Π½ строчками ΠΊΠΎΠ΄Π° Π·Π° спиной большС Π΄Π²ΡƒΡ… Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π½Π΅ побоялся ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ с JavaScript Π½Π° Dart, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»Π° миграция, ΠΊΠ°ΠΊ рос ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π»Π°ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠ°ΠΊ развиваСтся язык сСгодня, нСсмотря Π½Π° Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Ρ‹ ΠΎ Π΅Π³ΠΎ стагнации ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ смСрти.

Π˜Π³ΠΎΡ€ΡŒ, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ ΡƒΠΆΠ΅ большС 10 Π»Π΅Ρ‚, Π° Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Dart для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° Wrike?

Π”ΠΎ Dart ΠΌΡ‹ писали Π½Π° ExtJS 3 ΠΈ частично Π½Π° ExtJS 4. Плюс Ρƒ нас Π±Ρ‹Π» нСбольшой ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написал ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±Ρ‹Π²ΡˆΠΈΡ… сотрудников. Π­Ρ‚ΠΎΡ‚ «вСлосипСд» Π½Π°ΠΌ сСйчас скорСС ΠΌΠ΅ΡˆΠ°Π΅Ρ‚, ΠΈ ΠΌΡ‹ ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΈΡ…ΠΎΠ½ΡŒΠΊΡƒ избавляСмся. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ 2,5 ΠΌΠ»Π½ строк клиСнтского ΠΊΠΎΠ΄Π°, Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ΄Π° Π΄Π²Π° пишСм Π½Π° Π΄Π°Ρ€Ρ‚Π΅ ΠΈ ΠΏΠΎΡ‚ΠΈΡ…ΠΎΠ½ΡŒΠΊΡƒ избавляСмся ΠΎΡ‚ лСгаси Π½Π° ExtJS.

Π’ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° JS?

Оно ΠΏΡ€ΠΈΡˆΠ»ΠΎ, ΠΊΠΎΠ³Π΄Π° Wrike Π½Π°Ρ‡Π°Π» Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ расти. Когда Ρƒ нас Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π±Ρ‹Π»ΠΎ 11 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ β€” ΠΌΡ‹ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JavaScript, Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΠΈΡˆΠ΅Ρ‚, ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ всС Π½ΡŽΠ°Π½ΡΡ‹ старого ΠΊΠΎΠ΄Π°. Но сСйчас Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° Ρƒ нас ΠΎΠΊΠΎΠ»ΠΎ 50 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ распрСдСлСны Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΏΠΎ 10 scrum-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π»ΠΈΡ‡Π½Ρ‹Ρ… договорСнностСй ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π—Π°Π΄Π°Ρ‡ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ, ΠΊΠΎΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ.

Много ΠΊΠΎΠ΄Π° β€” это сколько?

На ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΡ‹ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π³Ρ€ΡƒΠ·ΠΈΠΌ ΠΎΠΊΠΎΠ»ΠΎ 10 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ сТатого ΠΊΠΎΠ΄Π°, Ρ€Π°Π½ΡŒΡˆΠ΅ Π±Ρ‹Π»ΠΎ 5 ΠΈΠ»ΠΈ 6. И Ρ€Π°Π½ΡŒΡˆΠ΅ эта Ρ†ΠΈΡ„Ρ€Π° выглядСла ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, сСйчас ΠΈ ΠΏΠΎΠ΄Π°Π²Π½ΠΎ. Но ΠΌΡ‹ Ρ‚ΡƒΡ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ -ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ растСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ. РазумССтся, ΠΌΡ‹ стрСмимся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ куски ΠΊΠΎΠ΄Π° Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ, Π½ΠΎ Π² ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ случаях приходится ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄ сразу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вСсь Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Wrike Π±Ρ‹Π» доступСн ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ.

Π’Π°ΠΊ Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ Dart?

Dart Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ отличаСтся ΠΎΡ‚ всСго ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ части ΠΊΠΎΠ΄Π°, это ΠΈ позволяСт Π½Π°ΠΌ ΠΆΠΈΡ‚ΡŒ с Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ лСгаси. Когда ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ большой ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ, Π° Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚. Π•ΡΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅ΠΆΠΈΡ‚ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ β€” ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π΅Π³ΠΎ просто ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π·Π°Π±Ρ‹Π» Π²Ρ‹ΠΊΠΈΠ½ΡƒΡ‚ΡŒ ΠΈΠ· ΠΎΠ±Ρ‰Π΅ΠΉ сборки β€” ΠΈ ΠΎΠ½ всС Π΅Ρ‰Π΅ ΠΆΠΈΠ²Π΅Ρ‚ с Π½Π°ΠΌΠΈ. И Ссли Π±Ρ‹ ΠΌΡ‹ использовали JS с Π΅Π³ΠΎ сборщиками, этот ΠΊΠΎΠ΄ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ» Π±Ρ‹ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚. А Dart позволяСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΈΠ»ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Плюс ΠΌΡ‹ Π½Π΅ зависим Π½ΠΈ ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ… стандартов JS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ постоянно ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ. Кода Ρ‚Ρ‹ дСлаСшь enterprise-ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, ΠΎΡ‡Π΅Π½ΡŒ слоТно Π²Ρ‹Π±ΠΈΡ‚ΡŒ Ρƒ бизнСса врСмя Π½Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ стандарта Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Π’Ρ‹Π±Ρ€Π°Π² Dart, ΠΌΡ‹ пошли ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ: Π²Π½Π°Ρ‡Π°Π»Π΅ пСрСписали ΠΊΠΎΡ€Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Π·Π°Ρ‚Π΅ΠΌ β€” ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». БСйчас Ρƒ нас ΡƒΠΆΠ΅ грузится Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° большС, Ρ‡Π΅ΠΌ старого. ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ развиваСтся ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ приходится Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ быстро.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, процСсс Ρ‚ΠΎΠΆΠ΅ помСнялся β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ тратят Π½Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΡƒΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ.

Π”Π°, сСйчас ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ эти ΠΆΠ΅ возмоТности Π΅ΡΡ‚ΡŒ Ρƒ Typescript ΠΈΠ»ΠΈ JS+Flow, Π½ΠΎ Π½Π°ΠΌ нравится Dart. Π£ языка простой ΠΈ понятный синтаксис, Π° Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΎΠ½ позволяСт Π½Π°ΠΌ ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° идСях, ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹ ΠΌΡ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ»ΠΈ, скаТСм, Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с ES5 Π½Π° ES6, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ Ρ‚.ΠΏ.

БСйчас вСдСтся какая-Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π° JS?

Π’ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² лСгаси-ΠΊΠΎΠ΄ Π½Π° JS, Ссли Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ critical bug. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° Dart β€” ΠΎΠ½ Π»ΠΈΠ±ΠΎ замСняСт старый ΠΊΠΎΠ΄, Π»ΠΈΠ±ΠΎ добавляСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».

Какой Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅?

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ с Polymer Π½Π° Angular2. БСйчас ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Angular3, Π° ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ Π³ΠΎΠ΄Π° β€” Π½Π° Angular4. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… компаниях бизнСс Π² этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ довольно тяТСло ΠΈΠ΄Π΅Ρ‚ навстрСчу R’n’D β€” Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠ»Π³ΠΈΠΌΠΈ спорами ΠΈ убСТдСниями. Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ самыС Π½ΠΎΠ²Ρ‹Π΅ инструмСнты β€” Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ заслуга Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½ΠΎ ΠΈ Π½Π°ΡˆΠΈΡ… тСстировщиков-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π½Π°ΠΌ с рСгрСссионными тСстами ΠΈ QA Manual. Когда ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π° Dart, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ всСх тСхничСских ΠΊΠΎΠΌΠ°Π½Π΄ Wrike, поэтому этот ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π°ΠΌ дался ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π’Π°ΠΊ ΠΆΠ΅ ΠΈ с Angular β€” ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΡƒΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями затянСтся Π½Π° 1-2 мСсяца, вряд Π»ΠΈ большС.

БСйчас ΠΌΠ°Π»ΠΎ Π·Π½Π°ΡŽΡ‚ ΠΎ языкС Dart, Π½ΠΎ 2 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ. Как Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎ ΠΆΠΈΠ²ΠΎΠΌΡƒ Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ всС ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ? Π’Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ бизнСс Π½Π° это Π²ΠΎΠΎΠ±Ρ‰Π΅ пошСл.

Π― сам Π½Π°Ρ‡Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Dart с вСрсии 0.8, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±Ρ‹Π» Π΅Ρ‰Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π±Π΅Ρ‚Π΅. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ внСдрСния Π² Wrike Dart ΡƒΠΆΠ΅ Π±Ρ‹Π» ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π·Π°Ρ€Π΅Π»ΠΈΠΆΠ΅Π½, появилась спСцификация, стандарты ΠΈ Ρ‚.ΠΏ., Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ Π±Ρ‹Π»ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π² языкС Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. ΠœΡ‹ Π·Π½Π°Π»ΠΈ, с ΠΊΠ°ΠΊΠΈΠΌ языком Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ, всС ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ смогли Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π“Π»Π°Π²Π½Ρ‹ΠΌ Π΄ΠΎΠ²ΠΎΠ΄ΠΎΠΌ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π΄Π°Ρ€Ρ‚Π° Π±Ρ‹Π» Tree Shaking β€” ΡƒΠΌΠ΅Π½ΠΈΠ΅ Π΄Π°Ρ€Ρ‚Π° Π²Ρ‹ΠΏΠΈΠ»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². А это ΠΏΡ€ΠΈ нашСм объСмС legacy ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ TypeScript?

Если Π±Ρ‹ ΠΌΡ‹, допустим, ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Wrike Π½Π° TypeScript, это Π±Ρ‹Π»ΠΎ Π±Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, «дСшСвлС». Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρƒ нас ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° TS, Π½Π°ΠΌ скорСС всСго Π½ΠΈΡ‡Π΅Π³ΠΎ Π±Ρ‹ Π½Π΅ Π΄Π°Π»ΠΎ β€” остался Π±Ρ‹ Ρ‚ΠΎΡ‚ ΠΆΠ΅ объСм ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ лСгаси, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° TypeScript. Dart ΠΆΠ΅ заставляСт нас ΠΏΠΈΡΠ°Ρ‚ΡŒ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΈ Π½Π΅ Π΄Π°Π΅Ρ‚ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ простых ошибок Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, это Π΅Π³ΠΎ плюс, Π½ΠΎ Π² этом, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈ Π΅Π³ΠΎ ΡΡ‚Ρ€ΠΎΠ³ΠΎΡΡ‚ΡŒ.

Если Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ бизнСсу, Ρ‚ΠΎ Π΄Π°, здСсь ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ. Наш CEO АндрСй Π€ΠΈΠ»Π΅Π² β€” сам Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΈ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ вСсти Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС. Плюс, рСпутация Google ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° языка ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², эти измСнСния Π±Ρ‹Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΈ самому бизнСсу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ максимально быстро Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ„ΠΈΡ‡ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π°ΠΌ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² Ρ€Ρ‹Π½ΠΊΠ°. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, бизнСс ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π», ΠΈ сСйчас ΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ быстро двиТСмся, Π° бизнСс Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ нашСй ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ.

Но Π²ΠΎΡ‚ Ρ‚Π΅ 11 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ писали Π½Π° JS ΠΈ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Dart, Π½Π°Π²Π΅Ρ€Π½ΠΎ, Π½Π΅ Ρ‚Π°ΠΊ радостно восприняли эту Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ?

РСбята, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ языком, ΠΊΡ€ΠΎΠΌΠ΅ JavaScript, ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π° Dart. Они, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ€Ρ‚ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ‡ΡƒΠΆΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡŽ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π±Ρ‹Π»ΠΈ ΠΈ Ρ‚Π΅, ΠΊΡ‚ΠΎ Π·Π½Π°Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь ΠΎΠ΄ΠΈΠ½ JavaScript, ΠΈ, ΠΊΠ°ΠΊ ΠΈ любой «старовСр», Π² ΡˆΡ‚Ρ‹ΠΊΠΈ воспринимал измСнСния.

БСйчас Π² JavaScript-ΠΌΠΈΡ€ довольно Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π² сообщСствС Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ язык, Π½ΠΎ Π΅Π΄Π²Π° Π»ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ большиС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹. Π£ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ЕвгСния ГусСва Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° эту Ρ‚Π΅ΠΌΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ Π²Ρ‹Π·Π²Π°Π» Π½Π΅ΠΌΠ°Π»ΡƒΡŽ ΠΏΠΎΠ»Π΅ΠΌΠΈΠΊΡƒ срСди JS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π›ΡŽΠ±ΠΎΠΉ язык ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС Π΅Π³ΠΎ примСнСния, поэтому Ρ‚ΡƒΡ‚ споры ΠΈ Ρ…ΠΎΠ»ΠΈΠ²Π°Ρ€Ρ‹ бСссмыслСнны. НапримСр, JavaScript всСм Ρ…ΠΎΡ€ΠΎΡˆ для прототипирования β€” ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‹ Π½ΠΈ написали ΠΊΠΎΠ΄ Π½Π° JS, Π²Ρ‹ Π΅Π³ΠΎ скорСС всСго запуститС. НСт понятия β€œΠΏΠ»ΠΎΡ…ΠΎΠΉ JavaScript” β€” Π»ΠΈΠ±ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, ΠΈ всС.

Π‘ Dart слоТнСС. Π£ вас, ΠΊΠ°ΠΊ Π² Java ΠΈ ΠΊΠ°ΠΊ Π² .net, Π΅ΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Β«Π—Π½Π°Π΅ΡˆΡŒ, Π΄Ρ€ΡƒΠΆΠΎΠΊ, ΠΊΠ°ΠΊ Π±Ρ‹ Π½Π΅ Ρ‚Π°ΠΊ. Π’Π°ΠΊ нСльзя Π΄Π΅Π»Π°Ρ‚ΡŒ. НСльзя ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ динамичСскиС классы ΠΈ Ρ‚.ΠΏ.Β». Π’ΠΎ Π΅ΡΡ‚ΡŒ язык просто Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ самому сСбС Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΡ‚ΡŒ Π² Π½ΠΎΠ³Ρƒ, ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‹ Π½ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ.

Если Π²Ρ‹ посмотритС, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ создатСли Dart, Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языкам, V8 Π΄Π΅Π»Π°Π»ΠΈ, Π΄Π°ΠΆΠ΅ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· Java Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ. Они подошли ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ языка с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, поэтому Dart – это язык для срСдних, Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Он ΠΏΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ, Π½ΠΎ самоС эффСктивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈ ΠΎΠ½ΠΎ ΠΈΠ΄Π΅Ρ‚ Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ». Π’Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ, язык сам Π±ΡƒΠ΄Π΅Ρ‚ Β«Π²Ρ‹ΠΏΠΈΠ»ΠΈΠ²Π°Ρ‚ΡŒΒ», ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ – это Ρ‚Π΅ бонусы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ большим прилоТСниям. На ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… прилоТСниях Π²Ρ‹ практичСски Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ³ΠΎ эффСкта ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с JS Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅.

О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ развиваСтся язык, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² Π½Π΅ΠΌ ΠΆΠ΄Π°Ρ‚ΡŒ Π² блиТайший Π³ΠΎΠ΄, насколько ΠΎΡ…ΠΎΡ‚Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ языка ΠΈΠ· Google ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΆΠΈΠ·Π½ΠΈ сообщСства ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· нСдСлю.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Ρ‹ Π·Π° вопросы Π² коммСнтариях ΠΈ, Ссли потрСбуСтся, напишСм Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ тСхничСскиС ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Dart Π½Π° ΠΈΡ… основС.

ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ знакомство с языком? / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Wrike / Π₯Π°Π±Ρ€

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! На ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΡƒΡŽ встрСчу русскоязычного сообщСства Dart (Π°ΠΊΠ° Dartup) ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь ΠΎΡ‚ людСй, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΡ… Π½Π° мСроприятиС. Π’ этом Π³ΠΎΠ΄Ρƒ нас Π±Ρ‹Π»ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 130 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Если Π²Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π²ΠΎΡ‚ ссылка Π½Π° записи. Бпасибо Π·Π° ΠΌΠΈΡ‚Π°ΠΏ всСм участникам, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌ ΠΈ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°ΠΌ.

МногиС гости Π² ΠΊΡƒΠ»ΡƒΠ°Ρ€Π°Ρ… ΠΈ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅, посвящСнном встрСчС, ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈ нас, ΠΏΠΎΡ‡Π΅ΠΌΡƒ, обладая большой экспСртизой Π² языкС, ΠΌΡ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ Π·Π°Π΄ΡƒΠΌΠ°Π»ΠΈΡΡŒ ΠΎ Dart Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ, Π²Π΅Π±ΠΈΠ½Π°Ρ€Π°Ρ… ΠΈΠ»ΠΈ хотя Π±Ρ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌ руководствС для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠŸΡ€ΠΈΠ·Π½Π°ΡŽΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ процСсс, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π±Ρ‹Π» ΠΈΠΌΠΏΡƒΠ»ΡŒΡ ΠΎΡ‚ вас. ΠœΡ‹ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΡΠ΅Ρ€ΠΈΡŽ статСй для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ интСрСсуСтся языком ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. И Ссли Π²Π°ΠΌ понравится ΠΈ пригодится эта информация, Ρ‚ΠΎ ΠΌΡ‹ ΠΊΠ°ΠΊ компания смоТСм большС ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ этому Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΡ€ΠΎ Ρ‡Ρ‚ΠΎ

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°:

  • Π“Π΄Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Dart большС?
  • Как ΠΈ Π³Π΄Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ?
  • Настройка срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • Запуск Hello world

Π“Π΄Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ Dart большС?

Как это Π½ΠΈ страно, Π½Π° https://www.dartlang.org. Π’Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈ-курс ΠΏΠΎ синтаксису ΠΈ возмоТностям языка. А Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Dart β€” это цСлая экосистСма, Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² Java, Π½Π°Π΄ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, для этого Π΅ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΉ Ρ‚ΡƒΡ€. И Ссли послС прочтСния Π²Ρ‹ Π²ΡΠ΅Ρ€ΡŒΠ΅Π· Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π»ΠΈΡΡŒ возмоТностями языка β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π³Π°ΠΉΠ΄Ρƒ Effective Dart β€” совСты, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΌ, ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ высокоэффСктивным. Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π»ΡŽΠ±ΠΈΡ‚ сухой язык API вмСсто тСкста, Π²ΠΎΡ‚ прСкрасная ссылка.

Dart, ΠΊΠ°ΠΊ ΠΈ JavaScript, стандартизирован ECMA-408, Π² этом Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ достаточно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расписаны всС Π½ΡŽΠ°Π½ΡΡ‹ языка.

Π‘Ρ„Π΅Ρ€Ρ‹ примСнСния

Π”Π°Ρ€Ρ‚ β€” язык ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, сСрвСрныС прилоТСния, Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ прилоТСния для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. НиТС ΠΌΡ‹ расскаТСм ΠΎΠ± этом ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

CLI

CLI, вСсь Ρ‚ΡƒΠ»ΠΈΠ½Π³ Π΄Π°Ρ€Ρ‚Π° написан Π½Π° самом языкС. Π’ΠΎ Π΅ΡΡ‚ΡŒ pub, analyzer, dartdoc, dartfmt, dart2js β€” всё создано с использованиСм самого Dart, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ исходники ΠΏΠΎ ссылкам. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ достаточно просто ΠΏΠΈΡΠ°Ρ‚ΡŒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ°Π½ΡƒΠ°Π».

Π£ нас Π½Π° бэкСндС Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, написанноС Π½Π° Π”Π°Ρ€Ρ‚Π΅, ΠΎΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π‘Π” ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с сокСтами. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ свои cli-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для облСгчСния сборки ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° DartVM ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚.

Одной ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€ΡƒΡ‚ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ DartVM являСтся запуск ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² сам DartVM ΠΈ называСтся Observatory. Как ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Google, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ практичСски Π½Π΅ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ исполняСмого ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΈ этом Ρ‡Π΅Ρ€Π΅Π· Π΄Π°Π½Π½Ρ‹ΠΉ инструмСнт нСльзя ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ исполняСмыС исходники, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС.

Web

Π’ΡƒΡ‚ всё довольно просто β€” Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ Ρ‡Π΅Ρ€Π΅Π· js-interop ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ js-ΠΌΠΈΡ€Π°. Π”Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ€Π°ΠΏΠ΅Ρ€Ρ€Ρ‹, Π½ΠΎ Dart ΠΈ JS β€” это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΈΡ€Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ приходится ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π° Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ΄Π°.

МоТно ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° чистом Π΄Π°Ρ€Ρ‚Π΅ Π±Π΅Π· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ космолёт AngularDart. Π’ Wrike ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ AngularDart Π½Π° ΠΏΡ€ΠΎΠ΄Π΅ для основного ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° (Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π° чистом Π”Π°Ρ€Ρ‚Π΅ написано ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΌΠΈΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π΅ Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° 15Мб), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π³ΠΎΡ‚ΠΎΠ² для Π±ΠΎΠ΅Π²Ρ‹Ρ… условий. И ΠΏΡƒΡΡ‚ΡŒ вас Π½Π΅ смущаСт Π²Π΅Ρ€ΡΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ, ΠΏΡƒΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ TS ΠΈ Dart вСрсиСй Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒ с вСрсии 2.0 (Π΅Ρ‰Π΅ Ρ€Π°Π·: вСрсии Angular для TypeScript ΠΈ Dart β€” Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚!), сСйчас это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΈΡ€Ρ‹ с ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ API.

Π’Π°ΠΊ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ redux ΠΈ over_react.

Android/iOS

Dart ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сразу Π½Π° ΠΎΠ±Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ β€” Flutter. Пока это Π°Π»ΡŒΡ„Π°, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹, поэтому ΠΏΠΎΠΊΠ° большой экспСртизой ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ. Но, ΠΏΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌ, Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ прилоТСния для Android Π² Ρ€Π΅Π»ΠΈΠ· ΠΌΠΎΠ΄Π΅ вСсит ΠΎΠΊΠΎΠ»ΠΎ 5Мб + всё, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ сами. ВмСстС с Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€ΠΎΠΌ Google ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ‚ инструмСнты для мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ ΠΎΡ‡Π΅Π½ΡŒ простой. ОсобСнно хочСтся ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ„ΠΈΡ‡Ρƒ Hot Reload, которая Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ устройства фантастичСской.

Как ΠΈ Π³Π΄Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ язык?

Online

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅ просто «ΠΏΠΎΡ‰ΡƒΠΏΠ°Ρ‚ΡŒ» язык, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΉΡ‚ΠΈ Π½Π° DartPad, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡˆΠ°Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. Π•ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½ΠΎ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΎΡ€Π°Ρ… Ρ…Π²Π°Ρ‚ΠΈΡ‚ всСм. ΠŸΡ€ΠΈ этом Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с подсвСткой, ассистСнтом ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ошибок компилятора.

Offline

Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ:

β†’ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ инструкция.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ dartanalyzer server, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ практичСски Π²ΠΎ всСх Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Настройка срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ любой ваш Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Dart.

Π”Π°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

Π›ΡŽΠ±ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ stagehand, Ρ‚ΡƒΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ свой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ шаблон ‘Bare-bones Web App’, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, всё написано Π½Π° чистом Dart с использованиСм стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ‘dart:html’ для манипуляции с Π΄ΠΎΠΌ-Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ.

ПослС создания шаблона ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС зависимыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Π­Ρ‚ΠΎ дСлаСтся ΠΎΠ΄Π½ΠΎΠΉ простой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

pub upgrade

ПослС исполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ создано Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°

.packages β€” это Ρ„Π°ΠΉΠ» с ссылками Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

.pubscpec.lock β€” это Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ вСрсиями ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΠ» pub.

Π’ ΠΌΠΈΡ€Π΅ Dart pub выполняСт Ρ€ΠΎΠ»ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°, всС доступныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΡƒΡ‚. Π’Π°ΠΊΠΆΠ΅ pub ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, плюс Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π΄Π²Π΅ возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скоро ΡƒΠ΅Π΄ΡƒΡ‚ ΠΈΠ· pub β€” это сборка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ запуск http-сСрвСра для запуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Ссли ΠΌΡ‹ пишСм ΠΏΠΎΠ΄ Π²Π΅Π±.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ запустим наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

pub serve

Консоль:

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС β€œΡ‚Π΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡβ€ Π² ΠΏΠ°Π±Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡΡ, Π½Π° экранС появится адрСс, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ наш ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Ρ‘Ρ‚Π΅ΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ localhost:8080 pub снова запустит Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя β€” это dart2js. Π­Ρ‚ΠΎ Π·Π°ΠΉΠΌΠ΅Ρ‚ Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° исполняСмого ΠΊΠΎΠ΄Π°. И Ρ‚ΡƒΡ‚ ΠΌΡ‹ подошли ΠΊ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Google ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠ· pub Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ serve, продвигая Π±ΠΎΠ»Π΅Π΅ быстрыС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° основС build_runner ΠΈ Bazel, Π½ΠΎ ΠΎ Π½ΠΈΡ… Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Пока ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ DDC, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ сборку β€œΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉβ€ ΠΈ быстрой.

pub serve --web-compiler=dartdevc

Консоль:

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² консоли Π²Ρ‹Π±ΠΎΡ€ компилятора ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, достаточно Ρ€Π°Π·ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² самый ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° pubspec.yaml строки:

web:
  compiler:
    debug: dartdevc

Π’ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ pub serve Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π²Ρ‹Π±Ρ€Π°Π½ Π½ΡƒΠΆΠ½Ρ‹ΠΉ компилятор.

Если Π²Π°ΠΌ потрСбуСтся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π±Π°Π½Π΄Π» для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π°, Ρ‚ΠΎ достаточно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ

pub build

ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ всё Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для запуска прилоТСния Π² ΠΏΠ°ΠΏΠΊΠ΅ build.

Пока Π½Π° этом остановимся. Π—Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π² коммСнтариях вопросы ΠΈ ΠΏΠΈΡˆΠΈΡ‚Π΅ прСдлоТСния ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ‚Π΅ΠΌ для Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… статСй Π² этой сСрии. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… выпусках

  • ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± АнализаторС ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ.
  • Π—Π°Ρ‚Ρ€ΠΎΠ½Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ lint ΠΏΡ€Π°Π²ΠΈΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ΄ Π±Ρ‹Π» красивый
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΠ°ΠΏΠΊΠ° lib
  • Π‘Π±ΠΎΡ€ΠΊΠ°: свои ΠΏΡ€Π°Π²ΠΈΠ»Π°
  • ВСсты ΠΈ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅
  • Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прСпроцСссоры css (less, scss)
  • Π‘ΠΏΡ€Π°ΠΉΡ‚Ρ‹ SVG, PNG
  • Π˜Π½Ρ‚Π΅Ρ€Π½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ/Локализация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ intl
  • Angular Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
  • ΠšΠΎΠ΄ΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡ
  • Π˜ΠΌΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
  • БСриализация дСсСриализация
  • Backend
  • Π˜Π·ΠΎΠ»ΡΡ‚Ρ‹ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΡ‚ΡŒΡΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°ΠΊΠ΅Ρ‚ isolate
  • Websocket ΠΈ http request, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Client<->Server

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ русскоязычного сообщСства Dart

Об ΠΎΠΏΡ‹Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Dart

Как ΠΌΡ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создали мСдицинский сСрвис Π½Π° Π½ΠΎΠ²ΠΎΠΉ для сСбя Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Команда Evrone спСциализируСтся ΠΊΠ°ΠΊ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ слоТных ΠΈ высоконагруТСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ быстром запускС стартапов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈ этом ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Наши ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ постоянно слСдят Π·Π° измСнСниями Π² тСхнологиях ΠΈ ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Ρ‚Π΅ ΠΈΠ· Π½ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’Π°ΠΊ стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π±Ρ‹Π» ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ языком Dart ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ Flutter, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ создании мСдицинского прилоТСния для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ².

ΠžΡ‚ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° поступила Π·Π°Π΄Π°Ρ‡Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π±ΠΎΠ»Π΅Π΅ качСствСнно ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ€Π°Ρ‡Π°ΠΌΠΈ ΠΈ ΠΈΡ… ΠΏΠ°Ρ†ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ. ИдСю создания этого стартапа ΠΏΡ€ΠΎΠ΄ΠΈΠΊΡ‚ΠΎΠ²Π°Π»Π° Π΅ΠΌΡƒ Тизнь.

Π£ нашСго ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ Π·Π°Π±ΠΎΠ»Π΅Π» ΠΎΡ‚Π΅Ρ†. БСмья Ρ‚ΠΎΠ½ΡƒΠ»Π° Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΌ объСмС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌ Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π²ΠΎ врСмя ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΠΉ, Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Ρ‹ с Π²Ρ€Π°Ρ‡Π°ΠΌΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»ΠΈΡΡŒ Π½Π° Π΄ΠΈΠΊΡ‚ΠΎΡ„ΠΎΠ½. Записи Ρ€Π°ΡΡΡ‹Π»Π°Π»ΠΈΡΡŒ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ Ρ‡Π»Π΅Π½Π°ΠΌ сСмьи для обсуТдСния ΠΈ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для формирования Β«ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡΒ» оказался вСсьма эффСктивным ΠΈ Ρƒ нашСго Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° созрСла идСя ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ всС процСссы.

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди Π² процСссС общСния с Π²Ρ€Π°Ρ‡ΠΎΠΌ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ с Ρ…ΠΎΠ΄Ρƒ ΠΎΡΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ Ρ‚Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠΌ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π»Π΅Ρ‡Π΅Π½ΠΈΡŽ, Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡΠ»Ρ‹ΡˆΠ°Π½Π½ΠΎΠ΅ Π±Π»ΠΈΠ·ΠΊΠΈΠΌ людям, Π½Π΅ Π·Π°ΠΏΡƒΡ‚Π°Π²ΡˆΠΈΡΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ….

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΡ‚Ρ†Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΈ всСм Π΄Ρ€ΡƒΠ³ΠΈΠΌ людям Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ситуации, ΠΈ Π±Ρ‹Π» создан Medcorder.

Π’Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

Нам прСдстояло ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ прилоТСния, Π΅Π³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ MVP.

Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стСк Google (Google Cloud, Google Firebase, Google Storage, Google Speech Recognition) ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ кроссплатформСнный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” Google Flutter.

Знакомство с Flutter

Flutter β€” это достаточно ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ SDK ΠΎΡ‚ Google с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ для создания ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ IOS ΠΈ Android. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ язык Dart, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ компилируСтся Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈ Π·Π° счСт этого прилоТСния ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π”ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Medcorder Ρƒ нас Π±Ρ‹Π» большой ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° React Native, поэтому идСю ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ ΠΌΡ‹ посчитали ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ. Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ Π±Ρ‹Π»Π° Π²Π°ΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΊ измСнСниям, поэтому Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ.

К ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ старта ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Flutter находился Π² стадии Pre-alpha, Ρ‡Ρ‚ΠΎ нСсло Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ слоТности ΠΈ риски, Π½ΠΎ ΠΌΡ‹ Π·Π°Π³ΠΎΡ€Π΅Π»ΠΈΡΡŒ Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΈ ΠΈΠ΄Π΅Π΅ΠΉ, согласились Π½Π° Π²Ρ‹Π·ΠΎΠ² ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Flutter ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ рос ΠΈ мСнялся. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΡƒΠ½Π³Β­-Ρ„Ρƒ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ инструмСнтарий Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Google сразу поставили Ρ†Π΅Π»ΡŒ максимально ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π°Π΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ рСсурсами для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ знакомство с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π² соотвСтствии со своСй спСциализациСй.

  • Flutter for Android developers
  • Flutter for iOS developers
  • Flutter for React Native developers
  • Flutter for Xamarin.Forms developers
  • Flutter for Web developers

Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ провСсти Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ, Π½Π° ΠΆΠΈΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Π»Π°Π΄.

Π—Π° врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Flutter ΠΏΡ€ΠΎΡˆΠ΅Π» ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ Pre-alpha Π΄ΠΎ Release Candidate, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅Π» Π² Π½Π°Ρ‡Π°Π»Π΅ дСкабря 2018 Π³ΠΎΠ΄Π°. АпгрСйд Π½Π° Π½ΠΎΠ²Ρ‹Π΅ вСрсии инструмСнтария ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» достаточно слоТно. И здСсь Π½Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ пригодился ΠΎΠΏΡ‹Ρ‚ создания Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависимости ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ понимая Ρ€Π°Π±ΠΎΡ‚Ρƒ Gradle для Android ΠΈ CocoaPods для IOS.

БообщСство ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

Из-Β­Π·Π° молодости SDK Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ. Π‘ΠΏΠ΅Ρ€Π²Π° ΠΌΡ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ сами, Π½ΠΎ ситуация с сообщСством мСнялась Π² Π»ΡƒΡ‡ΡˆΡƒΡŽ сторону прямо Π½Π° Π³Π»Π°Π·Π°Ρ….

БообщСство росло, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ появлялись Π½Π° Stack Overflow, ΠΈΠ»ΠΈ

Dart – Π―Π·Ρ‹ΠΊ программирования, созданный Google / Π₯Π°Π±Ρ€

ОглавлСниС

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

2. Backend

2.1. Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°.

2.2. Π”ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя. SSL.

2.3. Π‘Π΅Ρ€Π²Π΅Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Dart.

…

3. Web

3.1. Π—Π°Π³Π»ΡƒΡˆΠΊΠ° Β«Under constructionΒ»

…

4. Mobile

…

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

МСня, Flutter-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ часто ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚: Β«Π§Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ язык Dart?Β». ΠšΠ°Ρ‡Π°ΡŽΡ‚ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ со словами: «А Π²ΠΎΡ‚ ΠŸΠ΅Ρ‚Ρ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅ транспорты Π½Π° Java ΠΏΠΈΡˆΠ΅Ρ‚, Π° Π² ЯндСксС Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠ»ΡŽΡΡ‹ Π² ΠΏΡ€ΠΎΠ΄Π΅…Β». Ну Ρ‡Ρ‚ΠΎ ΠΆ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Dart Π΄Π°Π»Ρ‘ΠΊ ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ Β«Ρ„Π°Π±Ρ€ΠΈΠΊ для создания Ρ„Π°Π±Ρ€ΠΈΠΊΒ» ΠΈΠ· Java. Однако Ссли стоит Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ клиСнтскиС прилоТСния сразу для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π½Π΅ ΡƒΡ‚ΠΎΠ½ΡƒΠ² Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ синхронизации Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… ОБ; ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ цСлостный UI, ΡƒΠ·Π½Π°Π²Π°Π΅ΠΌΡ‹ΠΉ, Π½ΠΎ спСцифичный для Android, iOS ΠΈ Π²Π΅Π± ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ ΡƒΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π² Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹Π΅ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ ΠΈ сроки, β€” здСсь Flutter Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ². И эти вопросы стоят Π²Π΄Π²ΠΎΠΉΠ½Π΅ Ссли Ρƒ вас… стартап.

Π˜Ρ‚Π°ΠΊ, Π»Π΅Π³Π΅Π½Π΄Π°: Π½Π΅ΠΊΠΈΠΉ стартап Ρ€Π΅ΡˆΠΈΠ» ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ сСрвис… Π½Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для

ΠΎΠ±ΠΌΠ΅Π½Π° списками ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ

Вакая сСбС идСя для стартапа, я знаю, Π½ΠΎ Ссли я Π²Ρ‹ΠΏΡƒΡ‰Ρƒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ToDo лист Π² этот ΠΌΠΈΡ€, ΠΌΠ½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ стыдно πŸ™‚

ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ сСрвиса. ЦСль стартапа β€” Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ MVP Π·Π° Ρ‚Ρ€ΠΈ мСсяца Π½Π° Ρ‚Ρ€Π΅Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… (плюс чСтвСртая β€” сСрвСр, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ).

10 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ я Π±Ρ‹ сказал, Ρ‡Ρ‚ΠΎ этот кСйс Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ постарался Π±Ρ‹ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π³ΠΎ подальшС, 3 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³ ΡΡ‚Π°Ρ‚ΡŒ стСк ReactNative/React/NodeJs, Π² 2020 Π³ΠΎΠ΄Ρƒ для этого Π΅ΡΡ‚ΡŒ Dart. Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² атмосфСру Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π»ΡŒΡ„Π° вСрсии сСрвиса, я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ наглядно ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ вСсь процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Код всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π»ΠΎΠΆΠ΅Π½ Π² ΠΏΠ°Π±Π»ΠΈΠΊ. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ набросы ΠΈ Ρ…ΠΎΠ»ΠΈΠ²Π°Ρ€Ρ‹, ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ. Π‘ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Π° Β«ΠΏΠΎ сущСству» ΠΈΠ»ΠΈ просто ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π² Telegram ΠΊΠ°Π½Π°Π»Π΅ нашСго ΠΎΡ‚Π΄Π΅Π»Π°.

язык программирования Dart | Π”Ρ€ΠΎΡ‚ΠΈΠΊ

  • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹
  • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
  • БообщСство
  • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π”Π°Ρ€Ρ‚
  • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ
  • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
  • БообщСство
  • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π”Π°Ρ€Ρ‚
  • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ
  • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹
  • ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹ ΠΈ руководства

    • ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹ языков
    • Codelabs

      • Бписок ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΉ Dart
      • Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ языку
      • Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
      • АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ
  • Π―Π·Ρ‹ΠΊ

    • Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ

      • ΠžΠ±Π·ΠΎΡ€
      • Π‘Ρ‚ΠΈΠ»ΡŒ
      • ДокумСнтация
      • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
      • Π΄ΠΈΠ·Π°ΠΉΠ½
    • ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
    • Звуковая нулСвая Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

      • ΠžΠ±Π·ΠΎΡ€
      • ПониманиС Π½ΡƒΠ»Π΅Π²ΠΎΠΉ бСзопасности
    • Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ
    • БпСцификация
    • Π’ΡƒΡ€
    • БистСма Ρ‚ΠΈΠΏΠΎΠ²
  • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

    • ΠžΠ±Π·ΠΎΡ€
    • Π’ΡƒΡ€
    • Π‘Ρ‚Π°Ρ‚ΡŒΠΈ

      • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΠΎΡ‚ΠΈΠΊ: io
      • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²
  • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹

    • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
    • Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
    • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
    • ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
    • Бсылка Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚

      • Зависимости
      • Глоссарий
      • БоглашСния ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
      • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды ΠΏΠ°Π±Π°
      • Pubspec Ρ„Π°ΠΉΠ»
      • УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Π² ΠΏΠ°Π±Π΅
      • ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ
      • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями
  • Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

    • Futures, async, await
    • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

      • C взаимодСйствиС
      • ВзаимодСйствиС с JavaScript
    • JSON
    • ΠŸΠΎΡ‚ΠΎΠΊΠΈ
    • ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния
    • Командная строка ΠΈ сСрвСрныС прилоТСния

      • ΠžΠ±Π·ΠΎΡ€
      • ΠΠ°Ρ‡Π°Ρ‚ΡŒ
      • НаписаниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки
      • ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ сСрвСры
      • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
    • Π’Π΅Π±-прилоТСния

      • ΠžΠ±Π·ΠΎΡ€
      • ΠΠ°Ρ‡Π°Ρ‚ΡŒ
      • ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ динамичСски
      • НизкоуровнСвоС Π²Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

        • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Dart ΠΈ HTML
        • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² DOM
        • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты DOM
      • Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅
      • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

    • ΠžΠ±Π·ΠΎΡ€
    • Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ

      • IntelliJ ΠΈ Android Studio
      • Код VS
      • Dart DevΠ˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹
      • DartPad
    • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

      • Dart SDK

        • ΠžΠ±Π·ΠΎΡ€
        • Π΄Ρ€ΠΎΡ‚ΠΈΠΊ (Π½ΠΎΠ²Ρ‹ΠΉ инструмСнт Π΄Ρ€ΠΎΡ‚ΠΈΠΊ)
        • dart2js (ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ JS)
        • dart2native
        • Π΄Π°Ρ€Ρ‚Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€
        • dartaotruntime
        • dartdevc (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ JS)
        • Π΄Π°Ρ€Ρ‚Π΄ΠΎΠΊ
        • dartfmt
        • ΠΏΠ°Π±
      • Π”Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

        • build_runner
        • Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ исходным ΠΊΠΎΠ΄ΠΎΠΌ

      • Код форматирования
      • Π§Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ
    • БтатичСский Π°Π½Π°Π»ΠΈΠ·

      • Настройка статичСского Π°Π½Π°Π»ΠΈΠ·Π°
      • УстранСниС Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ
    • ВСстированиС ΠΈ оптимизация

      .ДокумСнтация ΠΏΠΎ

      Dart | Π”Ρ€ΠΎΡ‚ΠΈΠΊ

      • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹
      • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
      • БообщСство
      • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π”Π°Ρ€Ρ‚
      • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ
      • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
      • БообщСство
      • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π”Π°Ρ€Ρ‚
      • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ
      • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹
      • ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹ ΠΈ руководства

        • ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹ языков
        • Codelabs

          • Бписок ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΉ Dart
          • Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ языку
          • Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
          • АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
        • Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ
      • Π―Π·Ρ‹ΠΊ

        • Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ

          • ΠžΠ±Π·ΠΎΡ€
          • Π‘Ρ‚ΠΈΠ»ΡŒ
          • ДокумСнтация
          • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
          • Π΄ΠΈΠ·Π°ΠΉΠ½
        • ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
        • Звуковая нулСвая Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

          • ΠžΠ±Π·ΠΎΡ€
          • ПониманиС Π½ΡƒΠ»Π΅Π²ΠΎΠΉ бСзопасности
        • Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ
        • БпСцификация
        • Π’ΡƒΡ€
        • БистСма Ρ‚ΠΈΠΏΠΎΠ²
      • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

        • ΠžΠ±Π·ΠΎΡ€
        • Π’ΡƒΡ€
        • Π‘Ρ‚Π°Ρ‚ΡŒΠΈ

          • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΠΎΡ‚ΠΈΠΊ: io
          • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²
      • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹

        • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
        • ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
        • Бсылка Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚

          • Зависимости
          • Глоссарий
          • БоглашСния ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
          • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды ΠΏΠ°Π±Π°
          • Pubspec Ρ„Π°ΠΉΠ»
          • УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Π² ΠΏΠ°Π±Π΅
          • ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ
          • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями
      • Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

        • Futures, async, await
        • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

          • C взаимодСйствиС
          • ВзаимодСйствиС с JavaScript
        • JSON
        • ΠŸΠΎΡ‚ΠΎΠΊΠΈ
        • ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния
        • Командная строка ΠΈ сСрвСрныС прилоТСния

          • ΠžΠ±Π·ΠΎΡ€
          • ΠΠ°Ρ‡Π°Ρ‚ΡŒ
          • НаписаниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки
          • ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ сСрвСры
          • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Π’Π΅Π±-прилоТСния

          • ΠžΠ±Π·ΠΎΡ€
          • ΠΠ°Ρ‡Π°Ρ‚ΡŒ
          • ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ динамичСски
          • НизкоуровнСвоС Π²Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

            • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Dart ΠΈ HTML
            • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² DOM
            • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты DOM
          • Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅
          • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
      • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

        • ΠžΠ±Π·ΠΎΡ€
        • Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ

          • IntelliJ ΠΈ Android Studio
          • Код VS
          • Dart DevΠ˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹
          • DartPad
        • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

          • Dart SDK

            • ΠžΠ±Π·ΠΎΡ€
            • Π΄Ρ€ΠΎΡ‚ΠΈΠΊ (Π½ΠΎΠ²Ρ‹ΠΉ инструмСнт Π΄Ρ€ΠΎΡ‚ΠΈΠΊ)
            • dart2js (ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ JS)
            • dart2native
            • Π΄Π°Ρ€Ρ‚Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€
            • dartaotruntime
            • dartdevc (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ JS)
            • Π΄Π°Ρ€Ρ‚Π΄ΠΎΠΊ
            • dartfmt
            • ΠΏΠ°Π±
          • Π”Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

            • build_runner
            • Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
        • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ исходным ΠΊΠΎΠ΄ΠΎΠΌ

          • Код форматирования
          • Π§Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ
        • БтатичСский Π°Π½Π°Π»ΠΈΠ·

          • Настройка статичСского Π°Π½Π°Π»ΠΈΠ·Π°
          • УстранСниС Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ
        • ВСстированиС ΠΈ оптимизация

      .

      Π―Π·Ρ‹ΠΊΠΎΠ²ΠΎΠΉ Ρ‚ΡƒΡ€ | Π”Ρ€ΠΎΡ‚ΠΈΠΊ

      • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹
      • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
      • БообщСство
      • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π”Π°Ρ€Ρ‚
      • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ
      • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
      • БообщСство
      • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π”Π°Ρ€Ρ‚
      • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ
      • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹
      • ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹ ΠΈ руководства

        • ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹ языков
        • Codelabs

          • Бписок ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΉ Dart
          • Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ языку
          • Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
          • АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
        • Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ
      • Π―Π·Ρ‹ΠΊ

        • Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ

          • ΠžΠ±Π·ΠΎΡ€
          • Π‘Ρ‚ΠΈΠ»ΡŒ
          • ДокумСнтация
          • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
          • Π΄ΠΈΠ·Π°ΠΉΠ½
        • ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
        • Звуковая нулСвая Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

          • ΠžΠ±Π·ΠΎΡ€
          • ПониманиС Π½ΡƒΠ»Π΅Π²ΠΎΠΉ бСзопасности
        • Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ
        • БпСцификация
        • Π’ΡƒΡ€
        • БистСма Ρ‚ΠΈΠΏΠΎΠ²
      • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

        • ΠžΠ±Π·ΠΎΡ€
        • Π’ΡƒΡ€
        • Π‘Ρ‚Π°Ρ‚ΡŒΠΈ

          • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΠΎΡ‚ΠΈΠΊ: io
          • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²
      • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹

        • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
        • ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
        • Бсылка Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚

          • Зависимости
          • Глоссарий
          • БоглашСния ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
          • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды ΠΏΠ°Π±Π°
          • Pubspec Ρ„Π°ΠΉΠ»
          • УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Π² ΠΏΠ°Π±Π΅
          • ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ
          • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями
      • Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

        • Futures, async, await
        • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

          • C взаимодСйствиС
          • ВзаимодСйствиС с JavaScript
        • JSON
        • ΠŸΠΎΡ‚ΠΎΠΊΠΈ
        • ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния
        • Командная строка ΠΈ сСрвСрныС прилоТСния

          • ΠžΠ±Π·ΠΎΡ€
          • ΠΠ°Ρ‡Π°Ρ‚ΡŒ
          • НаписаниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки
          • ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ сСрвСры
          • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Π’Π΅Π±-прилоТСния

          • ΠžΠ±Π·ΠΎΡ€
          • ΠΠ°Ρ‡Π°Ρ‚ΡŒ
          • ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ динамичСски
          • НизкоуровнСвоС Π²Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

            • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Dart ΠΈ HTML
            • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² DOM
            • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты DOM
          • Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅
          • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
      • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

        • ΠžΠ±Π·ΠΎΡ€
        • Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ

          • IntelliJ ΠΈ Android Studio
          • Код VS
          • Dart DevΠ˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹
          • DartPad
        • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

          • Dart SDK

            • ΠžΠ±Π·ΠΎΡ€
            • Π΄Ρ€ΠΎΡ‚ΠΈΠΊ (Π½ΠΎΠ²Ρ‹ΠΉ инструмСнт Π΄Ρ€ΠΎΡ‚ΠΈΠΊ)
            • dart2js (ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ JS)
            • dart2native
            • Π΄Π°Ρ€Ρ‚Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€
            • dartaotruntime
            • dartdevc (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ JS)
            • Π΄Π°Ρ€Ρ‚Π΄ΠΎΠΊ
            • dartfmt
            • ΠΏΠ°Π±
          • Π”Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

            • build_runner
            • Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
        • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ исходным ΠΊΠΎΠ΄ΠΎΠΌ

          • Код форматирования
          • Π§Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ
        • БтатичСский Π°Π½Π°Π»ΠΈΠ·

          • Настройка статичСского Π°Π½Π°Π»ΠΈΠ·Π°
          • УстранСниС Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ
        • ВСстированиС ΠΈ оптимизация

      .

      ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… пособий | Π”Ρ€ΠΎΡ‚ΠΈΠΊ

      • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹
      • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
      • БообщСство
      • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π”Π°Ρ€Ρ‚
      • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ
      • ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
      • БообщСство
      • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π”Π°Ρ€Ρ‚
      • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ
      • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹
      • ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹ ΠΈ руководства

        • ΠžΠ±Ρ€Π°Π·Ρ†Ρ‹ языков
        • Codelabs

          • Бписок ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΉ Dart
          • Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ языку
          • Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
          • АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
        • Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ
      • Π―Π·Ρ‹ΠΊ

        • Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄Ρ€ΠΎΡ‚ΠΈΠΊ

          • ΠžΠ±Π·ΠΎΡ€
          • Π‘Ρ‚ΠΈΠ»ΡŒ
          • ДокумСнтация
          • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
          • Π΄ΠΈΠ·Π°ΠΉΠ½
        • ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
        • Звуковая нулСвая Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

          • ΠžΠ±Π·ΠΎΡ€
          • ПониманиС Π½ΡƒΠ»Π΅Π²ΠΎΠΉ бСзопасности
        • Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ
        • БпСцификация
        • Π’ΡƒΡ€
        • БистСма Ρ‚ΠΈΠΏΠΎΠ²
      • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

        • ΠžΠ±Π·ΠΎΡ€
        • Π’ΡƒΡ€
        • Π‘Ρ‚Π°Ρ‚ΡŒΠΈ

          • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΠΎΡ‚ΠΈΠΊ: io
          • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²
      • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹

        • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
        • ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
        • Бсылка Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚

          • Зависимости
          • Глоссарий
          • БоглашСния ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
          • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды ΠΏΠ°Π±Π°
          • Pubspec Ρ„Π°ΠΉΠ»
          • УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Π² ΠΏΠ°Π±Π΅
          • ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ
          • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями
      • Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

        • Futures, async, await
        • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

          • C взаимодСйствиС
          • ВзаимодСйствиС с JavaScript
        • JSON
        • ΠŸΠΎΡ‚ΠΎΠΊΠΈ
        • ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния
        • Командная строка ΠΈ сСрвСрныС прилоТСния

          • ΠžΠ±Π·ΠΎΡ€
          • ΠΠ°Ρ‡Π°Ρ‚ΡŒ
          • НаписаниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки
          • ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ сСрвСры
          • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
        • Π’Π΅Π±-прилоТСния

          • ΠžΠ±Π·ΠΎΡ€
          • ΠΠ°Ρ‡Π°Ρ‚ΡŒ
          • ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ динамичСски
          • НизкоуровнСвоС Π²Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

            • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Dart ΠΈ HTML
            • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнты Π² DOM
            • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты DOM
          • Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅
          • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹
      • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

        • ΠžΠ±Π·ΠΎΡ€
        • Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ

          • IntelliJ ΠΈ Android Studio
          • Код VS
          • Dart DevΠ˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹
          • DartPad
        • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

          • Dart SDK

            • ΠžΠ±Π·ΠΎΡ€
            • Π΄Ρ€ΠΎΡ‚ΠΈΠΊ (Π½ΠΎΠ²Ρ‹ΠΉ инструмСнт Π΄Ρ€ΠΎΡ‚ΠΈΠΊ)
            • dart2js (ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ JS)
            • dart2native
            • Π΄Π°Ρ€Ρ‚Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€
            • dartaotruntime
            • dartdevc (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ JS)
            • Π΄Π°Ρ€Ρ‚Π΄ΠΎΠΊ
            • dartfmt
            • ΠΏΠ°Π±
          • Π”Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

            • build_runner
            • Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
        • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ исходным ΠΊΠΎΠ΄ΠΎΠΌ

          • Код форматирования
          • Π§Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ
        • БтатичСский Π°Π½Π°Π»ΠΈΠ·

          • Настройка статичСского Π°Π½Π°Π»ΠΈΠ·Π°
          • УстранСниС Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ
        • ВСстированиС ΠΈ оптимизация

          • ВСстированиС

      .

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *