πŸ“± Flutter, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ смог: ΠΏΡ€ΠΎΠ²Π°Π» кроссплатформСнного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠŸΠ΅Ρ‡Π°Π»ΡŒΠ½Π°Ρ история ΠΎ ΠΏΡ€ΠΎΠ²Π°Π»Π΅ ΠΌΠΎΠ΄Π½ΠΎΠ³ΠΎ инструмСнта кроссплатформСнной мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ суровыС ΡƒΡ€ΠΎΠΊΠΈ, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ прилоТСния iOS Π½Π° Flutter.

Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ я погрузился Π² ΠΌΠΈΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠΊΠΎΠ»ΠΎ дСсяти Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Π― Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΊΡƒΠΏΠΈΠ» свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ iPhone (3GS), ΠΈ ΠΌΠ½Π΅ Π±Ρ‹Π»ΠΎ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ для этого чудСсного малСнького устройства (ΡΡ‚Π°Ρ‚ΡŒΡ Π“Π΅ΠΎΡ€Π³Π° Ρ„ΠΎΠ½ Π΄Π΅Ρ€ Π₯ΠΎΠ²Π΅Π½Π° публикуСтся Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ – ΠΏΡ€ΠΈΠΌ. Ρ€Π΅Π΄.).

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я Π·Π°Π΄ΡƒΠΌΠ°Π» – своСго Ρ€ΠΎΠ΄Π° элСктронная ΠΊΠ½ΠΈΠ³Π° Π½Π° стСроидах. Около 50 Π³Π»Π°Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π² Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½Ρ‹Ρ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ…. Π’ΠΎ Π΅ΡΡ‚ΡŒ основной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π±Ρ‹Π»ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстрого ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² стрСссовой ситуации.

Π‘Π½Π°Ρ‡Π°Π»Π° я написал стандартноС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ jQTouch ΠΈ Π·Π°Π²Π΅Ρ€Π½ΡƒΠ» Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ PhoneGap для iOS. ПослС запуска ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΏΠΎΠΏΠ°Π» Π² список Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Apple Π² мСдицинской ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅.

Бпустя нСсколько Π»Π΅Ρ‚ я пСрСписал Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Swift, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π΅ΡˆΠΈΠ» Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ ΠΎΡ…Π²Π°Ρ‚ ΠΈ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Flutter. БСйчас я расскаТу, Ρ‡Ρ‚ΠΎ ΠΈΠ· этого ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

Flutter: Бвятой Π“Ρ€Π°Π°Π»ΡŒ для кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?

Когда я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ принял Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Android-Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, встал Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ вопрос – ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΠŸΠΈΡΠ°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ? Ionic c React'ΠΎΠΌ ΠΈΠ»ΠΈ Vue? Или, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄Π½Ρ‹ΠΉ Flutter Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сСйчас ΠΌΠ½ΠΎΠ³ΠΎ Ρ…Π°ΠΉΠΏΠ°?

ПослС нСбольшого исслСдования Ρƒ мСня слоТилось Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ Flutter ΡƒΠΆΠ΅ достаточно созрСл, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π›ΡŽΠ΄ΠΈ, каТСтся, Π±Ρ‹Π»ΠΈ ΠΈΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹, поэтому я Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ.

ΠŸΠΎΡ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ сначала всС шло ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π― Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π» ΠΎ Dart ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… проСктирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Flutter (ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΈΠ· iOS Swift ΠΈ XCode Interface Designer), Π½ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Π·Π° ΠΎΠ΄Π½Ρƒ нСдСлю смог Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Android ΠΈ iOS.

Когда Π΄Π΅Π»ΠΎ дошло Π΄ΠΎ тСстирования, я столкнулся с ΠΎΡ‡Π΅Π½ΡŒ странным ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ. Π’ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π³Π»Π°Π²Ρ‹ элСктронной ΠΊΠ½ΠΈΠ³ΠΈ отобраТаСтся спиннСр. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, я замСняю спиннСр Π½Π° WebView. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ просто, ΠΈ Π² 99% случаСв всС Π±Ρ‹Π»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. Но ΠΈΠ½ΠΎΠ³Π΄Π° всС зависало Π½Π° спиннСрС. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, это Π½Π΅ Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ прилоТСния для Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½Ρ‹Ρ… ситуаций.

