ΠΠ½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (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. ΠΠ°ΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΡΠΌΠ½ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ ΡΠΎΠΊΠ΅Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ»ΡΡΠ΅Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
- ΠΠ°ΠΊΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΡΠΎΠΊΠ΅Π½Π°
- Π ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠ΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΎΠΊΠ΅Π½
- ΠΡΠΆΠ½ΠΎ Π»ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠΊΠ΅Π½ Π² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π΅Π³ΠΎ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡ Π΄ΠΎ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΡΠΎΠΊΠ΅Π½Π°
- ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡ ΡΠΎΠΊΠ΅Π½Π° Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ (ΡΠΎΠΊΠ΅Π½ Π²ΡΠ΄Π°ΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ)
ΠΠ»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Β«ΠΏΡΠ°Π²ΠΈΠ»Π° Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΠΎΠ½Π°Β», ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ½ΠΎΡΠΈΡΡΡ pull to update β ΠΆΠ΅ΡΡ Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π»ΡΡΠ° Ρ Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ Π²Π½ΠΈΠ·Β» ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ (ΠΎΠ½ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°).
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΡΠ³Π°Π½Π°ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΡΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΊΡΠΎΠ»Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΠΈΡ ΡΡΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°, ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΡΠ³Π°Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ (ΡΡΠ»ΠΊΠ°, ΠΊΠ°ΠΌΠ΅ΡΠ°) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SafeAreaView Π² React 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 - ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ Π·Π°Π΄Π°ΡΠ°.
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΉ 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.
Π ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ 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.
ΠΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ IDE. ΠΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π°. IDE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΠΈΡΡ, Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ, Π»ΡΠ±ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ - ΠΎΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ΅ΠΊΡΠ°ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ IntelliSense.
ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Java/Kotlin.
ΠΡΡΠΎΠΊΡΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° C++ 14/17 (Π½ΠΎ ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π΅ ΡΠ°ΡΡΠΎ).
ΠΠ΅Π»ΠΈΠΊΠΎΠ»Π΅Π½ΡΠΉ Π²ΡΠ±ΠΎΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ: Square Retrofit, SignalR.
ΠΠΎΡΠΎΠ³ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ - ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΈΠΉ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ Π²ΡΡΡΠ½ΡΡ - Π±ΠΎΠ»ΡΡΠΎΠ΅.
ΠΡΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Android SDK ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡ ΠΎΠΆΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΈΡ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΡΠΆΠ΅Π»ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ConstraintLayout, Π° Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ LinearLayout ΠΈ RelativeLayout ΠΌΠΎΠ³ΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΠ»Π°Π²Π½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠΎΠ²Π½Π΅ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ LinearLayout ΠΈ RelativeLayout. ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π²ΡΠ±ΠΎΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° - ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠΊ, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊΡΡ ΠΈΠ· Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ. ΠΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊ ΡΠΈΡΠΊ Π²ΡΠ±ΠΎΡΠ° ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ, ΠΈΠ»ΠΈ Ρ ΡΠ΄ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ·Π½Π΅Ρ-ΠΊΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°. ΠΠ·-Π·Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ², ΡΠ°Π·ΡΠΌΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ°. Π‘ΠΈΡΡΠ°ΡΠΈΡ ΡΡ ΡΠ΄ΡΠ°Π΅Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ. ΠΡΠΈΠΌΠ΅ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²:
- Java vs Kotlin
- ConstraintLayout vs LinearLayout vs RelativeLayout
- LiveData vs AsyncTask
UPDATE 2024: ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (UI) - Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ½Π³ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ JetPack Compose, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ UI ΠΏΠΎΡ ΠΎΠΆ Π½Π° Avalonia ΠΈ WPF - ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ²Π΅Π½Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π° Compose ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΡΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Π΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Recomposition). Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΠΎ ΡΡΠ°ΡΡΡΠΉ Π€ΠΈΠ»ΠΎΡΠΎΡΠΈΡ Compose by ΠΡΠΈΡΡΠΈΠ½Π° ΠΡΠ°Π½Π°ΡΡΠ΅Π²Π°. ΠΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Compose, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Fragments, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ Single Activity.
ΠΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² 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-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ 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:
- Π ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Facebook SDK, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ APK/IPA (Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°)
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Expo ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Advertising ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ Π½Π°ΡΡΡΠ°Π΅Ρ Google's Developer Distribution Agreement ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· Google Play
- ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Expo Π»ΠΈΠ±ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ, Π»ΠΈΠ±ΠΎ ΠΏΠ»Π°ΡΠ½Π°Ρ ($29/ΠΌΠ΅ΡΡΡ)
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΈ Π½Π΅ΡΠ΄ΠΎΠ±Π½Π°Ρ (Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Google Chrome). ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Native-ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² React Native CLI ΠΈ Expo Bare Workflow - ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°Π½ΠΈΡ Android Studio/Java/Kotlin ΠΈ/ΠΈΠ»ΠΈ Xcode/Swift.
ΠΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Guess a Number Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ². ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° - MealsRecipes.
- ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½ΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ²
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ»Π°ΡΡΠ° "Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ"
- Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ offline-ΠΊΠΎΠ΄Π°
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°Π·Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΠΎΠ»ΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
- ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ Native-ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΡΠΈΠΈ
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 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. ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ:
- Render Engine (JSI) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ½ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° V8
- ΠΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ native Π‘++ ΠΊΠΎΠ΄ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° JavaScript
- ΠΠΎΡΠ²ΠΈΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ°Π²Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΡΠΏΡΡΠ΅Π½Π° Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Qt 6. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ features:
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° C++ 20
- Π Π°Π·Π²ΠΈΡΠΈΠ΅ QML
- ΠΡΡΡΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Python
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ CMake.
ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ LTS ΡΠ±ΠΎΡΠΊΠΈ Qt Π±ΡΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌΠΈ.
ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΈΡΠ°ΠΉΡΠΊΠΈΠ΅ 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.
- ΠΡΠ΅Π½ΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π½Π° back-end
- ΠΠ°ΠΌΠ΅ΡΠΊΠΈ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
- ΠΠ°ΠΌΠ΅ΡΠΊΠΈ ΠΎΠ± ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