Skip to content

It describes some common ideas related to the mobile development

Notifications You must be signed in to change notification settings

Kerminator1973/MobileDevelopment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π’Π½Π΅ зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Android Studio/Xcode, React Native/Flutter, Qt, Xamarin), ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠΠ°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ прилоТСния слСдуСт с планирования Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ модСль ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° состояния прилоТСния ΠΈ опрСдСлСния API для взаимодСйствия с внСшними сСрвСрными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.

Навигация

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ состоит ΠΈΠ· ряда ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… экранов (Activities), ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ функциям прилоТСния. Π­ΠΊΡ€Π°Π½Ρ‹ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ способом. Под Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ. Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°: Side Drawer, Stack ΠΈ Bottom Tab (ΠΈΠ»ΠΈ просто Tab).

Stack Navigator опрСдСляСт связь, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ экраны. Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ экраны всСгда Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈ это обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ экрану (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«BackΒ»). Π’ Header-Π΅ Stack-Π° Ρ‡Π°ΡΡ‚ΡŒ размСщаСтся ΠΈΠΊΠΎΠ½ΠΊΠ° "Back" для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ экрану (с ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠΌ тСкстом), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ-ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ "Confirm" ΠΈ "Save."

Tab Navigator опрСдСляСт Π³Ρ€ΡƒΠΏΠΏΡƒ экранов ΠΎΠ΄Π½ΠΎΠ³ΠΎ уровня ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ свободно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ посрСдством ТСста swipe, Π»ΠΈΠ±ΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ Π½Π° Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ (Tab).

Side Drawer опрСдСляСм мСню Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, позволяя Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π½Π΅ связанныС, Π»ΠΈΠ±ΠΎ слабо-связанныС экраны. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Side Drawer являСтся ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Switch Navigator – особый Ρ‚ΠΈΠΏ экрана, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт, Π±Ρ‹Π»Π° Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° аутСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π² зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, пСрСнаправляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню, Π»ΠΈΠ±ΠΎ Π½Π° экран Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π² React Navigation v5 ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Switch Navigator ΡƒΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

Update 2024: Π² случаС использования Expo SDK 50+ рСкомСндуСтся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Expo Router v3. Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ интСрСсный Router - TanStack Router.

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ состояния

БостояниС – это Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ экранами, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. БостояниС ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ JSON Web Token для доступа ΠΊ внСшним рСсурсам, список Π²Π°Π»ΡŽΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ€Π·ΠΈΠ½Π° с Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌΠΈ, ΠΈ Ρ‚.Π΄. Π”Π°Π½Π½Ρ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ экрана ΠΊ экрану.

Часто, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ транслируСтся Π² слой бизнСс Π»ΠΎΠ³ΠΈΠΊΠΈ, сохраняСтся глобально, Π° Π·Π°Ρ‚Π΅ΠΌ сообщСниС ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ транслируСтся подписчиках. НапримСр, Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ Redux Store дСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ возникновСнию дСйствия (Action), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ асинхронный запрос Π½Π° сСрвСр (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с использованиСм Redux-Thunk), Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСйствия ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Reducer-Ρ‹ (ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ dispatch()), ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΈΠ»ΠΈ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² свой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π·Π°Ρ‚Π΅ΠΌ подписчики (экраны) ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ сообщСниС ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, посрСдством Ρ…ΡƒΠΊΠ° useSelector().

МоТно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ глобальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ это ΠΈ Model, ΠΈ Controller Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ MVC – ΠΎΠ½ΠΎ выполняСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ зависимо ΠΎΡ‚ прСдставлСния (View).

Π’ React Native Ρ‡Π°Ρ‰Π΅ всСго примСняСтся ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Redux Store, Π½ΠΎ Π΅Π³ΠΎ постСпСнно замСняСт Context API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считаСтся Π±ΠΎΠ»Π΅Π΅ простым для понимания ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌ.

АутСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Back-End Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Json Web Token. Π’Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΡƒΠΌΠ½ΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ управлСния Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Π° бСзопасности. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ вопросы:

  1. Каким Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ врСмя ΠΆΠΈΠ·Π½ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Π°
  2. Π’ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π΄Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½
  3. НуТно Π»ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ Π² постоянном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΅Π³ΠΎ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ запускС прилоТСния
  4. Каким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ слСдуСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сообщСния ΠΎ истСчСнии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Π°
  5. НуТно Π»ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Π° Π½Π° мобильном устройствС (Ρ‚ΠΎΠΊΠ΅Π½ выдаётся сСрвСром)

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс

Для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Β«ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ Ρ‚ΠΎΠ½Π°Β», ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, относится pull to update – ТСст Β«ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠ°Π»ΡŒΡ†Π° с Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части экрана Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π²Π½ΠΈΠ·Β» ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ обновлСнию Π΄Π°Π½Π½Ρ‹Ρ… Π² спискС (ΠΎΠ½ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ с сСрвСра).

Для обСспСчСния ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ доступа ΠΊ ΠΎΡ€Π³Π°Π½Π°ΠΌ управлСния, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„ΠΎΡ€ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ скроллированиС.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСкрытия строки Π²Π²ΠΎΠ΄Π°, ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΡ€Π³Π°Π½Π° управлСния систСмными элСмСнтами (Ρ‡Ρ‘Π»ΠΊΠ°, ΠΊΠ°ΠΌΠ΅Ρ€Π°) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SafeAreaView Π² React Native.

Доступ ΠΊ Native-функциями

По ΠΌΠ΅Ρ€Π΅ появлСния Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ доступа ΠΊ этим функциями ΠΈΠ· Β«not native codeΒ». НапримСр, для управлСния Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с биомСтричСским сСнсором ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ доступ ΠΊ Native API.

Π’ случаС Qt, доступ ΠΊ Android API осущСствляСтся посрСдством Java Native Interface.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ, большСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ для Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (React Native, Flutter, Qt), Ρ‡Π΅ΠΌ доступ ΠΊ Native Functions ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΠ΅Ρ‚ΡŒΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования спСциализированных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² асинхронного взаимодСйствия, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ SignalR ΠΈ gRPC. Для ΠΎΠ±ΠΎΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π΅ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Java-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ "ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ". Для ΠΎΠ±ΠΎΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π΅ΡΡ‚ΡŒ прСкрасныС JavaScript-Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для использования Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Π½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ Π² React Native. Вопрос ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Flutter ΠΈ Qt - ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Π·Π°Π΄Π°Ρ‡Π°.

Serverless Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

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

РСшСниСм Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ serverless backend. НаиболСС Ρ‚ΠΈΠΏΠΎΠ²Ρ‹ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ: Google Firebase, Parse Server, AWS Lambda.

Для Firebase Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств. Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ваТная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ - интСграция с Google Analytics, Ρ‡Ρ‚ΠΎ позволяСт, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· прилоТСния Π² ΠΎΠ±Π»Π°ΠΊΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΡˆΠΈΡ… ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ влияСт Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ поиска ΠΈ устранСния сбоСв.

Parse Server - Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, которая Π±Ρ‹Π»Π° ΠΊΡƒΠΏΠ»Π΅Π½Π° Facebook, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ "ΠΎΡ‚ΠΏΡƒΡ‰Π΅Π½Π°" Π² open-source. Π’ AWS Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π· Parse Server ΠΎΡ‚ Bitnami, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ AWS Π·Π° ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚.

AWS Lambda - ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, описываСмый ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ AWS, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ…ΠΎΠΆΠ°Ρ Π½Π° Firebase ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ GraphQL- 8Base. Доступна ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ сравнСнии Firebase ΠΈ 8Base.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ serverless backend

К основным ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ отнСсти REST API ΠΈ NoSQL.

REST API создаёт ТёсткиС связи трСбуя Ρ€Π°Π·Π½Ρ‹Π΅ endpoints (ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ http-запросов) для Ρ€Π°Π·Π½Ρ‹Ρ… запросов. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ front-end ΠΈ back-end, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ измСнСния. ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° запросы Π² REST API часто содСрТат ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

GraphQL ΠΈΠΌΠ΅Π΅Ρ‚ ряд прСимущСств, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, допускаСт Π»ΡŽΠ±Ρ‹Π΅ запросы ΠΈ mutations Π² endpoint. Запросы Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° клиСнтской сторонС ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² back-end Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТСна. GraphQL Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

NoSQL Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Ρƒ NoSQL Π΅ΡΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° с ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ запросами Π² NoSQL Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСльзя. Для бизнСс-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² это прСдставляСт сущСствСнный риск.

Π›ΡƒΡ‡ΡˆΠΈΠ΅/Ρ…ΡƒΠ΄ΡˆΠΈΠ΅ свойства ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств

БущСствуСт Π΄Π²Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: использованиС Native Tools ΠΈ языков Native Ecosystems ΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ прилоТСния, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ слой, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ эко-систСмы.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° сводная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённым тСхнологиям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:

Π’ΠΈΠΏ Π―Π·Ρ‹ΠΊ Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
Android Native Kotlin/Java Android Studio
iOS Native Swift Xcode
React Native JavaScript VSCode, Expo
Flutter Dart Android Studio
Qt C++/QML QtCreator
Xamarin C#/XAML Visual Studio
Avalonia UI C#/XAML VSCode

БчитаСтся, Ρ‡Ρ‚ΠΎ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ прилоТСния Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‡ΡƒΡ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ всС возмоТности ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, использованиС Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ ряд прСимущСств.

Π’ случаС, Ссли осущСствляСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ Π΄Π²Π΅ основныС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Android/iOS) с использованиСм Native ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств, Ρ‡Π°Ρ‰Π΅ всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π²Π΅ спСциализированныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО для ΠΊΠΎΠ½ΠΊΡ‚Ρ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π”Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π΄Π²ΡƒΡ…ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ отставаниС ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ± ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»Π΅ΠΉ выпускаСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ обновлСния основных SDK, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Ρ€Π°Π· Π² Π³ΠΎΠ΄ Π½Π° мСроприятиях Apple WWDC, Google I/O, ΠΊΡ€Π°ΠΉΠ½Π΅ слолТно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π½Π°Π½ΠΈΠΉ Π² Π³ΠΎΠ»ΠΎΠ²Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (React Native, Flutter, Qt, Xamarin) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ вСсти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для основных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ТСртвуя: ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄Π° ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½ΠΎΠ²Ρ‹Ρ… SDK. ΠŸΡ€ΠΈ этом Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½ΠΎΠ²Ρ‹Ρ… SDK Π±Π΅Ρ€Ρ‘Ρ‚ Π½Π° сСбя community, Π° Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния. БоотвСтствСнно, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ сниТаСтся ΠΊΡ€Π°Ρ‚Π½ΠΎ.

ΠšΡ€ΠΎΠΌΠ΅ этого, Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Π² ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ инструмСнтария являСтся DependaBot, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ зависимости ΠΎΡ‚ packages, ΠΏΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ уязвимостСй Π² Π½ΠΈΡ….

Π’Ρ‹Π±ΠΎΡ€ языка программирования Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, особСнно Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Back-End. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, использованиС JavaScript для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Front-End, ΠΈ для Back-End, позволяСт Π»Π΅Π³Ρ‡Π΅ ΠΏΠ΅Ρ€Π΅Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ спСциалистов ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ инструмСнтарий. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ C#, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π°Ρ‘Ρ‚ доступ ΠΊ LINQ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, опСрируя конструкциями, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ Π½Π° SQL, для Π»ΡŽΠ±Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² - композиция элСмСнтарных, Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ обусловлСн Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ (iOS, Android). Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ носит ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, критичСски затрудняСт встраивания Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… эффСктов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ 3D-анимация. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ являСтся, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ Qt, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 3D-эффСктов относится ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ свойствам render-Π° QML.

Android Studio

ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ IDE. ΠŸΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ возмоТности ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π°. IDE позволяСт Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ, Π»ΡŽΠ±Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ - ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Π°Ρ рСализация IntelliSense.

МоТно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ основной язык программирования: Java/Kotlin.

Π’Ρ‹ΡΠΎΠΊΡ€ΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° C++ 14/17 (Π½ΠΎ это встрСчаСтся Π½Π΅ часто).