Около дня ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ… ΠΌΠ½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Flutter HTTPServer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΡ€Π°ΡˆΠΈΠ»ΡΡ Π½Π° iOS, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅Π½Π°Π΄ΠΎΠ»Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° Π·Π°Ρ‚Π΅ΠΌ возвращался ΠΊ ΠΊΠ½ΠΈΠ³Π΅. Π― ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ Π±Π°Π³Π΅, Π½ΠΎ Π² блиТайшСС врСмя исправлСний Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

Π’Π°ΠΊ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π±Ρ‹Π»ΠΎ нСльзя, поэтому я Π½Π°Ρ‡Π°Π» ΠΈΡΠΊΠ°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹. Π― Ρ€Π΅ΡˆΠΈΠ» ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ запросов Ρ‡Π΅Ρ€Π΅Π· HTTPServer, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ HTML прямо Π² WebView ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» file://.

ПослС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… тСстов ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ казалось Π²ΠΏΠΎΠ»Π½Π΅ ТизнСспособным. Π”ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылки Π² ΠΊΠ½ΠΈΠ³Π΅ Π½Π΅ стали Π»ΠΎΠΌΠ°Ρ‚ΡŒΡΡ Π½Π° физичСском устройствС iOS. ΠŸΡ€ΠΈ этом Π½Π° Android ΠΈ Π² эмуляторС iOS всС Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, я нашСл Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π±Π°Π³ – Π² этот Ρ€Π°Π· Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Flutter WebView. Π― ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» ΠΎΡ‚Ρ‡Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ быстро Π±Ρ‹Π» ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½. Однако ΠΎΠ±Π΅ ошибки всС Π΅Ρ‰Π΅ Π½Π΅ исправлСны (ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° Ρ„Π΅Π²Ρ€Π°Π»ΡŒ 2021 Π³ΠΎΠ΄Π°).

К этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ я ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» Π½Π° поиск ΠΈ описаниС ошибок ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, сколько Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Dart ΠΈ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ прилоТСния Π² Ρ†Π΅Π»ΠΎΠΌ.

Ад зависимостСй

ΠœΠΎΠ΄ΡƒΠ»ΠΈ HTTPServer ΠΈ WebView – это Π΄Π²Π΅ самыС Π²Π°ΠΆΠ½Ρ‹Π΅ зависимости ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π‘Π΅Π· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ просто Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ПослС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с iOS ΠΈ CocoaPods я ΡΠΌΠΎΡ‚Ρ€ΡŽ Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° тСхничСский Π΄ΠΎΠ»Π³. Когда Π²Ρ‹ заимствуСтС Ρ‡Π΅ΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π° Π½Π΅Π³ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ придСтся Π·Π°ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π° это.

Π― полагаю, Ρ‡Ρ‚ΠΎ WebView ΠΈ HTTPServer – ΠΎΠ΄Π½ΠΈ ΠΈΠ· основных частСй стСка Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Flutter, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ нСпосрСдствСнно ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Flutter, Π° Π½Π΅ сторонними программистами. (И я избавлю вас ΠΎΡ‚ уТасных подробностСй ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ я экспСримСнтировал со сторонним WebView для Flutter).

Π― Π±Ρ‹Π» ΠΊΡ€Π°ΠΉΠ½Π΅ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½, Ρ‡Ρ‚ΠΎ эти ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Ρ‚Π°ΠΊ ΠΌΠ°Π»ΠΎ любви ΠΈ внимания ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Flutter. ВСроятно, Π½Ρ‹Π½Π΅ΡˆΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Google нСдостаточно Π²Π΅Π»ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (8200+ Π½Π΅Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ишьюс Π½Π° Github), Π»ΠΈΠ±ΠΎ ΠΈΡ… ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ большС Π΅Π³ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚.

Учитывая эти сообраТСния, Π΄Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° зависимости ΠΌΠΎΠ΅Π³ΠΎ прилоТСния Flutter ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Swift.

НативноС iOS ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Swift)

  • AEXML – для Π°Π½Π°Π»ΠΈΠ·Π° XHTML-Ρ„Π°ΠΉΠ»ΠΎΠ². БобствСнный iOS SDK Π½Π΅ прСдоставляСт DOM-парсСр.
  • FontAwesome.swift – позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΠΈ FontAwesome.

