Google yntrodusearre it Flutter 2-ramt en de Dart 2.12-taal

Компания Google прСдставила Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ построСния интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Flutter 2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ·Π½Π°ΠΌΠ΅Π½ΠΎΠ²Π°Π» Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для создания Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… систСм ΠΈ web-прилоТСния.

Flutter рассматриваСтся ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° React Native ΠΈ позволяСт Π½Π° основС ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прилоТСния для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ iOS, Android, Windows, macOS ΠΈ Linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ прилоТСния для запуска Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Π Π°Π½Π΅Π΅ написанныС Π½Π° Flutter 1 ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния послС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Flutter 2 Π±Π΅Π· пСрСписывания ΠΊΠΎΠ΄Π° смогут Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС ΠΈ Π² Web.

It haaddiel fan 'e Flutter-koade wurdt ymplementearre yn' e Dart-taal, en de runtime-motor foar it ΓΊtfieren fan applikaasjes is skreaun yn C ++. By it Γ»ntwikkeljen fan applikaasjes, neist Flutter's memmetaal Dart, kinne jo de Dart Foreign Function-ynterface brΓ»ke om C/C++-koade op te roppen. Hege ΓΊtfieringsprestaasjes wurde berikt troch it kompilearjen fan applikaasjes nei native koade foar doelplatfoarms. Yn dit gefal hoecht it programma nei elke wiziging net opnij te kompilearjen - Dart biedt in hot reload-modus wΓͺrmei jo wizigingen kinne meitsje oan in rinnende applikaasje en it resultaat daliks evaluearje kinne.

Π’ΠΎ Flutter 2 заявлСна полноцСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Web, пригодная для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΉ. УпоминаСтся Ρ‚Ρ€ΠΈ основных сцСнария примСнСния Flutter для Web: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° обособлСнных web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (PWA, Progressive Web Apps), созданиС одностраничных web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (SPA, Single page apps) ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² web-прилоТСния. Из особСнностСй срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Web называСтся задСйствованиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ускорСния отрисовки 2D ΠΈ 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, гибкая ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° элСмСнтов Π½Π° экранС ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π² WebAssembly Π΄Π²ΠΈΠΆΠΎΠΊ отрисовки CanvasKit.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола находится Π½Π° стадии Π±Π΅Ρ‚Π°-тСстирования ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ стабилизирована Π² этом Π³ΠΎΠ΄Ρƒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… выпусков. О ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с использованиСм Flutter заявили ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Canonical, Microsoft ΠΈ Toyota. Компания Canonical Π²Ρ‹Π±Ρ€Π°Π»Π° Flutter Π² качСствС основного Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для своих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π² Ρ‚ΠΎΠΌ числС примСняСт Flutter ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ инсталлятора для Ubuntu. Компания Microsoft Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π»Π° Flutter для складных устройств с нСсколькими экранами, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Surface Duo. Компания Toyota ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Flutter для Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм. На основС Flutter Ρ‚Π°ΠΊΠΆΠ΅ построСна ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π² Google микроядСрной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Fuchsia.

Google yntrodusearre it Flutter 2-ramt en de Dart 2.12-taal

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

Выпуск ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ стабилизациСй Ρ€Π΅ΠΆΠΈΠΌΠ° бСзопасного использования значСния Β«NullΒ» (null safety), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволят ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΡ€Π°Ρ…ΠΎΠ², Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°ΠΌΠΈ использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈ выставлСно Π² Β«NullΒ». Π Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ значСния, Ссли ΠΈΠΌ явно Π½Π΅ присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ строго ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ позволяСт компилятору ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. БоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² провСряСтся Π½Π° этапС компиляции, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ присвоСния значСния Β«NullΒ» ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с Ρ‚ΠΈΠΏΠΎΠΌ, Π½Π΅ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰ΠΈΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ состояниС, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Β«intΒ», Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ошибка.

Π”Ρ€ΡƒΠ³ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Dart 2.12 стала ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ рСализация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FFI, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ API Π½Π° языкС Π‘ΠΈ. ВнСсСны ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ инструмСнты для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ систСма профилирования ΠΊΠΎΠ΄Π°, написанныС с использованиСм Flutter, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Dart ΠΈ Flutter для Android Studio/IntelliJ ΠΈ VS Code.

Google yntrodusearre it Flutter 2-ramt en de Dart 2.12-taal


Boarne: opennet.ru

Add a comment