Π’Π΅Π»ΠΈΠΊΠΎΠ»Π΅Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ: Square Retrofit, SignalR.

ΠŸΠΎΡ€ΠΎΠ³ вхоТдСния - ΠΎΡ‡Π΅Π½ΡŒ высокий. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ выполняСмоС Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ - большоС.

Π‘ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Android SDK ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сущСствуСт мноТСство схоТих инструмСнтов ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ограничСниями ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΈΡ… отличиях ΠΊΡ€Π°ΠΉΠ½Π΅ тяТСло. НапримСр, Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ способом Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса являСтся ConstraintLayout, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ LinearLayout ΠΈ RelativeLayout ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΠ»Π°Π²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, особСнно ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ большого количСства ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности. ВмСстС с Ρ‚Π΅ΠΌ, сущСствуСт мноТСство ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ LinearLayout ΠΈ RelativeLayout. Π­Ρ‚ΠΎ создаёт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² Π²Ρ‹Π±ΠΎΡ€Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ инструмСнта - Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‡ΠΈΠΊ, Ρ‡Π°Ρ‰Π΅ всСго Π½Π΅ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠ· Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² слСдуСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ. Как Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΎΡ‡Π΅Π½ΡŒ высок риск Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ, ΠΈΠ»ΠΈ Ρ…ΡƒΠ΄ΡˆΠ΅Π³ΠΎ инструмСнта для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ бизнСс-ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°. Из-Π·Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ количСства Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ², Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°. Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΡƒΡ…ΡƒΠ΄ΡˆΠ°Π΅Ρ‚ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях Π±Π΅Π· использования ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²:

  1. Java vs Kotlin
  2. ConstraintLayout vs LinearLayout vs RelativeLayout
  3. LiveData vs AsyncTask

UPDATE 2024: основная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса (UI) - Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ описаниС. Одним ΠΈΠ· основных ингструмСнтов являСтся JetPack Compose, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ построСния UI ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Avalonia ΠΈ WPF - описываСтся Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ зависимости ΠΎΡ‚ состояния прилоТСния, ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ мСняСт эти состояния, Π° Compose Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° эти состояния выполняСС пСрСрисовку ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса (Recomposition). РСкомСндуСтся ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со ΡΡ‚Π°Ρ‚ΡŒΡ‘ΠΉ Ѐилософия Compose by ΠšΡ€ΠΈΡΡ‚ΠΈΠ½Π° ΠΡ„Π°Π½Π°ΡΡŒΠ΅Π²Π°. Если Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Compose, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Fragments, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ Single Activity.

Qt/QML

ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² C++.

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ - ΠΎΡ‡Π΅Π½ΡŒ высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ скомпилированного C++ 14/17 ΠΊΠΎΠ΄Π°. QML Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с использованиСм OpenGL, Ρ‚.Π΅. Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

Π―Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ добавляСтся сборка openSSL, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Qt-прилоТСниях Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС сСтСвых уязвимостСй, Ρ‡Π΅ΠΌ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… с использованиСм Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для банковских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Π°ΠΌΠΈ.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ Π½Π°Π±ΠΎΡ€ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ: Ρ€Π°Π±ΠΎΡ‚Π° с hardware, WiFi/Bluetooth, SQLite, ΠΈ Ρ‚.Π΄. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π° C++ с Java/Swift Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования JNI (для Android). Π’ Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования Π½Π° C++, Java/Kotlin/Swift ΠΈ JavaScript.