ВСрсия Π½Π° Flutter

  • cupertino_icons
  • HTTP
  • provider
  • shared_preferences
  • font_awesome_flutter
  • xml2json
  • path
  • path_provider
  • mime
  • flutter_web_browser
  • webview_flutter
  • url_launcher
  • geolocator
  • geocoding
  • map_launcher
  • wakelock
  • device_info
  • package_info
  • scrollable_positioned_list
  • in_app_review
  • share

НичСго сСбС! Для Ρ‡Π΅Π³ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²?

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ – это Π½Π΅ просто элСктронная ΠΊΠ½ΠΈΠ³Π°, я Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² Π½Π΅Π³ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ ΠΈ сСрвисы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • ΠΎΠ½Π»Π°ΠΉΠ½-поиск с использованиСм стороннСго API;
  • ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ мСстополоТСнии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с использованиСм Π³Π΅ΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ гСокодирования для ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΌ слуТбам;
  • быстрый Π½Π°Π±ΠΎΡ€ экстрСнных Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ².

Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΠΈΡ‡ΠΈ трСбуСтся взаимодСйствиС с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ SDK ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Π³Π΅ΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ, Π³Π΅ΠΎΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ трСбуСтся ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΡƒΡ…ΠΎΠ΄ Π² спящий Ρ€Π΅ΠΆΠΈΠΌ, Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡ†Π΅Π½ΠΊΡƒ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρƒ, Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ всС ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹Π΅ прилоТСния.

И iOS, ΠΈ Android ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ для Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ…. А Π² случаС Flutter ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚Ρ€Π΅Ρ… языках: Dart, Swift/Objective-C ΠΈ Java/Kotlin.

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

ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ добавляСт слоТности

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ свСсти тСхничСский Π΄ΠΎΠ»Π³ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ, придСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 100% ΠΊΠΎΠ΄Π° вашСго прилоТСния ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ SDK для доступа ΠΊ возмоТностям устройства. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ это практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ добавляСтС ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ тСхничСскому Π΄ΠΎΠ»Π³Ρƒ.

Когда я Π½Π°Ρ‡Π°Π» Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своС Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS, Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ памяти. ΠžΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½Π° взялась? Π Π°Π·ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΡΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ фантастичСских Ρ†ΠΈΠΊΠ»ΠΎΠ² сохранСния, я Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ° – ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ XML-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с Π΅Π΅ бСсконСчной рСкурсиСй.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΌΠΎΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π±Ρ‹Π»ΠΎ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро Π½Π°ΠΉΡ‚ΠΈ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΠΎΡ„ΠΈΠΊΡΠΈΡ‚ΡŒ Π΅Π΅ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ рСпозитория. Но я смог это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π±Ρ‹Π»Π° написана Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ языкС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ – Π½Π° языкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ…ΠΎΡ€ΠΎΡˆΠΎ знаю.

Если сторонняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° написала Π½Π° Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌ Π²Π°ΠΌ языкС, Π²Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΆΠΈΡ‚ΡŒ с этим Π΄ΠΎΠ»Π³ΠΎΠΌ. Но ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ добавляСт Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ слоТности ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ сбоя.

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Flutter ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ Π±Π°Π³ Π² ΠΊΠΎΠ΄Π΅ Dart, ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ΄Π΅ Swift/Objective-C, ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ΄Π΅ Java/Kotlin. А Ρ‚ΠΎ ΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… частях сразу. Π•Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ любоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Flutter, Dart, iOS ΠΈΠ»ΠΈ Android – Π° вмСстС с Π½ΠΈΠΌ сломаСтся ΠΈ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Если Π²Ρ‹ Π½Π΅ Π²Π»Π°Π΄Π΅Π΅Ρ‚ всСми трСмя языками ΠΈ всСми ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, Ρ‚ΠΎ, вСроятно, Π½Π΅ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Π’ΠΎ врСмя написания этой ΡΡ‚Π°Ρ‚ΡŒΠΈ я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» сообщСниС ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° iPhone 6 с iOS 12.4. Он сообщил, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΈΠ³Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° этом устройствС. Но Π² ΠΌΠΎΠ΅ΠΌ эмуляторС с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ ОБ ΠΈ оборудования всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ – ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΌΠ½Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±Π°Π³, Ссли Ρƒ мСня Π½Π΅Ρ‚ старого iPhone 6?

