ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ xcode ios
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Xcode
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ!
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Xcode.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ Xcode ΠΈ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΡ:
ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Ρ ΠΠ°Ρ Π±ΡΠ»Π° Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ Ρ ΠΌΠ΅Π½Ρ (5.0.2). ΠΠ½Π°ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ , ΠΈ Π²Π°ΠΌ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π½Π΅ΡΠ²Π½ΠΈΡΠ°ΡΡ. Π’Π°ΠΊ ΠΆΠ΅, ΡΠ΅ΠΌ ΡΠ²Π΅ΠΆΠ΅Π΅ Π²Π΅ΡΡΠΈΡ Xcode, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π½ΠΎΠ²ΡΡ ΠΠ‘ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ. Π ΡΡΠΎ Π·Π½Π°ΡΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ!
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π²ΠΎΠ²ΡΠ΅ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ΡΡ.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Xcode ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π΄Π»Ρ iOS, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ OS X. ΠΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π΄ΠΎΠ²Π°ΡΡ, ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΈΠ·ΡΡΠΈΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π‘Π΅ΠΉΡΠ°Ρ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ iOS β Application.
ΠΠ°Π»Π΅Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΈΠ΄Π΅Ρ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Π±Π΅Π· ΠΎΡΠ½ΠΎΠ² Π²Ρ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡΠ΅Π΄Π΅ΡΠ΅. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠ½ΠΊΠΎΡΠΎΠ² Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ β ΡΡΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊ ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ β ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ β Variables.
Organization Name Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· Π²Π°ΡΠΈΡ Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΠΌ.
Company Identifier β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.Π§Π΅ΡΠ΅Π· Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ Π²Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ/ΡΠ°ΠΉΡ Π·ΠΎΠ²Π΅ΡΡΡ βyandex.ruβ, Π·Π½Π°ΡΠΈΡ Π² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ βru.yandexβ, Ρ.Π΅. ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π΄ΠΎΠΌΠ΅Π½Ρ. Π£ ΡΠ΅Π±Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Ρ Π½Π°Π·ΠΎΠ²Ρ ru.ios-programming. ΠΠΈΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (Bundle Identifier).
Class Prefix β ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡΡΠ°Π²ΠΊΠΈ (ΠΏΡΠ΅ΡΠΈΠΊΡΠ°), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΎΠΊΠ° ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΏΡΡΡΡΠΌ.
Devices β ΡΠΎΡ Π³Π°Π΄ΠΆΠ΅Ρ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²: βiPad/iPhone/Universalβ ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ iPhone, ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° iPad ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ. ΠΡΠ±ΠΎΡ Universal Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡΠ΄Π΅Ρ 2 ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β Π΄Π»Ρ iPhone ΠΈ iPad. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ β ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, Π½Π°Π΄ΠΎ Π»ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ Π³Π°Π΄ΠΆΠ΅ΡΡ (ΠΌΡ ΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΡΠ°Π½ΠΎΠ² Ρ Π½ΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ). ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ±Π΅ΡΠ΅ΠΌ iPhone.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΡ Next.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ, Π³Π΄Π΅ ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Create. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΠΏΠ°ΠΏΠΊΠ° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π²ΡΠ±ΡΠ°Π»ΠΈ, ΡΠΎ Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ°ΠΏΠΊΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠΎΡ ΠΌΡ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π½Π°ΡΠ°Π»ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ!
ΠΠ°ΠΊ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΡ ΡΡΡΠΈΠ½Ρ, ΠΈΠ»ΠΈ ΠΠΎΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Xcode Π·Π° ΠΏΠ°ΡΡ ΠΊΠ»ΠΈΠΊΠΎΠ²
Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ ΠΏΡΠΈΠ²ΡΠΊ ΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΅ΠΌΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΡΠΈΠ»ΠΈΡΡ Π΄Π»Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API Postman), ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π»ΠΈΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ.
Π’Π°ΠΊΠΆΠ΅ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠΌΠ΅ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ Π°ΡΡΠ΅Π½Π°Π»Π΅ Π·Π°Π³ΠΎΡΠΎΠ²ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β ΠΎΠ±ΡΠΈΠΉ ΡΠΊΠ΅Π»Π΅Ρ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΠΊΡΠ°Π½Ρ ΠΈ ΡΠΈΡΠΈ. Π ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Xcode.
ΠΠ΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΄ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°
ΠΠ°ΠΊ ΡΠ°ΡΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΈΡΠ΅ΡΠ΅ Π²Π½ΠΎΠ²Ρ ΠΈ Π²Π½ΠΎΠ²Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π±Π°Π·Ρ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°? ΠΠ±ΡΡΠ²Π»ΡΠ΅ΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π΄Π΅Π»Π°Π΅ΡΠ΅ Ρ ΡΠ»ΠΏΠ΅ΡΡ, Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ±Π΅ΡΡΠΊΠΈβ¦ Π ΡΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Ρ ΠΎΡΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π’Π°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈ Π²ΡΠ΅ ΠΌΡ ΠΈΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΠΌ βSingle View Appβ Π² Xcode.
ΠΠΎΠΈ ΠΏΠΎΠΈΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΡ Apple ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠ°ΠΊ ΠΈ Π½Π΅ Π΄Π°Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ Π² Xcode ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠΆΠ΅ Π·Π°Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ ΡΡΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ.
ΠΠ»Ρ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ° Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ Π²ΡΠ΅ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Single View App. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² Finder, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Cmd+Shift+G (ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅) ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ:
ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΌ Β«Single View App.xctemplateΒ» ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ».
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ°Π±Π»ΠΎΠ½ ΡΠΎΡΡΠΎΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· 4 ΡΠ°ΠΉΠ»ΠΎΠ²:
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ
Π£ΡΠ»ΠΎΠ²Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° TemplateInfo ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ:
1. Π Π°Π·ΠΌΠ΅ΡΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½Π°
ΠΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠ΅Π΄Π΅ Xcode.
β Identifier
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΠ²Π° ΡΠ°Π±Π»ΠΎΠ½Π° Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ID ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
.
β Kind
Π’ΠΈΠΏ ΡΠ°Π±Π»ΠΎΠ½Π°. ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Xcode.Xcode3.ProjectTemplateUnitKind.
β Concrete
ΠΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΡΡ ΡΠΌΡΡΠ» ΡΡΠ°Π²ΠΈΡΡ NO, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅. Π ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°Π²ΠΈΠΌ YES.
β Platforms
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½. ΠΠΎΠ»Π΅Π·Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ iOS Π² ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ WatchOS).
β Name
ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ *.xctemplate.
β SortOrder
ΠΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π½Π΅Ρ, ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ.
β Description
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°. Π Xcode ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
Π²Π΅ΡΡΠΈΠΉ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ.
2. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
Π¨Π°Π±Π»ΠΎΠ½Ρ Π² Xcode ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ: ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². ΠΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠ°ΠΉΠ»Ρ ΠΈ Π½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡΡΠΌΠ°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ β Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΠΠ.
3. Ancestors
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ· Identifier-ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡ.
4. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°Π² ΠΈΡ
Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
.
P.S. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊ Objective-C, ΡΠ°ΠΊ ΠΈ Swift, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π° Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ Options, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΎΠ·Π΄Π°Π΅ΠΌ Dictionary ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π° ΠΊΠ»ΡΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ β Identifier ΡΠΈΠΏΠ° String ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Β«languageChoiceΒ». ΠΡΠΎΡΠΎΠΉ β Units, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ Dictionary. Π Units ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΅ΡΠ΅ Π΄Π²Π° Dictionary Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Β«Objective-CΒ» ΠΈ Β«SwiftΒ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Definitions ΠΈ Nodes ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π²Π½ΡΡΡΡ ΡΡΠΈΡ
Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠ·ΡΠΊΡ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ xib, storyboard ΠΈΠ»ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°ΠΉΠ»Π°), ΡΠΎ Definitions ΠΈ Nodes ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
5. Definitions
ΠΠ΄Π΅ΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Definitions ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ», Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² β Path ΠΈ Group.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΡΡ:
Π’ΠΎΠ³Π΄Π° Definition Π΄Π»Ρ Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
6. Nodes
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡΡΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π»ΠΈΠ±ΠΎ Π½Π° ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ», Π»ΠΈΠ±ΠΎ Π½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. Nodes β ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»ΡΡΠΈ ΠΈΠ· Definitions. ΠΠ»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Nodes Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° Π²Π½ΡΡΡΠΈ TemplateInfo.plist
Π ΡΠ°ΠΉΠ», ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π² TemplateInfo.plist, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π² Π΅Π³ΠΎ Π² Definitions ΠΈ ΡΠΊΠ°Π·Π°Π² Π½Π° Π½Π΅Π³ΠΎ ΡΡΡΠ»ΠΊΡ Π² Nodes. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«:Β» ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠΈΡΠ΅ΡΡΡ ΠΊΠΎΠ΄. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅ Β«Page-Based AppΒ» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π² Definitions ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°:
ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΉΠ»Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Nodes. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½.
Π Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈ Π²Π½ΡΡΡΠΈ TemplateInfo.plist ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ:
___COPYRIGHT___ Π‘ΡΡΠΎΠΊΠ° ΠΎΠ± Π°Π²ΡΠΎΡΡΠΊΠΈΡ
ΠΏΡΠ°Π²Π°Ρ
___DATE___ ΠΠ°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠ°ΠΉΠ»Π°)
___DIRECTORY___ ΠΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ
___FILEBASENAME___ ΠΠΌΡ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
___FILEEXTENSION___ Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
___FILENAME___ ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°
___FULLUSERNAME___ ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
___ORGANIZATIONNAME___ ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
___PACKAGENAME___ / ___PROJECTNAME___ ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
___TIME___ ΠΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΏΡΠΎΠ΅ΠΊΡ (ΡΠ°ΠΉΠ»)
___USERNAME___ ΠΠΌΡ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΊΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π»Ρ Β«Single View AppΒ» Apple ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΠ±ΠΎΠΊΡΠΎΠ² Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ CoreData, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅ ΡΡΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅ΠΌ Options β ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈΠ· Dictionary. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ:
β Identifier
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Ρ
ΡΠ°Π½ΡΡΠ΅Π΅ΡΡ Π² ΠΏΠΎΠ»Π΅ ΠΎΠΏΡΠΈΠΈ.
β Default
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
β SortOrder
ΠΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΄Π°Π½Π½Π°Ρ ΠΎΠΏΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΎΠΊΠ½Π΅.
β Nae
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΈ.
β Type
Π’ΠΈΠΏ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. ΠΡΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΏΡ ΠΏΠΎΠ»Π΅ΠΉ:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Ρ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΠ΅ Π½Π΅Ρ ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π³ΠΎΡΠΎΠ²ΠΊΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·ΡΡΡ ΠΌΠΎΡ. ΠΡΠΎ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ MVVM Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π€Π°ΠΉΠ»ΠΎΠ² Π·Π΄Π΅ΡΡ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. Π Π°Π·Π±ΠΈΡΠ°ΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π° Ρ Π±ΡΠ΄Ρ Π½Π° ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠΎ ΡΡΠΎΠΌΡ ΠΏΡΡΠΈ Xcode Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΠΊΡ Private Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π·Π²Π°ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅, Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΡΠΈ. Π’Π°ΠΊΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, Π½ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠΉ Identifier. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π° Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΡΠΎΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ.
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ Β«Single View App.xctemplateΒ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π² Β«MVVM Application.xctemplateΒ» ΠΈ ΡΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΡ Private. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΠΉΡΠ°Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Xcode ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Π² ΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ ΡΠΆΠ΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Private, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Β«MVVM ApplicationΒ». Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π΅ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ»ΠΈ, ΡΠΎ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠ΅ ΡΠΎΡ ΠΆΠ΅ Single View App (ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊ ΡΠ»ΠΎΠ²Ρ, ΠΏΡΠΎΠΏΠ°Π» ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π±Π°Π·ΠΎΠ²ΡΡ , Ρ.ΠΊ. ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Identifier).
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡ Presentation ΠΈ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° ΠΈΠΊΠΎΠ½ΠΊΠΈ β TemplateIcon.png ΠΈ TemplateIcon@2x.png. Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Identifier, ΡΡΠΎΠ±Ρ Xcode Π²ΠΈΠ΄Π΅Π» Π½Π°Ρ ΡΠ°Π±Π»ΠΎΠ½ ΠΊΠ°ΠΊ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΡΠΉ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π·Π°Π΄Π°Π΄ΠΈΠΌ Identifier ΠΊΠ°ΠΊ Β«MVVMTemplateΒ». Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Xcode ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Β«Single View AppΒ» Π²Π΅ΡΠ½ΡΠ»ΡΡ Π½Π° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π΅ΠΌΡ ΠΌΠ΅ΡΡΠΎ, Π° Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Private ΠΊΡΠ°ΡΡΠ΅ΡΡΡ Β«MVVM ApplicationΒ» Ρ Π½Π°ΡΠ΅ΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ.
ΠΠ°Π»Π΅Π΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΎΡ ΠΊΠ°ΠΊΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ Β«Single View AppΒ». ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ TemplateInfo.plist ΠΈ Π·Π°Ρ ΠΎΠ΄ΠΈΠΌ Π² Ancestors, Π³Π΄Π΅ Π²ΠΈΠ΄ΠΈΠΌ:
ΠΠ°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Ρ ΡΡΠΈΠΌΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΡΠ°ΠΌ ΠΆΠ΅, Π³Π΄Π΅ ΠΈ Β«Single View AppΒ». ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅ Β«Storyboard App.xctemplateΒ» Π»Π΅ΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΠΎΠ»Ρ Definitions ΠΈ Nodes. Π Π½ΠΈΡ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΡΠΎΡΠΈΠ±ΠΎΡΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Main.storyboard, ΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΏΡΡΡ ΠΊ Π½Π΅ΠΌΡ. ΠΠ°ΠΌ ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Ρ.ΠΊ. Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠ°ΠΉΠ» MainScreen.storyboard, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΈΠ· Ancestors ΡΠ°Π±Π»ΠΎΠ½ Β«Storyboard App.xctemplateΒ».
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½ Β«Core Data Cocoa Touch App.xctemplateΒ». Π Π΅Π³ΠΎ ΠΎΠΏΡΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅ checkbox Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ CoreData, Π° Π² ΠΏΠΎΠ»Π΅ Units ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π° Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈ ΠΈΠΌΠΏΠΎΡΡ ΡΠ°ΠΉΠ»Π° ___PACKAGENAMEASIDENTIFIER___.xcdatamodeld. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ CoreData Π½Π°ΠΌ ΡΠΎΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½, ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΠΌ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
ΠΠΎ Π²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΡΠΎ Π΅Π³ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Ancestors, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Β«Cocoa Touch App BaseΒ», ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ com.apple.dt.unit.cocoaTouchApplicationBase. ΠΠΎΠ±Π°Π²ΠΈΠ² Π΅Π³ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ Ancestors Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΌΡ ΡΠ½ΠΎΠ²Π° Π²Π΅ΡΠ½Π΅ΠΌ Π΅Π³ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ . ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΠ² ΡΡΠΎΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½, Π²Ρ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ ΡΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ, Π° ΠΌΡ ΠΈΠ΄Π΅ΠΌ Π΄Π°Π»ΡΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ Π²ΡΠ΅ ΠΏΡΡΠΈ ΠΈ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π΄Π»Ρ Swift, Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ Π±ΡΠ΄Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π΅Π³ΠΎ.
Presentation/Common/View Controller/Base/ViewController.swift
Presentation/Common/View Model/Base/ViewModel.swift
Presentation/Common/View Model/ViewModelHolder.swift
Presentation/Main Screen/MainScreen.storyboard
Presentation/Main Screen/View Controller/MainViewController.swift
Presentation/Main Screen/View Model/MainViewModel.swift
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΡΡΠ»ΠΊΠΈ Nodes, Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ:
ΠΡΡΠ°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΡΠΈΡ β ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ MainScreen.storyboard Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Definitions ΠΈ Nodes Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ:
Definitions:
ΠΠ»ΡΡ
Info.plist:UIMainStoryboardFile
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΠΌΠ½ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°ΠΉΠ»Π° TemplateInfo.plist.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½Π΅ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠ΄Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎΠΏΡΠΎΡΡΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π»Π΅ΠΆΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π²Π»ΠΎΠΆΠΈΠ» Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (Π½Π΅ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ), Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°ΡΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Xcode 4). ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΠΊΠΎΠΏΠ°Π²ΡΠΈΡΡ Π² Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ°Π±Π»ΠΎΠ½Π°Ρ ΠΎΡ Apple, Π·Π°ΠΎΠ΄Π½ΠΎ ΡΠ²ΠΈΠ΄Π΅Π² ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. Π― Π»ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π·Π°ΠΌΡΡΠ»ΠΎΠ²Π°ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π±ΡΠ΄Ρ ΡΠ°Π΄ ΠΈΡ Π²ΡΡΠ»ΡΡΠ°ΡΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ°ΡΡΡ Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΠΈ.
iOS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°: ΡΠΏΠΎΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ°
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°Π΄ΡΠΌΡΠ²Π°Π΅ΠΌΡΡ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ΄ iOS, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΡΠΈΠ·Π½Π°ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠ³Π°: ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½ΡΠΆΠ½ΠΎ iOS-ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΠ‘ ΠΈ Mac. ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ iOS, Π²Π°ΠΌ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, Π° Π΅ΡΠ»ΠΈ Π½Π΅Ρ β ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, Π²Π΄ΡΡΠ³ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ? ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΎΠ±Π·ΠΎΡΠ½ΡΠΉ ΠΏΠΎΡΡ β ΠΊΠ°ΠΊ ΡΠ°Π· Π½Π° ΡΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ. ΠΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Ρ Π°ΡΠ΄ΠΊΠΎΡΡΠΈΠΊΠ°, Π²Π°ΠΌ Π½Π΅ ΡΡΠ΄Π°!
ΠΡΡΡ ΠΎΡ Apple
ΠΡΡΡ Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎ Π΄ΠΆΠ΅Π΄Π°Ρ ΡΡΡ iOS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π»Π΅ΠΆΠΈΡ Π² ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ΄Π΅ΡΠΌ Apple. Π‘Π²Π΅ΠΆΠΈΠΉ SDK, ΡΠ²Π΅ΠΆΠ°Ρ ΠΆΠ΅ Π²Π΅ΡΡΠΈΡ Xcode, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΡ Apple ΠΏΠΎ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ Apple, ΡΠΎΡΡΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ
Apple β Π΅ΡΠ»ΠΈ Π²Π΄ΡΠΌΠ°ΡΡΡΡ, Π° ΡΡΠΎ Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ»ΠΈΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ? ΠΠΎΠ»ΡΠ·Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ΄Π΅Ρ ΡΠ°ΠΌΡΠΌ Π±Π»ΠΈΠ·ΠΊΠΈΠΌ ΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΈ ΠΊ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ Apple ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ
Π½ΠΎΠ²ΠΈΠ½ΠΎΠΊ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ
Apple Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ (ΠΈ Π±ΡΠ΄ΡΡΠΈΡ
) iOS API, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ½ΠΎΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ, ΡΠ΅ΠΌ ΠΏΠ»ΠΎΡ
ΠΎΠ³ΠΎ.
ΠΠΎΠ²ΠΈΠ½ΠΊΠΈ Apple ΠΎΠ·Π²ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ. ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² WWDC 2017 Π±ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΎΠ²ΡΠΉ SDK ΠΈ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Xcode. Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠΈΡΠ΅Π½ (ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π² ΠΏΡΠ΅Π΄Π΄Π²Π΅ΡΠΈΠΈ Π²ΡΡ ΠΎΠ΄Π° iOS 11):
Xcode
Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π² Xcode ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π»ΠΈ Π½Π° Swift, ΡΠ΄Π΅Π»Π°Π² Π΅Π³ΠΎ Π½Π°Π΄ΡΠΆΠ½Π΅Π΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΎ ΠΏΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ? ΠΠ°! ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (ΠΏΠΎΡΡΠΈ) ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ, ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π±Π΅Π· Π·Π°ΠΌΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. Π beta Π²ΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΡΡΠ½ΠΎ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π½Π°Ρ ΠΆΠ΄Π΅Ρ Π² ΡΠ΅Π»ΠΈΠ·Π΅!
Π Xcode ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Markdown. Π Π°Π·ΠΌΠ΅ΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ°, Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΊΠΎΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΆΠΎΠ³ΠΎ:
(ΠΡΡΠΎΡΠ½ΠΈΠΊ)
Π Π΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΡΡΠ°ΡΠΈ, Π½Π°ΡΡΠΈΠ»ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° ΠΊΠΎΠ΄Π°.
(ΠΡΡΠΎΡΠ½ΠΈΠΊ)
ΠΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠΈΡΠ΅ΠΉ Xcode 9 ΡΡΠ°Π» ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π° Π½Π° Swift, Objective-C, Objective-C++, C. Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΠΎΠ±ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π° ΠΌΠ΅Π½Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠ΅.
(ΠΡΡΠΎΡΠ½ΠΈΠΊ)
ΠΠ· ΠΌΠ΅Π½Π΅Π΅ Π²ΡΠ΄Π΅Π»ΡΡΡΠΈΡ ΡΡ, Π½ΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ:
Swift 4
ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠΎΠ±Π½ΡΠΊΠΎΠΌ. ΠΡΠ΅, ΠΊΡΠΎ ΡΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ» ΡΡΠ²ΡΡΠ²ΠΎ Β«Π² Swift 2 Π±ΡΠ»ΠΎ, Π² Swift 3 ΠΏΡΠΎΠΏΠ°Π»ΠΎ?!Β», ΠΌΠΎΠ³ΡΡ ΠΎΡΡΡΠΈΡΡ Π΄Π΅ΠΆΠ°Π²Ρ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΊΠΎΡΠ΅Π΅, Π² Π»ΡΡΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ (Π²ΠΏΡΠΎΡΠ΅ΠΌ, Π·Π°ΠΌΠ΅ΡΡ Π²ΠΏΠΎΠ»Π³ΠΎΠ»ΠΎΡΠ°, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ, ΠΏΠΎ ΠΌΡΡΠ»ΠΈ Π°Π²ΡΠΎΡΠΎΠ²-ΡΠΎ?)
Β«ΠΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠ΅Β», Β«Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅Β» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π£ΡΠΎΡΠ½Ρ: ΡΠ΅ΡΠΌΠΈΠ½, Π²ΡΠ½Π΅ΡΠ΅Π½Π½ΡΠΉ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π΄Π°ΠΆΠ΅ ΠΏΠΎ ΡΡΡΠΈ ΡΠ²ΠΎΠ΅ΠΉ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π²Π΅ΡΠ΅Π½. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΡΠ°ΠΌΡΠ΅ ΡΡΠΎ Π½ΠΈ Π½Π° Π΅ΡΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ Π² ΡΠΌΡΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ iOS, Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΠΆΠ΅Π»Π΅Π·Π΅, ΡΡΠΎ ΠΈ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΠΠ Π΄Π»Ρ iOS, ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Apple ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΌΠ΅Π΅Ρ ΠΏΠΈΡΠ°ΡΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π½Π° JavaScript, ΠΈ Π½Π΅ Ρ ΠΎΡΠ΅Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² Swift, ΡΠΎ Apple Π΅ΠΌΡ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ (ΠΊΡΠΎΠΌΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ Swift), Π° Π²ΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ, ΡΡΠ»ΠΎΠ²Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° JavaScript, Π° ΠΏΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Π½Π° iOS, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² Xcode (ΠΏΠΎΠ»ΡΡΠΈΠ², ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ΠΊΠΈΠΉ Β«Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉΒ» Π²Π°ΡΠΈΠ°Π½Ρ) ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½.
Ionic
Ionic β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ½ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° Π±Π°Π·Π΅ Apache Cordova, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Π³Π΅ΠΎΠ»ΠΎΠΊΠ°ΡΠΈΡ, push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΠΊΠ°ΠΌΠ΅ΡΠ° ΠΈ ΠΏΡΠΎΡΠΈΠΌ, ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ iOS ΠΈ Android Ρ Π²Π΅Π±-ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ HTML, CSS ΠΈ JavaScript.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΡ, Ionic ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡ Π²Π°ΡΡΠ°ΡΡΡΡ ΡΠ΅Π»ΠΎΠΉ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ-Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. Ionic Cloud ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Ionic. Ionic Creator ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ drag&drop. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Ionic View β Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ iOS ΠΈ Android, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π»Π΅Π³ΠΊΠΎ Π΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ Ionic-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, ΡΠ΅ΡΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ionic View, ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ Ionic View β ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° Π΅Π³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ ΠΈΠ· ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π£Π²Ρ, Π΅ΡΡΡ ΠΈ Β«Π»ΠΎΠΆΠΊΠ° Π΄Π΅Π³ΡΡΒ». ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ionic, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ WebView, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΌΠΎΠ΅ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠΉ (ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΡΠ°ΠΌΠΎΠΉ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠ΅ΠΉ) ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ° ΡΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΄Π½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠΆΠ΅Π»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ , ΠΊΠ°ΠΊ ΠΈΠ³ΡΡ, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ Ionic ΡΡΠ΅Π±ΡΠ΅Ρ Ρ ΠΎΡΠΎΡΠΈΡ Π·Π½Π°Π½ΠΈΠΉ Angular, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Β«Π²ΡΠΆΠ°ΡΡΒ» ΠΈΠ· ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅.
PhoneGap / Cordova
PhoneGap ΠΈΡΡ
ΠΎΠ΄Π½ΠΎ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Nitobi. Π 2011 Π³ΠΎΠ΄Ρ, Adobe ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ°Π΅Ρ Nitobi ΠΈ Π±ΡΠ΅Π½Π΄ PhoneGap. Adobe Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· Π²Π΅ΡΡΠΈΠΉ PhoneGap (Π½Π°Π·Π²Π°Π² Π΅Ρ Cordova), Π² Apache Foundation, ΠΎΡΡΠ°Π²ΠΈΠ² ΡΠ΅Π±Π΅ Π±ΡΠ΅Π½Π΄ PhoneGap ΠΈ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Cordova ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π²ΠΈΠΆΠΎΠΊ, ΡΡΠΎΡΡΠΈΠΉ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ PhoneGap (Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ). PhoneGap, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ Cordova ΡΠ²ΠΎΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅, ΡΡΠ½ΠΊΡΠΈΠΈ.
PhoneGap Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° Ionic. ΠΠ½ ΡΠ°ΠΊ ΠΆΠ΅ Π΄Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²Π΅Π±-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° Π±Π°Π·Π΅ Apache Codova. ΠΠ΄Π½Π°ΠΊΠΎ PhoneGap Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ Javascript-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡΡ Π±ΠΠ»ΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ, Π½Π° ΡΠ΅ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π£ PhoneGap ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ PhoneGap Build, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π£Π²Ρ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Ionic, PhoneGap ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ WebView (ΠΊΠΎΡΠΎΡΡΠΉ Π² iOS ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ), ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° Π±Π°Π·Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, Π΄Π΅Π»Π° Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ±ΡΡΠΎΡΡ Π±Π»Π΅ΡΡΡΡΠ΅.
Xamarin
ΠΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π² 2011 Π³ΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Xamarin, Π²ΡΠΏΡΡΠΊΠ°ΡΡΠ°Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Xamarin ΡΠ΅ΡΠ΅Π· ΠΏΡΡΡ Π»Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ»Π° ΠΊΡΠΏΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Xamarin ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ
ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΡΡΡΡ Π½Π° C#, Π·Π°ΡΠ΅ΠΌ Xamarin ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ Π² Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ iOS, Π»ΠΈΠ±ΠΎ Π΄Π»Ρ Android, ΠΏΡΠΈ ΡΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Xamarin ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Mono, ΡΠ΅ΠΌ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Xamarin Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅ API ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΊΡΡΠ°ΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΡΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Visual Studio (ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ).
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ iOS ΠΈ ΠΏΠΎΠ΄ Android.
React Native
ΠΡΠΎΠ΅ΠΊΡ React Native ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½Π° ΡΠ²Π΅Ρ Π² Facebook, ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ React. ΠΠ°ΡΠ΅ JS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΈΡΡΡ Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ Π² iOS Π΄Π²ΠΈΠΆΠΊΠ΅: Π½Π° Π½Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π²ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ ΠΠ‘. React Native ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Ρ Xamarin, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ React Native, ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠΈ Π½Π° Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ iOS ΠΈ Android (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΎΠΏΠ΅ΡΠΈΡΡΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ UI-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ).
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ React Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ, ΡΡΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, Π° Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° UI-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ React Native ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ React Native ΠΎΡ Π΄ΡΡΠ³ΠΈΡ JavaScript-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π½Π°Π·ΡΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° Π½Π° Objective-C ΠΈ Swift (ΡΠ°ΡΠ΅ Π΄Π»Ρ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ½ΠΊΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ). ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ React Native.
ΠΠ΅Π±, ΡΠΈΡΡΡΠΉ Π²Π΅Π±
Π§Π°ΡΡΠΎ Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΊ Π½Π°ΡΠΈΠΌ ΡΡΠ»ΡΠ³Π°ΠΌ: Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΠΎΡΠΎΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎ ΡΠ²ΡΠ·ΡΡ, Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ (Π²ΡΠ²ΠΎΠ΄ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°), ΡΠΎ Π½Π΅Ρ ΠΏΡΠΈΡΠΈΠ½ Π½Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°ΡΡΠΌ Π΄ΠΎΠ±ΡΡΠΌ Π²Π΅Π±-ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΊΡΡΡΠΈΠ΅ΠΌ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π² ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠΈ ΡΠΊΡΠ°Π½Π°: ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° (Π² Ρ.Ρ. ΠΈ Π°Π΄ΡΠ΅ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ°) Π±ΡΠ΄ΡΡ ΡΠΏΡΡΡΠ°Π½Ρ, Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π½Π° Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠ· Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ² Π½Π°Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΆΠ΄Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Β«ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ» (ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ ΠΎΡΠ²Π΅ΡΠ° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°), Π½ΠΎ Π΄Π»Ρ ΡΡΠ΄Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΡΠΎ, Π΄ΡΠΌΠ°Ρ, Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΏΠΎΠ΄Π²ΠΎΡ : ΠΏΠΎΠ½Π°ΡΠ°Π»Ρ Π΄ΡΠΌΠ°Π΅ΡΡ, ΡΡΠΎ Π΄Π΅Π»ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΡΡΠΈΠ»ΠΈΠΉ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°ΡΠ΅ΠΌ ΡΠ²ΠΎΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΡΠ΄ΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π² Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎΠΌ ΡΠΌΡΡΠ»Π΅ Π½ΠΎΡΡ Π΅Π³ΠΎ Ρ ΡΠΎΠ±ΠΎΠΉ, ΠΈ Π²ΠΎΡ ΡΡΡ ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡ, ΡΡΠΎ Π΄Π΅Π»ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π³Π»ΡΠ±ΠΆΠ΅, ΠΈ Π·Π°ΡΡΠ½ΡΠ»ΠΎ ΡΠ΅Π±Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΡΡ ΠΌΠΎΠ³ Π±Ρ ΡΠ΅Π±Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Π»ΡΠ±ΠΈΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π»ΡΠ±ΠΈΠΌ Π΅Π΅ ΠΌΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄Ρ Mobius 2017 Moscow (Π΄Π°-Π΄Π°, Π² Π½ΠΎΡΠ±ΡΠ΅ ΠΠΎΠ±ΠΈΡΡ Π΅Π΄Π΅Ρ Π² ΠΠΎΡΠΊΠ²Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ Π·Π½Π°Π»ΠΈ):