Π’ случаС запуска Π½Π° микропроцСссорах с Ρ€Π°Π·Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ (x86 ΠΈ ARM - сСйчас, Π° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ - ARM, RISC-V, MIPS) - Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ bundle ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Π»ΠΈΠ±ΠΎ super-bundle, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ скомпилированный ΠΊΠΎΠ΄ для всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ поддСрТания инструмСнтария Π² работоспособном состоянии - высокая. ΠŸΡ€ΠΈ выпускС Π½ΠΎΠ²ΠΎΠ³ΠΎ Android SDK, пСриодичСски, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ΡΡ настройки Ρ†Π΅Π»Π΅Π²ΠΎΠΉ систСмы (Android SDK, NDK, JDK), восстановлСниС работоспособности ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТной тСхничСской Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π›ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ "автоматичСски распознанныС" ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‚.Π΅. ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Android SDK ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ обновлСния Qt ΠΈ пСрСустановки систСмы с запуском ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ автоматичСского распознавания ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ нСдостатки Qt ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ малСнькоС community (Π² основном - коммСрчСскиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ°Π»ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ ΠΊΠ°ΠΊ open source), Π° Ρ‚Π°ΠΊΠΆΠ΅ слоТная лицСнзионная ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°, которая Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, привлСчСния ΡŽΡ€ΠΈΡΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ‚Π΅ΠΌ, Π·Π° ΠΊΠ°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ, Π° ΠΊΠ°ΠΊΠΎΠΉ являСтся бСсплатным, с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ публикуСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния для Android с QML ΠΈ https.

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΎΠ± установкС Qt.

React Native

Низкий ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния Π½Π° React-программистов ΠΈ программистов для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… JavaScript-Ρ€ΠΎΠ΄Π½ΠΎΠΉ. ΠŸΠΎΡ€ΠΎΠ³ вхоТдСния для программистов Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΡ… JavaScript - высокий.

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ web-прилоТСния Π½Π° React.

ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнтарий, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "горячая" ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° прилоТСния Π² эмуляторС ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° - эта Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступна Π² Expo.

ΠŸΡ€ΠΈ использовании Expo Managed Workflow, Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ†ΠΈΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· ΠΎΠΏΠ»Π°Ρ‚Ρ‹ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Google Play Market, ΠΈΠ»ΠΈ Apple AppStore. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ iOS Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° с macOS ΠΈ Π±Π΅Π· iPhone, см.: Snack.

Высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π½ΠΎ инфраструктурыС Π·Π°Π΄Π°Ρ‡ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, использованиС SQLite, ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ) - Π² Π·Π°Ρ‡Π°Ρ‚ΠΎΡ‡Π½ΠΎΠΌ состоянии.

Доступны Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для построСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². ΠœΠΎΡ‰Π½Π΅ΠΉΡˆΠ°Ρ ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ популярная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° D3.js ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² React Native, Π½ΠΎ это связано с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ограничСниями. Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΎΠ± использовании D3.js ΠΈ ART c React Native. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для React: Semiotic ΠΈ Recharts.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚ΡΡ ΠΊ Ρ‚ΠΈΠΏΡƒ Hybrid Mobile Application - ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Native App.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ, свойствСнныС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Expo:

  1. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Facebook SDK, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ APK/IPA (дистрибуционного ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°)
  2. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Expo собираСт Advertising ID ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Google's Developer Distribution Agreement ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· Google Play
  3. ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ прилоТСния Ρ‡Π΅Ρ€Π΅Π· Expo Π»ΠΈΠ±ΠΎ ΠΎΡ‡Π΅Π½ΡŒ мСдлСнная, Π»ΠΈΠ±ΠΎ платная ($29/мСсяц)

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° довольно слоТная ΠΈ нСудобная (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Google Chrome). Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Native-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² React Native CLI ΠΈ Expo Bare Workflow - Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ знания Android Studio/Java/Kotlin ΠΈ/ΠΈΠ»ΠΈ Xcode/Swift.

ДоступСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния Guess a Number с инструкциСй ΠΏΠΎ установкС ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств. Π‘ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° - MealsRecipes.

Виповая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния

  1. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ экранов ΠΈ созданиС ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ²
  2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы
  3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° класса "глобальноС состояниС прилоТСния"
  4. РСализация ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ взаимодСйствия ΠΈ offline-ΠΊΠΎΠ΄Π°
  5. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π΅ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ доступа ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ функциям прилоТСния
  6. ΠŸΠΎΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ оптимизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса
  7. ВстраиваниС Native-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
  8. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ†ΠΈΠΈ

Π‘Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅Π΅ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅

Начиная с вСрсии 0.62 Π² эко-систСмС React Native появился Π½ΠΎΠ²Ρ‹ΠΉ инструмСнт ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Flipper. Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΎ срСдствах ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° для React Native, ΠΈ ΠΎ Flipper, Π² частности: Flipper β€” A React Native revolution by Lukas Kurucz.

Π’ ΠΊΠΎΠ½Ρ†Π΅ 2020 Π³ΠΎΠ΄Π°, React Native ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘Ρ‚ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ - ΠΎΠ± этом ΡΡ‚Π°Ρ‚ΡŒΡ RΓ©mi Gallego ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ React Native's re-architecture in 2020. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  1. Render Engine (JSI) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° V8
  2. Появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ native Π‘++ ΠΊΠΎΠ΄ ΠΈΠ· основного ΠΏΠΎΡ‚ΠΎΠΊΠ° JavaScript
  3. ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС возмоТностСй для использоавния ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π’Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° новая вСрсия Qt 6. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ features:

  1. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° C++ 20
  2. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ QML
  3. Π›ΡƒΡ‡ΡˆΠ°Ρ интСграция с Python
  4. Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ интСграция с CMake.

ВмСстС с Ρ‚Π΅ΠΌ утвСрТдаСтся, Ρ‡Ρ‚ΠΎ всС LTS сборки Qt Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ коммСрчСскими.

ОбновлСниС 2024 года

ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° фрагмСнтация Ρ€Ρ‹Π½ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. ΠšΠΈΡ‚Π°ΠΉΡΠΊΠΈΠ΅ IT-Π³ΠΈΠ³Π°Π½Ρ‚Ρ‹ запустили: HarmonyOS (OpenHarmony) ΠΎΡ‚ Huawai, HyperOS (Xiaomi), ColorOS (Oppo), FuntouchOS (Vivo). Π’ Индии разрабатываСтся BharOS. РоссийскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств: Аврора ОБ, Астра Мобайл, KasperskyOS, ОБ Rosa Mobile, Π Π΅Π΄ ОБ М (Π½Π° Π±Π°Π·Π΅ Android). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π΅ совмСстимы с Android, ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Ρ‚Ρ€Π΅Π½Π΄ΠΎΠΌ становится ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°. НаиболСС Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Kotlin Multiplatform, Flutter, Qt.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Аврора (Ρ€Π°Π½Π΅Π΅ Moblin/Meego -> Sailfish) разрабатываСтся OOO Β«ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Π°Ρ мобильная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Β», Π΄ΠΎΡ‡ΠΊΠΎΠΉ РосВСлСКома. БазируСтся Π½Π° Linux ΠΈ содСрТит "Аврора TEE" - Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ хранСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ARM TustZone. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс - Qt Framework. Display Server - Wayland. На ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² доступСн SDK, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ Qt ΠΈ Qt Creator. Π’Π°ΠΊ ΠΆΠ΅ слСдуСт Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Аврора ОБ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Flutter 3.13 ΠΈ Kotlin Multiplatform (ΡΠ½Π²Π°Ρ€ΡŒ 2024 Π³ΠΎΠ΄Π°). Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² доступСн бСсплатный курс ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ Stepik. Π’Π°ΠΊΠΆΠ΅ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ заявку Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ устройства Π½Π° ОБ Аврора.

Устновка Aurora SDK Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΊΠ°ΠΊ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ с Windows, Ρ‚Π°ΠΊ ΠΈ Π½Π° Linux-ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС трСбуСтся установка систСмы Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ VirtualBox ΠΎΡ‚ Oracle, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ - Docker. Aurora IDE - это QtCreator с шаблонами для Авроры.

Π§Ρ‚ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ Π΅Ρ‰Ρ‘ рассмотрСно

Одно ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ интСрСсных Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ развития направлСния ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ - Kotlin Multiplatform.

Π’ 2024 Π³ΠΎΠ΄Ρƒ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ являСтся JetPack Compose - ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ стиля программирования, Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹.

Π― ΠΏΠΎΠΊΠ° Π΅Ρ‰Ρ‘ Π½Π΅ добрался Π΄ΠΎ Flutter ΠΈ Dart. Google Fuchsia - микроядСрная опСрационная систСма для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств. Основной язык Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ - Dart (с Flutter). Π―Π΄Ρ€ΠΎ написано, прСимущСствСнно, Π½Π° Rust. Dart - простой, Π½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ синтаксичСски слабый язык программирования. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π² open-source, пСрспСктивы Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ понятны.