Π”Π°ΠΆΠ΅ Ссли ΠΌΠ½Π΅ удастся Π½Π°ΠΉΡ‚ΠΈ Π±Π°Π³ Π² iOS-части ΠΏΠ»Π°Π³ΠΈΠ½Π° Flutter WebView, я Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡΡŒ Π² Objective-C ΠΈ Π½Π΅ Ρ…ΠΎΡ‡Ρƒ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° бСсплодныС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. По ΠΌΠΎΠ΅ΠΌΡƒ мнСнию это Π΄ΠΎΠ»ΠΆΠ½ΠΎ просто Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли ΠΎΠ½ΠΎ Π½Π΅ находится Π² состоянии Π°Π»ΡŒΡ„Π°- ΠΈΠ»ΠΈ Π±Π΅Ρ‚Π°-тСстирования.

На ΠΊΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ?

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ привносит Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Flutter, Π½Π΅ Π±Ρ‹Π»Π° Π±Ρ‹ ΡΡ‚ΠΎΠ»ΡŒ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΠΎΠΉ ΠΈ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ, Ссли Π±Ρ‹ Π·Π° Π½ΠΈΠΌ стояла сильная организация, которая чувствуСт ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° обСспСчСниС ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ взаимодСйствия Dart с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ функциями SDK.

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ этой Π²Π°ΠΆΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΈΠ· основного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Flutter ΠΈ оставлСния Π½Π° усмотрСниС Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»ΡŒΡ†Π΅Π² ΠΈΠ· сообщСства. Π˜Ρ… мотивация ΠΈ качСство Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ сильно Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚Π΅ΡΡŒ, забросят Π΅Π³ΠΎ, Π²Π°ΠΌ придСтся Π·Π°ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ свой Π΄ΠΎΠ»Π³.

ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ Flutter, – это Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Dart ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° iOS ΠΈ Android. И Π²Ρ‹ Π²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, сэкономив врСмя ΠΈ дСньги ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ.

ВСорСтичСски Flutter ΠΌΠΎΠΆΠ΅Ρ‚ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ лишь тСорСтичСски. Π•Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ заявлСнныС обСщания всС Π΅Ρ‰Π΅ оставляСт ΠΆΠ΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ, особСнно Π½Π° iOS. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ это связано с ΡƒΠΊΠ»ΠΎΠ½ΠΎΠΌ Π² сторону Android ΠΈΠ»ΠΈ создатСлям ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° просто Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π°, Π½ΠΎ ΠΊΠ°ΠΊ кросс-платформСнная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Flutter ΠΏΠΎΠΊΠ° проваливаСтся. Если кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ функциями Π½Π° всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΎΠ½ΠΎ тСряСт свои прСимущСства ΠΈ Π»ΠΎΡΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Google смоТСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Flutter Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ, ΠΊΠ°ΠΊ нативная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Если ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ стрСмятся ΠΊ этому, Ρ‚ΠΎ придСтся Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ большС усилий ΠΈ Π΄Π΅Π½Π΅Π³ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½Π΅ просто Π½Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ, ΠΈ ΠΌΠΎΠΈΠΌΠΈ основными зависимостями оказались СдинствСнныС Π΄Π²Π° нСисправных ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ· экосистСмы Flutter. Читая ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ишьюс Π½Π° GitHub, я ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π² этом сомнСваюсь. Глядя Π½Π° Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ с Flutter тСхничСский Π΄ΠΎΠ»Π³, я ТСлаю ΡƒΠ΄Π°Ρ‡ΠΈ своим ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π·Π°ΠΏΡ€Ρ‹Π³Π½ΡƒΠ»ΠΈ Π² этот ΠΏΠΎΠ΅Π·Π΄.

***

МнС сСйчас интСрСсно, смоТСт Π»ΠΈ Ionic ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΌΠΎΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Π»ΡƒΡ‡ΡˆΠ΅. Будя ΠΏΠΎ всСму, ΠΎΠ½ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, Π½ΠΎ ΠΏΠΎΠΊΠ° я Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ Ρ€Π°Π·.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
16 фСвраля 2018

Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python: ΠΎΠ±Π·ΠΎΡ€ Π΄Π²ΡƒΡ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²

Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python – ΠΎΠ΄Π½ΠΎ ΠΈΠ· пСрспСктивных Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ. Π’ ΡΡ‚Π°Ρ‚ΡŒ...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
13 фСвраля 2018

10 ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΡƒΡ‡Π°Ρ‚ вас ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

Π˜Ρ‰Π΅Ρ‚Π΅ курсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΡƒΡ‡Π°Ρ‚ вас ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ? ΠœΡ‹ собрали Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹...