ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ webview ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ios
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ webview ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ios
ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ iOS
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ iOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ macOS Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Xcode.
Xcode β ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ macOS, iOS, watchOS ΠΈ tvOS, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ΅ΠΉ Apple.
Π ΠΏΠΎΠ»Π΅ Product Name Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² Team Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π² Organization Identifier ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ(ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ).
ΠΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅.
ΠΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
9. ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Ctrl, ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΏΠΎ ΡΠ΅ΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ Π°ΡΡΠΈΡΡΠ΅Π½ΡΠ΅. Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»Ρ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ, ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅:
Π ΠΌΠ΅ΡΠΎΠ΄Π΅ viewDidLoad ΠΏΠΎΡΠ»Π΅ ΡΡΡΠΎΡΠΊΠΈ super.viewDidLoad() Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΡΠΊΠΈ:
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ webview ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ»ΠΈ Π½Π°Π·Π°Π΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²Π°ΠΉΠΏΠΎΠ² ΡΠ»Π΅Π²Π° ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π° ΡΠΊΡΠ°Π½Π°. ΠΡΠΎΡΠ°Ρ ΡΡΡΠΎΡΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π²Π΅Π±Π²ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΠΈ ΠΆΠ΅ΡΡΡ Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°. Π’ΡΠ΅ΡΡΡ ΡΡΡΠΎΡΠΊΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π² Π²Π΅Π±Π²ΡΡ Π²Π΅Π± ΡΡΡΠ°Π½ΠΈΡΡ. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅, ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ http. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Info.plist, ΡΡΠ΄ΠΎΠΌ ΡΠΎ ΡΡΡΠΎΡΠΊΠΎΠΉ Information Property List Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Β«+Β» ΠΈ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΡΠΏΠΈΡΠΊΠ΅ Π²ΡΠ±ΡΠ°ΡΡ App Transport Security Settings.
ΠΠ°ΠΏΡΠΎΡΠΈΠ² App Transport Security Settings ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ + ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Allow Arbitrary Loads ΠΈ Π²ΠΏΠΈΡΠ°ΡΡ YES
ΠΡΠ³ΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΈΡΠ°ΡΡ iOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π²Π΅Π±Π΅
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ. ΠΠ΅ ΡΠ°ΠΊ Π΄Π°Π²Π½ΠΎ ΠΠ°Π±ΡΠΈΠ΅Π»Ρ ΠΏΠΎΠ΄Π°ΡΠΈΠ» Π½Π°ΠΌ ΠΈΠ³ΡΡ 2048. ΠΡΠΎ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΎΠ½ ΠΈΠ³ΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ, ΡΠ΅ΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π». ΠΠ΅ ΠΌΠ°Π»Π°Ρ ΡΠ°ΡΡΡ ΡΡΠΏΠ΅Ρ
Π° ΠΠ°Π±ΡΠΈΠ΅Π»Ρ β ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠΎΠ΄ ΠΈ, Π²ΡΠ°Π»Ρ, MIT Π»ΠΈΡΠ΅Π½Π·ΠΈΡ. ΠΠ°Π±ΡΠ°Π² ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 20ΠΊ ΠΎΡΠΊΠΎΠ², Π·Π°Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ. ΠΠ»ΡΠ½ΡΠ» Π°ΠΏΠΏΡΡΠΎΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠ»ΠΎΠ½Π° Ρ Π³Π΅ΠΉΠΌΡΠ΅Π½ΡΡΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ΅ΠΌ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ β ΠΏΡΡΡΠΎ. Π ΡΡΡ ΠΏΠΎΠ΄ΡΠΌΠ°Π», ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅Ρ?
ΠΠ°Π±Π΅Π³Π°Ρ Π²ΠΏΠ΅ΡΡΠ΄, Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅Ρ
Β«Π½ΠΈΡΡΡΠΊΠΎΠ²Β» ΠΊ Π½Π΅ΠΌΡ ΡΡΠ»ΠΎ 4 Π΄Π½Ρ. ΠΠ° Π²ΡΡ
ΠΎΠ΄Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡ ΡΠ°ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π² Π²Π΅Π±Π΅ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΈΠΎΡ/Π°Π½Π΄ΡΠΎΠΈΠ΄. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄ΡΡ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π°ΡΠΈΠ²Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π²Π΅Π± ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ
. ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π² ΡΠ°Π½ΠΊΠ΅, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. Π‘ΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ SDK, ΡΠ΅Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ β ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π½Π° Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ WebView ΠΈ ΠΎΡΠΊΡΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ html Π² Π½ΡΠΌ. Π’.Π΅. ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π±ΡΠ°ΡΠ·Π΅ΡΡ Ρ Π·Π°ΡΠΈΡΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ ΡΠΏΠΎΡΠΈΡΡ, Ρ
ΠΎΡΠΎΡΠΎ ΡΡΠΎ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ
ΠΎ. Π ΡΠ΅ΡΠΈ ΠΊΡΡΠΈΡΠ° Ρ
ΠΎΠ»ΠΈΠ²Π°ΡΠΎΠ² ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ, ΠΊΡΠΎ-ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅Ρ html5, ΠΊΡΠΎ-ΡΠΎ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄. Π― ΠΏΠΈΡΡ ΠΈ ΡΠ°ΠΊ ΠΈ ΡΠ°ΠΊ, Π½ΠΎ ΡΡΡ, ΠΈΠΌΠ΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ 2048 ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π²Π΅Π±Π΅, Π±ΡΠ»ΠΎ Π±Ρ Π³Π»ΡΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΡ Π½Π° Π½Π°ΡΠΈΠ²Π½ΡΠΉ objc. ΠΠ° ΠΈ ΠΏΠΎΡΠΎΠΌ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ β ΡΡΠΎΠ½ΡΠ΅Π½Π΄ + ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΎΠΏΡΡΡ ΠΆΠ΅ Π³Π»ΡΠΏΠΎ Π³ΠΎΡΠΎΠ΄ΠΈΡΡ objc, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ html5.
Π‘ΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ°ΠΊ, wunderlist ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π²Π΅Π± ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ
. ΠΠ°ΠΊ ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ gmail ΠΊΠ»ΠΈΠ΅Π½Ρ.
ΠΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠ΅ Π΄Π΅Π»Π°Π΅Ρ b2b ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π³Π΄Π΅ ΠΏΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΠΈ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ
ΠΎΡΠΎΡΠ°Ρ Π΅Π±ΠΈΠ΄Π°. Π’Π°ΠΊ ΠΈ Ρ Π½Π°Ρ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠΎΠ² Π² ΡΡΡΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Β«ΠΈΠ³ΡΠ°ΡΡΒ» ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ. ΠΠΎΠΊΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΡΡΠ°ΡΡ ΠΏΠΎΠ΄ ie8, ΡΠ²ΠΎΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ firefox ΠΈΠ»ΠΈ chrome, ΠΈ ΠΎΠ½ΠΈ Π±Π΅Π·ΠΎΠ³ΠΎΠ²ΠΎΡΠΎΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌ ΡΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π°Π²Π½ΠΎ ΡΠ·Π°Π΅ΠΌ Π²ΡΡΠΊΠΈΠ΅ html5 ΡΡΡΠΊΠΈ ΠΈ ΡΠ°Π΄ΡΠ΅ΠΌΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° Π² Π³ΠΎΠ»ΠΎΠ²Ρ ΠΏΡΠΈΡΠ»Π° ΠΈΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ», Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ Π½ΠΎΠ²ΠΎ, Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΠΎΠ±ΡΠ΅ΠΌ Ρ Π·Π½Π°Π» ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ» ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅.
ΠΠ°ΡΠ½ΡΠΌ Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π΄Π°Π»Π΅Π΅ ΠΏΡΠΎΠΉΠ΄ΡΠΌΡΡ ΠΏΠΎ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄Ρ.
1. ΠΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΡΠΎΠΌ WebView Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΈΠΊΠΎΠ², Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ phoneGap. ΠΠ½ Π½Π΅ ΠΏΠ»ΠΎΡ
ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ (ΡΠ΅Π³ΠΎ ΡΠ°ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ?) ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡ. Π§ΡΠΎ ΠΆΠ΅ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ? ΠΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π΄Π΅Π»Π°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Π²Π΅Π± ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, phonegap ΠΏΡΠΎΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² JS ΠΊΠΎΠ΄ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. Π’.Π΅. Π²Ρ ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°Π½ΡΡΠ΅, Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅ΡΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ + ΠΈΠΌΠ΅Π΅ΡΠ΅ JS Π²ΡΠ·ΠΎΠ²Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ, Π½ΠΎΡΠΈΡΠΈΠΊΠ΅ΠΉΡΠ΅Π½Π°ΠΌΠΈ, ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌΠΈ, Π‘ΠΠ‘ ΠΈ ΠΏΡΠΎΡΠΈΠΌ. Π‘ΠΏΠΈΡΠΎΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° ΡΠΏΠ΅ΡΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΠΎΡΡΡΠΎΠ΅Π½ ΠΎΠ½ Π½Π° Π±Π°Π·Π΅ Cordova.
Π’Π°ΠΊ ΠΆΠ΅ ΡΠΎΠ²Π΅ΡΠ°Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ Sencha, ΡΠ΅Π±ΡΡΠ° ΠΏΠΎΡΠ»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π»ΡΡΠ΅ ΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π°ΡΠΈΠ²Π½ΡΠΌ ΡΠΈΡΠΊΠ°ΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²/ΠΏΠ»Π°Π½ΡΠ΅ΡΠΎΠ² ΡΠ΅ΡΠ΅Π· JS, Π½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π΄Π°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ UI. Π’.Π΅. Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊ Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΈ Π² Π°Π½Π΄ΡΠΎΠΉΠ΄Π΅ ΠΈ Π² ios`Π΅. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠ΅Π½ΡΠ° ΡΡΠΎ extjs ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π²ΡΡΠ΅ΠΊΠ°ΡΡΠΈΠΌΠΈ. ΠΡΠΎ ΠΊΠ°ΠΊ Ρ ΠΊΠΈΠ½Π·ΠΎΠΉ, Π΅ΡΡΡ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π΅Π· ΡΠΌΠ° ΠΎΡ Π½Π΅Ρ ΠΈ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅Ρ ΡΠ΅ΡΠΏΠ΅ΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ) ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΡΠΎΠ²Π΅ΡΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ Π΅Ρ.
Π’Π°ΠΊ ΠΆΠ΅ Ρ Π±Ρ Ρ
ΠΎΡΠ΅Π» ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π½Π° Cordova. Π€ΠΎΠ½Π³ΡΠΏ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΌ Π΅ΡΡΡ ΠΏΠ»Π°ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°, ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠ΄ ΠΈΡΠΏ. Cordova ΠΆΠ΅ ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ JS ΠΎΠ±Π²ΡΠ·ΠΊΠ°.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ ΠΈΠ· Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΡ Ρ Π½ΡΠ»Ρ. ΠΠ»Ρ ΡΠ΅Π±Ρ Ρ ΡΠ΅ΡΠΈΠ», Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Cordova, ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ. ΠΠΎ-Π²ΡΠΎΡΡΡ
, Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π±ΡΡΡΡΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ½Π³ΡΠΏΠ° ΠΈΠ»ΠΈ ΠΊΠΎΡΠ΄ΠΎΠ²Ρ. ΠΠ΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΏΡΠΎ ΡΠ΅Π½ΡΡ. ΠΡΠ΅ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π²ΡΠΈΡΡΠΌΠΈ html, Π° ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π»Π΅ΠΆΠΈΡ Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
ΠΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΡΠ²Π΅Ρ? ΠΠ½Π΅ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ Π±Ρ ΡΠΌΠΎΠ³ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π½Π΅ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΏΡΠΎΠΌΠΎΠ΄Π΅ΡΠΈΡΡΡΡ Π² appstore (ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅Π΄Π΅Π»Ρ), Π° ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ
ΠΎΠΆΡ Π² Π½ΡΠΌ Π±Π°Π³ΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
1.1 TopCoat
Π ΡΠ΅ΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
UI, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Ρ Π°Π»Ρ-Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ UI. Π£ΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΏΡΠΎ ΡΠ΅Π½ΡΡ, ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° PhoneJS, JQ Mobile, Intel AF ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅. ΠΡΠ³Π» ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠ΅Ρ )
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π²ΡΠ±ΡΠ°Π» topcoat. Π― ΡΠΆΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΡΡ Ρ Π½ΠΈΠΌ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈ ΠΌΠ½Π΅ ΠΎΠ½ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΡΡ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΡΠΎ Π½Π΅ ΠΏΠ»ΠΎΡ
ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ UI, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΌΠΎΡΡΡΡΡΡ ΠΈ Π½Π° Π°Π½Π΄ΡΠΎΠΈΠ΄Π΅ ΠΈ Π² ΠΈΠΎΡΠ΅. ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΡΠΎΠΏΠΊΠΎΠ°Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ, ΠΎΡΡΡΠ΄Π° Π³ΠΈΠ±ΠΊΠΈΠΉ. ΠΠΎΡΠ»Π΅ Bootstrap Π±ΡΠ»ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎ, Π² Π²ΠΈΠ΄Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠ΅ΡΠΊΠΈ, Π½Π°ΠΏΠΈΡΠΌΠ΅Ρ, ΠΈΡΠΏ. ΠΠΎ ΠΊ ΡΡΠΎΠΌΡ Π±ΡΡΡΡΠΎ ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΡΡ )
Π’ΠΎΠΏΠΊΠΎΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΠΊΡ Ρ ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ icomatic, Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠΌΠ΅Π½Π΄ΡΡ. Font Awesome Π»ΡΡΡΠΈΠΉ.
1.2 iScroll
UPD: Π₯Π°Π±ΡΠ°ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ radist2s ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ iScroll Π² ΡΠ΅Π»ΠΎΠΌ ΠΈ Π½Π΅ Π½ΡΠΆΠ΅Π½, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΊ Π½Π°ΡΠΈΠ²Π½ΠΎΠΌΡ ΡΠΊΡΠΎΠ»ΠΈΠ½Π³. ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΡΠ·Π°ΡΡ
ΠΠ΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΡΠ²Π°ΠΉΠΏΡ ΠΈ ΡΠΊΡΠΎΠ»ΠΈΠ½Π³ β Π²ΠΈΠ·ΠΈΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. iScroll Π΄Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΊ Π½Π°ΡΠΈΠ²Π½ΠΎΠΌΡ ΡΠΊΡΠΎΠ»ΠΈΠ½Π³. Π ΡΠ΅ΡΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π° iScroll4 Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ iScroll5. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π½ΠΎΠ²Π°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠ°Ρ ΠΈ Π±Π΅Π·Π±Π°ΠΆΠ½Π°Ρ. ΠΠ° ΠΎΡΡΡΠ°ΠΉΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
1.3 Zepto
ΠΠ°ΠΌΠ΅Π½Π° jQuery, Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΠΈ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΌΠΎΠ΅ ΠΎΠ½ΠΎ. Π ΠΊΡΡΠΏΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΌΡ ΡΠ·Π°Π΅ΠΌ jQuery ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΡΡΡ ΠΆΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ )
1.4 Lodash
ΠΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠ° Π½Π°Π΄ JS. ΠΡ ΡΠ°ΡΡΠΎ ΡΠ·Π°Π΅ΠΌ backbonejs Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , lodash ΡΠ°ΠΌ Π΄Π΅ΡΠ°ΠΊΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½. ΠΡ ΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΎΠ½ Π½ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΎΡΠΎΠΉ Π±ΡΡΡΡΠ΅Π΅.
1.5 Moment
Π Π°Π±ΠΎΡΠ° Ρ Π΄Π°ΡΠ°ΠΌΠΈ/Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² JS. ΠΠ΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², Π±Π΅Π· ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π±ΠΎΠ»ΠΈ Π±ΡΠ»ΠΎ Π±Ρ Π² ΡΠ°Π·Ρ Π±ΠΎΠ»ΡΡΠ΅.
Π― Π½Π΅ ΡΡΠ°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Backbone Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Ρ
ΠΎΡΡ ΠΎΠ½ ΡΡΡ ΠΎΡΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΠΈΡΡΡ. ΠΠΏΡΡΡ ΠΆΠ΅, ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΌ Π½Π° ΡΠΏΠΈΡΠΊΠ°Ρ
. ΠΡΠΊΠ±ΠΎΠ½ ΡΠ΄ΠΎΠ±Π΅Π½ ΠΈ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π² Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΡ ΠΎΠ½ Π½ΠΈ ΠΊ ΡΠ΅ΠΌΡ. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΌΠ½Π΅ ΡΠ°ΠΊ ΠΊΠ°Π·Π°Π»ΠΎΡΡ )
ΠΠ΅ ΠΌΠΎΠ³Ρ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ rad-js, ΡΡΠΎ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ backbone ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π·Π°ΡΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΈΡΡΠ½Π°Ρ ΡΡΡΠΊΠ°, Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΌΡΠ΄ΡΡΠ½Π½Π°Ρ. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΆΠ°Π»Ρ, ΡΡΠΎ RAD Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΏΠ»ΡΠ΅Ρ ΡΡΠ°ΡΡΠΉ iScroll ΠΈ undercore, Π²ΠΌΠ΅ΡΡΠΎ lodash. ΠΠΏΡΡΡ ΠΆΠ΅, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π»ΠΈΡΠ½ΠΈΠΌ.
Π‘ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ. Π£ Π½Π°Ρ Π½Π΅Ρ MVC ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, Π²Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»Π°Π΄ΡΡΡΡ Π² ΠΏΡΠΎΡΡΠΎΠΉ js ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡ ΠΈΠΌΠ΅Π΅ΠΌ Π³ΠΎΡΠΎΠ²ΡΠΉ css ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ Π½Π°Π±ΠΎΡ JS Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
2. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 2 Π³ΠΎΠ΄Π° Π²ΡΡΠΎΡΠ»ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΡ. 2 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ Ρ Π²ΡΠ±ΠΈΡΠ°Π» ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅Π± ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ ΠΈ Π½Π°ΡΠΈΠ²Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠΎΠ΄ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π²ΡΠ±ΡΠ°Π» Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄. Π Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Ρ ΡΡΠΎ Π±ΡΠ»ΠΎ Π²Π΅ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π‘Π΅ΠΉΡΠ°Ρ, ΠΏΠΎ Ρ ΠΎΡΠΎΡΠ΅ΠΌΡ, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π²ΡΡ Π½Π° Π²Π΅Π± ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ Π΄Π°Π»ΡΡΠ΅ Π²Π΅Π±. ΠΠΎ ΡΠΆΠ΅ ΠΆΠ°Π»ΠΊΠΎ, ΡΡΡΡΡΠΈ ΡΡΡΠΎΠΊ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ obj-c, Π±ΡΠ΄Ρ ΠΎΠ½ Π½Π΅ Π»Π°Π΄Π΅Π½. ΠΡΠΎ ΡΠ²Ρ ΠΌΠΎΠ»ΡΡ.
2.1 LocalStorage
ΠΡ ΡΡΡ Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. 5 ΠΌΠ΅ΡΡΠΎΠ² Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΎ Π½Π°ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½ ΠΏΠΎΠ΄ ΡΠ΅ΠΊΡΡ/js-ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π’Π΅, ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π» Ρ ΠΎΡΡ ΡΠ°Π· Ρ ΠΌΠ΅ΠΌΠΊΠ΅ΡΠΎΠΌ/ΡΠ΅Π΄ΠΈΡΠΎΠΌ, Π±ΡΠ΄Π΅Ρ ΡΡΠ°ΡΡΠ»ΠΈΠ². ΠΡΠ»ΠΈ 5 ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ ΡΠ΅ΡΠ΅Π· Π½Π°ΡΠΈΠ²Π½ΡΠΉ UserData, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. Π ΡΠ΅ΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎ-ΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΊΠ΅Ρ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π² ΡΠ°ΠΉΠ»Ρ, ΠΊΡΠΎ-ΡΠΎ ΡΠ΅ΡΠ΅Π· UserData, ΠΊΡΠΎ-ΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ WebSQL, ΡΡΠΎ, ΠΊΡΡΠ°ΡΠΈ, ΡΠΎΠΆΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ°ΠΌ Ρ Π²Π°ΡΠΈΡ localStorage.
2.2 AppCache
ΠΠΎΠΆΠ°Π»ΡΠΉ, ΡΠΎΠ»ΡΠΊΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΉ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΡ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΡ ΡΠ°Π·, Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ
ΠΎΡΡΠΈΡΡΡ Π½Π΅ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
html ΡΠ°ΠΉΠ»Π°Ρ
, Π° Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΡΡ Π½Π΅ ΠΎΡΠΊΡΠΎΡΡΡΡ. Π’ΡΡ ΡΠΎ Π½Π°Ρ ΠΈ ΡΠΏΠ°ΡΡΡ appCache. ΠΡΠΎ Application cache Π²ΡΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠ΅ΠΉ, ΠΊΡΠΎ Π½Π΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ Ρ ΡΡΠΎΠΉ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, ΡΠΎΠ²Π΅ΡΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ. Π‘ΠΌΡΡΠ» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ manifest ΡΠ°ΠΉΠ»Π°, ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΊΠ΅Ρ. ΠΡΠ΅Π»Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠ½Π½ΡΠ΅ Π² ΠΊΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ Π°ΠΏΠΏΠΊΠ΅ΡΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΡΡΠ°Ρ.
ΠΠ»ΠΈΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π² webview, webview ΠΊΠ΅ΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°Π»ΡΡΠ΅ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ manifest ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ ΠΎΠ½ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ β ΠΊΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ Π±ΡΠ»ΠΎ, ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΠΏΠ»ΡΠ΅ΡΡΡ ΠΊΠ΅Ρ Π±Π΅Π· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Π²Π΅Π± ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π½ΠΎ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊΠΎΠ΄ Ρ ΡΠ΅Π±Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Ρ ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅ β ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ Π±Π°Π³ΡΠΈΠΊΡ ΠΈ Π±ΡΡΡΡΠΎΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΡΠΈΡΠ΅ΠΊ.
2.3 CSS3
ΠΡ ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π³Π»ΡΠΏΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π΅Π±ΠΊΠΈΡΠ°. ΠΠΎΠΎΠ±ΡΠ΅, Π΄Π΅Π»Π°Ρ Π½Π° Π²Π΅Π±Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΠΎΠ΄ΠΈΠ½-Π΄Π²Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΏΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Ρ ΠΈ ΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ΅ΠΌ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡ ΠΈΡ
. Π’.Π΅. Π±ΡΠ΄Π΅Ρ Ρ
ΠΎΡΠΎΡΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ flexbox, ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ·Π°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΈ Π·Π°Π±ΡΡΡ ΠΏΡΠΎ pngfix )
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΡΠΈ Π²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π° Π½Π° Π±Π°Π·Π΅ css3. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΡ JS ΠΊΠΎΠ΄Π°. ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ²Π΅ΡΡ
Π±ΡΡΡΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² Π²Π΅Π±ΠΊΠΈΡΠ΅ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
ΠΠΎΠΆΠ°Π»ΡΠΉ, ΡΡΠΎΠ³ΠΎ Ρ
Π²Π°ΡΠΈΡ ) ΠΠ°Π»Π΅Π΅, Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² XCode.
ΠΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», Π²ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ UIWebView Π½Π° Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅. Π ΠΏΡΠΎΠ΅ΠΊΡΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ» JSONKit, Ρ.ΠΊ. ΠΎΠ½ Π±ΡΡΡΡΠ΅Π΅ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ° + VK-SDK, Facebook-SDK Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠΎΡ.ΡΠ΅ΡΡΠΌΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° Π²Π΅Π±Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ Ρ
ΠΎΡΠ΅Π» ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ vk+facebook. ΠΠ΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
ios sdk. Π’.Π΅. Π²Π΅Π± ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΡΠΎ ΠΊΡΡΡΠΎ ΠΈ ΠΌΠΎΡΠ½ΠΎ, Π½ΠΎ Π΅ΡΡΡ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π°ΡΠΈΠ²Π½ΠΎ. ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠΎΡ.ΡΠ΅ΡΡΠΌΠΈ β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΊΠΈΡ
Π·Π°Π΄Π°Ρ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ.
ΠΡΡ, ΡΡΠΎ Π½Π°ΠΌ ΠΎΡΡΠ°ΡΡΡΡ β Π½Π°Π»Π°Π΄ΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠΈΠΌ html ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ΡΡ ΡΠΎΠΆΠ΅ Π²ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. WebView, ΡΡΠΎ ΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ»ΠΈ, Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°ΡΡ Π² Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π²Π΅Π± Π²ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π΄ΡΡΠ³Π°Π΅ΠΌ:
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Π΅Π±Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠΎΠ΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ WebView ΡΠ½ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΠΈΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ shouldStartLoadWithRequest:
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠΈΠ»ΠΈ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ Π°Π΄ΡΠ΅Ρ, Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Π΄Π΅Π»Π°ΡΡ return NO, ΠΈΠ½Π°ΡΠ΅ Π²Π΅Π± Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π°Π΄ΡΠ΅Ρ vk:auth.
ΠΠΎΡ Π² ΡΠ΅Π»ΠΎΠΌ ΠΈ Π²ΡΡ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π΅Π± ΠΌΠΎΡΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ ΠΆΡΡΡΠΊΠΎ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΎΡΡΠ»Π°ΠΉΠ½Π΅ ΠΈ ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ Π½Π°ΡΠΈΠ²Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π§ΡΠΎ Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΡΠ°ΡΡΡΡ? )
ΠΡΠΈΠ±ΠΊΠΈ ΠΈ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΡ Ρ ΠΎΠΏΠΈΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Cordova Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΠΎΡΠΈΠ±ΠΊΠΎΠΉ #1 Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π½Π° xcode. ΠΠΎ ΠΎΠΏΡΡΡ ΠΆΠ΅, Π·Π°Π΄Π°ΡΠ΅ΠΉ Π±ΡΠ»ΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π²ΡΡ ΠΏΠΎΠ΄Π½ΠΎΠ³ΠΎΡΠ½ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΊΠ°. Π― Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΡΠ°Π·Π²Π΅ ΡΡΠΎ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ. Π Π»ΡΠ±ΡΡ
Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Cordova. Π Π²ΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π½Π΅ ΡΠΌΠ΅Π΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ Π½Π΅ΠΉ.
Π’Π°ΠΊ ΠΆΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ backbone Π±ΡΠ»ΠΎ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π·ΡΠ°ΡΡΠ°ΡΡΡΡ, Π΄ΠΎΠ»ΡΠ½Π΅ΠΉΡΠ°Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ° Π±ΡΠ»Π° Π±Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½Π΅ΠΉ, Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠ°Π·Ρ Π±ΡΠ» Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ mvc ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠΈΠΏΠ° backbone.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅Π³ΠΎ, Ρ ΠΆΡΡΡΠΊΠΎ Π»ΠΎΡ
Π°Π½ΡΠ»ΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ NSURLRequest. ΠΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ WebView, ΠΊΠΎΡΠΎΡΡΠΉ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΡΡΠ». ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ cachePolicy, ΠΊΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ (ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΠΎΠΉ), Π»ΠΈΠ±ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π±ΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΊΠ΅ΡΠ° Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². ΠΡΠΎΡΠΈΡΠ°Π² ΠΏΡΠΎ ΡΠ»Π°Π³ NSURLRequestReloadIgnoringLocalAndRemoteCacheData, ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π΅Π³ΠΎ Ρ ΠΈ ΠΎΡΡΠ°Π²ΠΈΠ». Π ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π°Π³ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ios sdk )))
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌΠΎΠΉ ΠΈΠ³ΡΡ, Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ, Π² Π°ΠΏΠΏΡΡΠΎΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ³ΡΡ 2048. ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΡ Π±ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ 60. Π‘Π½Π°ΡΠ°Π»Π° Ρ Π²ΡΡΡΠΎΠΈΠ» Π² html ΠΊΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ adsense. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Ρ Π΅Π³ΠΎ ΡΠ±ΡΠ°Π» ΠΈ ΡΠ΄Π΅Π»Π°Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΠ½ΡΠΌ, Ρ.ΠΊ. Π²ΡΠ΅ ΡΡΠΈ 60+ ΠΈΠ³Ρ Π±ΡΠ»ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΠΎΠΉ Π²Π½ΡΡΡΠΈ. ΠΡΠΎΠ΄Π΅ ΠΊΠ°ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠ°ΡΡΠΎΠΌ ) ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π‘ΡΠΎΠΈΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π·Π°Π΄Π°ΡΠΈ Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΡΠΎΠΉ ΠΈΠ³ΡΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΡΠΌΡΡΠ»Π° ΡΠΎΠΆΠ΅ Π½Π΅Ρ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π΅ Ρ GameCenter, Π° Ρ ΡΠΎΡΡΠ΅ΡΡΠΌΠΈ. ΠΠ½Π΅ Π»ΠΈΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅ΠΉ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠ³ΠΎ Ρ ΠΎΠ±ΠΎΠ³Π½Π°Π» ΡΡΠ΅Π΄ΠΈ ΡΠ²ΠΎΠΈΡ Π΄ΡΡΠ·Π΅ΠΉ Π²ΠΎ Π²ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅, ΡΠ΅ΠΌ Π² Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅ GameCenter. ΠΡ ΠΈ ΠΏΡΠΎΡΠ΅ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Β«Ρ Π°ΠΊΠ΅ΡΠ°ΠΌΠΈΒ», Ρ.ΠΊ. Π±Π°Π·Π° Ρ ΡΠ΅Π±Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠΊΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΡΡΡ Π³ΡΡΠΏΠΏΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅ΠΉ ΠΈ Π½Π°ΡΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π½Π΅ ΠΏΡΠΎΡΠΈΠ² ΠΏΠΎΡΡΠ°ΡΠΈΡΡ 33 ΡΡΠ±Π»Ρ Π·Π° ΠΈΠ³ΡΡ, Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΠΈ Π΄Π°Π»ΡΡΠ΅. ΠΡΠ»ΠΈ ΠΈΠ΄Π΅ΠΈ ΡΡΡΠΎΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΉΡΠΈΠ½Π³ΠΈ, ΠΊΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π°Π±ΠΈΡΠ°Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡΠΆΡΠΈΠ½Ρ ΠΈΠ»ΠΈ ΠΆΠ΅Π½ΡΠΈΠ½Ρ, Π²Π·ΡΠΎΡΠ»ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΎΡΡΠΊΠΈ. ΠΠΠ£ ΠΈΠ»ΠΈ ΠΠΠΠΠ ΠΈΡΠΏ. ΠΡΠ΅ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈΠ· ΡΠΎΡΡΠ΅ΡΠ΅ΠΉ.
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ Π»ΠΈΡΡ Β«ΠΏΡΠΎΠ±Π° ΠΏΠ΅ΡΠ°Β». ΠΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π³Π΅ΠΌΠΎΡΡΠΎΡ Ρ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π» ΠΏΡΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°Ρ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² ΡΠ°Π·Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ . ΠΡΠ΅Π³ΠΎ 18 ΠΈΠΊΠΎΠ½ΠΎΠΊ ΡΠ°Π·Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² + 13 ΡΡΠ°ΡΡΠΎΠ²ΡΡ ΡΠΊΡΠΈΠ½ΠΎΠ².
UPD: Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π·Π°ΠΊΠΎΠ½Π½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² AppStore, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ @mifki, Π΅ΡΠ»ΠΈ Π²ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅Π²ΡΡ ΠΈ Π΅Π³ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΡΡ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠΎΡΠΎΠ½Π΅. ΠΠ΄Π½Π°ΠΊΠΎ, alamantrah ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ Π΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ Π·Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ lua.
Π’Π°ΠΊ ΠΆΠ΅ Π½Π° StackOverlow Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ°Π½ΡΡΠ΅ Π·Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΡΠΊΠ°Π»ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΠ»Π°ΡΡ ΠΈ Π²ΡΡ ΠΎΠΊ.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ WebView-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
WebView-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠ°ΠΉΡ Π²Π½ΡΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠ±ΠΈΡΡΠ°ΠΆΠ½ΠΈΠΊΠΈ ΡΠ»ΠΈΠ²Π°ΡΡ Π½Π° Π³Π΅ΠΌΠ±Π»ΠΈΠ½Π³, Π΄Π΅ΠΉΡΠΈΠ½Π³, ΠΊΡΠΈΠΏΡΠΎΠ²Π°Π»ΡΡΡ, ΡΠΎΠ²Π°ΡΠΊΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ. Π‘Π΅ΠΉΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ WebView-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π°ΡΠ±ΠΈΡΡΠ°ΠΆΠ° ΡΡΠ°ΡΠΈΠΊΠ°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Android Studio
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ Android Studio Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° developer.android.com/studio. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Android Studio. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Android SDK. ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΡΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
ΠΡΠ»ΠΈ Π²ΡΠ±Π΅ΡΠ΅ΠΌ ΠΏΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΡΡΡΡΠΊΠΈΠ΅ Π±ΡΠΊΠ²Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΡΡ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«NextΒ». ΠΠ°Π»ΡΡΠ΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«FinishΒ». ΠΠ°ΡΠ½Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Android SDK Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Android SDK Π½Π° ΡΡΠ°ΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Configure. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ SDK Manager.
Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Android SDK (Appearance & Behavior β System Settings).
Π‘Π½ΠΈΠΌΠ°Π΅ΠΌ Π³Π°Π»ΠΎΡΠΊΡ Ρ Android 11.0 (R). Π‘ΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ Π½Π° Android 10.0 (Q). ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ SDK Tools.
Π‘ΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ Π½Π°ΠΏΡΠΎΡΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠ½ΠΊΡΠΎΠ²: Android Emulator, Android SDK Platform-Tools, Intel x86 Emulator Accelerator (HAXM installer). ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Apply.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Ok ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΡΡΡΡΡΡ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΌΡΠ»ΡΡΠΎΡΠΎΠ².
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Next.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈ Π² Android Studio. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Β«ΠΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΒ». ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«Π‘Π²ΠΎΠΉΡΡΠ²Π°Β».
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Β«ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡΒ» ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΒ».
Π ΠΏΠΎΠ»Π΅ Β«ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ UserΒ» Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Π‘ΠΎΠ·Π΄Π°ΡΡΒ».
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ANDROID_SDK_ROOT ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΠΏΡΠΈΠΌΠ΅Ρ: D:\ΡΠ²ΠΎΡ ΠΏΠ°ΠΏΠΊΠ°\AndroidStudioSDK). ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«ΠΠΒ».
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ANDROID_SDK_HOME ΠΈ ΠΏΡΡΡ (ΠΏΡΠΈΠΌΠ΅Ρ: D:\ΡΠ²ΠΎΡ ΠΏΠ°ΠΏΠΊΠ°\ AndroidStudioProjects).
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π² Android Studio. ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Configure ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Settings.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Path Variables.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ, Π½Π°ΠΆΠ°Π² Π½Π° ΠΏΠ»ΡΡ.
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ANDROID_SDK_ROOT ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΠΏΡΠΈΠΌΠ΅Ρ: D:\ΡΠ²ΠΎΡ ΠΏΠ°ΠΏΠΊΠ°\AndroidStudioSDK). ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«ΠΠΒ».
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ANDROID_SDK_HOME ΠΈ ΠΏΡΡΡ (ΠΏΡΠΈΠΌΠ΅Ρ: D:\ΡΠ²ΠΎΡ ΠΏΠ°ΠΏΠΊΠ°\ AndroidStudioProjects).
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Apply ΠΈ OK.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Configure ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ AVD Manager.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Create Virtual Device.
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π³ΠΎΡΠΎΠ²Π° ΠΊ ΡΠ°Π±ΠΎΡΠ΅. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ WebView ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ WebView ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΡΠ°ΡΡΠΎΠ²ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Create New Project.
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Empty Activity.
ΠΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java ΠΈ Minimum SDK (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Android, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅).
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡ manifest ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» AndroidManifest.xml.
ΠΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ.
ΠΠ΅ΡΠ΅Π΄ application ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄:
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² res β layout. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» activity_main.xml.
ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΊΠΎΠ΄Π°, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Split Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ.
Π£Π΄Π°Π»ΡΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΊΠΎΠ΄Π°.
ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΠ΅ java ΡΠ°ΠΉΠ» MainActivity.
ΠΠ½ΡΡΡΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ ΠΌΠ΅ΡΠΎΠ΄Π° @Override Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ΄:
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(«https://cpa.rip/»);
WebViewClient webViewClient = new WebViewClient() <
@SuppressWarnings(«deprecation») @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) <
view.loadUrl(url);
return true;
>
@TargetApi(Build.VERSION_CODES.N) @Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) <
view.loadUrl(request.getUrl().toString());
return true;
>
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» AndroidManifest.xml. Π ΠΊΠΎΠ½ΡΠ΅ ΡΠ΅Π³Π° application ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
android:configChanges=»orientation|keyboardHidden|screenSize»
ΠΠ½ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ΅ ΡΠΊΡΠ°Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΠΎΡΡ.
ΠΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π΄Π΅Π»Π°Π΅ΠΌ Π²ΡΡ ΡΡΠΊΠ°ΠΌΠΈ. ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, Π½Π°Π²ΠΎΠ΄ΠΈΠΌ ΠΊΡΡΡΠΎΡ ΠΈ Π² ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠΊΠ΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Import class.
Π£ Π²ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ. Π§ΡΠΎΠ±Ρ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΠΏΠ°ΠΏΠΊΡ Res Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ New ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Image Asset.
Π Π³ΡΠ°ΡΠ΅ Path Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΠ°ΠΏΠΊΠΈ. ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Next ΠΈ Finish.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΌΡΠ»ΡΡΠΎΡ.
ΠΡΠ»ΠΈ Π²ΡΡ Ρ ΠΎΡΠΎΡΠΎ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ.
ΠΡΠΎΡΡΠΎΠ΅ WebView ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ APK-ΡΠ°ΠΉΠ».
Π ΠΌΠ΅Π½Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Build ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Generate Signed Bundle/APKβ¦
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ APK ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Next.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΏΠΎΠ»Π΅ Key store path Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Create new.
Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΌΠ΅Π½Ρ Π² ΠΏΠΎΠ»Π΅ Key store path Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΏΠ°ΠΏΠΊΡ ΡΠΏΡΠ°Π²Π°. ΠΡΠΈΠ΄ΡΠΌΡΠ²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠ°Π»ΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΠΎΠ»ΠΈ.
ΠΠΈΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΠΌΡ, Π€Π°ΠΌΠΈΠ»ΠΈΡ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, Π³ΠΎΡΠΎΠ΄, ΡΠ΅Π³ΠΈΠΎΠ½, ΠΊΠΎΠ΄ ΡΡΡΠ°Π½Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ XX.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ OK ΠΈ Next.
Π ΠΏΠΎΠ»Π΅ Destination Folder ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ, ΠΊΡΠ΄Π° ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ APK-ΡΠ°ΠΉΠ». ΠΠΈΠΆΠ΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ release ΠΈ ΡΡΠ°Π²ΠΈΠΌ ΠΎΠ±Π΅ Π³Π°Π»ΠΎΡΠΊΠΈ Π²Π½ΠΈΠ·Ρ.
ΠΠΎΠΆΠ΄ΡΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ APK-ΡΠ°ΠΉΠ»Π°.
ΠΡΠΎΡΡΠΎΠ΅ WebView-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ°Π±ΠΎΡΠ΅.













