Update 2024 Π³ΠΎΠ΄Π°: пСрспСктивы Flutter/Dart стали Π΅Ρ‰Ρ‘ ΠΌΠ΅Π½Π΅Π΅ понятными. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, инсталлятор Ubuntu Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ написан Π½Π° Flutter ΠΈ Canonical создала ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для развития Flutter, Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны - Google сильно сократила ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Flutter/Dart Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚. ΠžΡ‚ΡΡ‹Π»Π°Ρ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ со-основатСля Flutter Иэна Π₯иксона - количСство программистов Π² core team Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ нСдостаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Flutter Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅, Π½ΠΎ достаточно для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ развивался (ΠΊΠ°ΠΊ-Ρ‚ΠΎ). Π’ ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ голосов "Π—Π°" - российскиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ мобильной AuroraOS Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Π΄Π²Π° основных инструмСнта Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: Qt ΠΈ Flutter.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ пСрспСктивы Π΅ΡΡ‚ΡŒ Ρƒ Kotlin Multiplatform, постСпСнно Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ, ΠΌΠΎΡ‰Π½ΡƒΡŽ экосистСму.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Microsoft Xamarin Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ Π±Ρ‹Π» рассмотрСн. ОписаниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса - XAML.

Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ рассмотрСны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ соврСмСнныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Microsoft Π² области кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: Blazor ΠΈ MAUI. Однако Π² ΠΌΠΎΡ‘ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΈ, посвСщённом web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΅ΡΡ‚ΡŒ нСсколько статСй, посвящённых Blazor.

Π’ 2020 Π³ΠΎΠ΄Ρƒ, мноТСство ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Progressive Web Apps (PWA's). ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: Facebook PWA, Pinterest PWA, AliExpress PWA, ΠΈ Ρ‚.Π΄. PWA Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡ… Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ этого направлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ - прСкрасныС пСрспСктивы.

ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ iOS Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ Apple, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Mac Mini. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использованиС Π₯Π°ΠΊΠΈΠ½Ρ‚ΠΎΡˆ, Π½ΠΎ это Π½Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ, сопряТённый со мноТСством ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ использованиС старых ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ОБ, ΠΏΠΎΡ‚Π΅Ρ€ΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ·-Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈ Ρ‚.Π΄. Мой ΠΎΠΏΡ‹Ρ‚ использования Xcode Π½Π° "Π₯Π°ΠΊΠΈΠ½Ρ‚ΠΎΡˆ", скорСС Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ.

ВмСстС с Ρ‚Π΅ΠΌ, для изучСния Swift ΠΈ Swift UI ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Swift Playgrounds Π½Π° iPad. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ содСрТит Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° ΠΈ срСду исполнСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. БущСствуСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнтарий (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ Textastic Code Editor ΠΈ Working Copy Git Client). Π’ iPadOS 15 Swift Playground позволяСт Π΄Π°ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния Π² Apple AppStore. БущСствуСт спСциализированный курс Π½Π° Udemy ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ нСпосрСдствСнно Π½Π° iPad - "Create Apps on Your iPad - Swift Playgrounds for Beginners" by Nick Walter.

Пока Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ понятно, ΠΊΠ°ΠΊ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ свою эко-систСму Huawei.

Бсылки Π½Π° Ionic ΠΈ Apache Cordova Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ достаточно часто, Π½ΠΎ Π½Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ часто, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π° React Native, ΠΈΠ»ΠΈ Flutter. ВмСстС с Ρ‚Π΅ΠΌ, появляСтся растущСС число ссылок Π½Π° Iconic Capacitor, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Iconic ΠΈ Cordova.

НСсомнСнно, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Π½ΠΎ "Π½Π΅ для ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ использования" - Unity.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

  1. ΠžΡ†Π΅Π½ΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… расходов Π½Π° back-end
  2. Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса
  3. Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎΠ± ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности

About

It describes some common ideas related to the mobile development

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published