ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

Android-прилоТСния Π½Π° JPHP

Π›ΡŽΠ΄ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄ Π½Π° PHP ΡΠ΄Π΅Π»Π°ΡŽΡ‚ всё Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки. Π”Π°, я Π² курсС Ρ‡Ρ‚ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π° Π₯Π°Π±Ρ€Π΅ ΡƒΠΆΠ΅ Π±Ρ‹Π» способ ΠΏΠΈΡΠ°Ρ‚ΡŒ Android-прилоТСния Π½Π° PHP, Π½ΠΎ Π±Ρ‹Π»ΠΎ принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ быстрый ΠΈ совмСстимый с Java JPHP.

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

О языкС JPHP

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ вопрос. А Ρ‡Ρ‚ΠΎ Π·Π° JPHP? ΠžΡ‚Π²Π΅Ρ‚ Π΅ΡΡ‚ΡŒ Ρ‚ΡƒΡ‚-ΠΆΠ΅, Π½Π° Π₯Π°Π±Ρ€Π΅:

Ну, Π° ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ. Π—Π° Ρ‚Π΅ 4 Π³ΠΎΠ΄Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° написания этих постов ΠΎ JPHP этот язык помСнялся Π² Π»ΡƒΡ‡ΡˆΡƒΡŽ сторону. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ появился собствСнный ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ jppm ΠΏΡ€ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌ Ρ‚ΠΎΠΆΠ΅ сСгодня придётся ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ.

Как всё Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ

Всё Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΅ΠΌΡƒ Π΄Ρ€ΡƒΠ³Ρƒ ΠΏΡ€ΠΈΡˆΠ»Π° идСя ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для Android Π½Π° JPHP. Π― Π΄Π°Π» ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Ρ‚ΠΎΡ‚ пост, ΠΏΡ€ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅, Π½ΠΎ Π΅ΠΌΡƒ этот способ Π½Π΅ понравился Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ PHP. Ну, Π° ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ Π½Π° Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ извСстном языкС JPHP Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всё сами.

ΠŸΠΎΠ»ΠΈΡΡ‚Π°Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΌΡ‹ Ρ‚ΠΎΠ³Π΄Π° Π½Π΅ нашли Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π°, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JavaFXPorts. Π”Π° ΠΈ сам ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ этого языка Ρ…ΠΎΡ‚Π΅Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ Π² качСствС GUI Π΄Π²ΠΈΠΆΠΊΠ° для JPHP Π·Π° 2 Π³ΠΎΠ΄Π°, Ρ‚Π°ΠΊ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈ Π½Π΅ сдСлав.

Как говорится β€” Β«ΠšΡ‚ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ тСбя». Π― бросился глобально ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ языка JPHP.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ нСсколько нСдСль Π±Ρ‹Π»ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌΠΈ. Π― ΡƒΠΆΠ΅ написал Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ build скрипта для gradle ΠΈ всё Π±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, apk собирался, Π½ΠΎ ΠΏΡ€ΠΈ запускС Π²Ρ‹Π΄Π°Π²Π°Π»Π°ΡΡŒ нСизвСстная ΠΌΠ½Π΅ Π½Π° Ρ‚ΠΎ врСмя ошибка. Π― сразу понял Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΠ·-Π·Π° JPHP Π½ΠΎ Π½Π΅ Π²ΠΈΠ΄Π΅Π» я ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‚Π°ΠΊΡƒΡŽ. БСйчас я ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‡Ρ‚ΠΎ эта ошибка Π±Ρ‹Π»Π° ΠΈΠ· Π·Π° сгСнСрированного Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°. DalvikVM банально Π½Π΅ ΠΌΠΎΠ³ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ сгСнСрированный для JVM. ИмСнно это стало ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ прСпятствиСм. Π’Π°ΠΊ ΠΊΠ°ΠΊ PHP Ρ„Π°ΠΉΠ»Ρ‹ Π² JPHP прилоТСниях Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ вовсС. Π‘Ρ‹Π» Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ phb, Π½ΠΎ это Π½Π΅ Ρ€Π΅ΡˆΠ°Π»ΠΎ Π½Π°ΡˆΡƒ Π·Π°Π΄Π°Ρ‡Ρƒ вовсС. ЕдинствСнным способом стало написаниС собствСнного компилятора, Ρ‡Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сработало, Π½ΠΎ принСсло ряд ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ связанных с include ΠΈ eval, спасибо, Dalvik.

ПослС ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ± ΠΈ ошибок я всё ΠΆΠ΅ сумСл ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π•Ρ‘ исходники находятся Ρ‚ΡƒΡ‚. Π­Ρ‚Π° вСрсия Π±Ρ‹Π»Π° Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ быстрая. Π”Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JavaFX Π½Π° Android это ΠΌΠ°Π·Π°Ρ…ΠΈΠ·ΠΌ.

По этому я принял Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ всё с чистого листа. ΠŸΡ€ΠΈΠ½ΡΠ» я это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ. По этому Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для JPHP Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сыровата. Но Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Всё начинаСтся с Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ jppm собираСт всС ваши исходники ΠΈ зависимости Π² ΠΎΠ΄ΠΈΠ½ jar Ρ„Π°ΠΉΠ». ПослС Ρ‡Π΅Π³ΠΎ компилируя Π² Π½ΠΈΡ… всС Ρ„Π°ΠΉΠ»Ρ‹ php Π² class Ρ„Π°ΠΉΠ»Ρ‹. ПослС Ρ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ jar Ρ„Π°ΠΉΠ» добавляСтся Π² зависимости ΠΊ gradle. А ΠΎΠ½ ΡƒΠΆΠ΅ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ эти class Ρ„Π°ΠΉΠ»Ρ‹ Π² dex. Π’ этом вСсь сСкрСт.

Π‘ запуском прилоТСния всё слоТнСй. Π’ AndroidManifest.xml ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ всСго ΠΎΠ΄ΠΈΠ½ BootstrapActivity ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ вСсь JPHP. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ этот BootstrapActivity ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ· JPHP. Для Activity я создал ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½Ρ‹Π΅ классы.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ самый BootstrapActivity ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ JPHP.

Π― Π΄ΡƒΠΌΠ°ΡŽ Π²Π°ΠΌ ΡƒΠΆΠ΅ стало понятно ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° JPHP.

НСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ самый ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠΊΠ΅Ρ€ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΡ‚ этот ΠΊΠΎΠ΄ :

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΡƒ Π»ΠΈΠ±ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ интСрСсСн. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ описываСт ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ ΠΈ 10% Android API. Π”Π° ΠΈ написаниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android Π½Π° PHP Π½Π΅ ΠΊΠ°Π½ΠΎΠ½. Но Π΄ΡƒΠΌΠ°ΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°ΠΉΠ΄Ρ‘Ρ‚ свою Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π΅Π±-сайт Π² мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 7 строк JSON

Π’ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ сСгодня, Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΎ создании ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Автор этой ΡΡ‚Π°Ρ‚ΡŒΠΈ дСмонстрируСт инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ усилиями Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ прилоТСния, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ возмоТностями ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ iOS ΠΈ Android ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π² сСбя ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… сайтов ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ рСсурсы. Π•Π³ΠΎ рассказ начинаСтся с Ρ‚Π΅Ρ… самых сСми строк JSON-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ сайты Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния.

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния
ΠŸΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π²Π΅Π±-сайта Π² мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

ΠžΠ±Π·ΠΎΡ€

На рисункС Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π΅Π±-сайт Π² мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ частности, Π·Π° Β«ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅Β» ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ сСмь строк JSON, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ возмоТности, относящиСся ΠΊ мобильной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π§Ρ‚ΠΎ, Ссли я скаТу Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этим ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ сайт, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ Π½Π΅ΠΊΠΈΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡŽΡ‰ΠΈΠΌ внСшний Π²ΠΈΠ΄ рСсурса ΠΊ Π²ΠΈΠ΄Ρƒ мобильного прилоТСния? Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ссли вСсь процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ сайта ΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌΡƒ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π²Ρ‹ΡˆΠ΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ URL?

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²ΠΎΡ‚ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ вопрос: «МоТно Π»ΠΈ, просто рСдактируя JSON, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ API, с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСмными ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ страницами?Β».

Пока Π²Ρ‹ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΠ΅Ρ‚Π΅ Π½Π°Π΄ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ Π½Π° эти вопросы, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ выглядит ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ минимальноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, созданноС с использованиСм инструмСнтов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я Ρ…ΠΎΡ‡Ρƒ здСсь Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ.

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ я встроил Π² это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ страницу с github.com, ΠΎΠ΄Π½Π°ΠΊΠΎ всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ β€” это Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π²Ρ€ΠΎΠ΄Π΅ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния. ΠŸΡ€ΠΈ этом ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ страницами прилоТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ систСмныС возмоТности. ДСлаСтся это автоматичСски ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π² ΠΊΠΎΠ΄ сайта.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ я расскаТу ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это сдСлано, Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ Ρ€Π΅Π·ΠΎΠ½Π½Ρ‹ΠΉ вопрос: «Всё это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅, Π° Π½Π΅ Π½Π΅Ρ‡Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ простого «просмотрщика» Π²Π΅Π±-страниц Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ прилоТСния?Β».

ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ вопрос. БобствСнно говоря, ΠΎΡ‚Π²Π΅Ρ‚Ρƒ Π½Π° Π½Π΅Π³ΠΎ ΠΈ посвящСна данная ΡΡ‚Π°Ρ‚ΡŒΡ. Если Π² Π΄Π²ΡƒΡ… словах, Ρ‚ΠΎ ΡΡƒΡ‚ΡŒ рассматриваСмой здСсь ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании двустороннСго ΠΊΠ°Π½Π°Π»Π° связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ для Π²Ρ‹Π²ΠΎΠ΄Π° Π²Π΅Π±-содСрТимого ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ это даст Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ JavaScript-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, находящиСся Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ API, располоТСнным Π·Π° Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ.

ВзглянСм Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅.

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для создания QR-ΠΊΠΎΠ΄ΠΎΠ²

Π’ΠΎΡ‚ основныС составныС части этого прилоТСния:

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΈ взаимодСйствиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² прилоТСния. А ΠΈΠΌΠ΅Π½Π½ΠΎ, QR-ΠΊΠΎΠ΄ мСняСтся послС Π²Π²ΠΎΠ΄Π° Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ДСлаСтся это благодаря возмоТности Π²Ρ‹Π·ΠΎΠ²Π° JavaScript-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, располоТСнной Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Π΅Π±-прилоТСния, которая ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° созданиС QR-ΠΊΠΎΠ΄ΠΎΠ² Π½Π° основС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ пытался Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Β«ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС ΠΎΠ½ΠΈ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° систСмныС возмоТности ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π»ΠΈΠ±ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° HTML5.

Когда говорят ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ всё крутится Π²ΠΎΠΊΡ€ΡƒΠ³ вопроса ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚: основанный Π½Π° HTML5 ΠΈΠ»ΠΈ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… API. Π§Ρ‚ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ, Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… рассуТдСниях Π½Π΅ поднимаСтся Ρ‚Π΅ΠΌΠ° сосущСствования этих Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², ΠΈ, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ рассматриваСтся эффСкт синСргии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, благодаря совмСстному использованию Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ, полагаясь лишь Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ.

Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π²Π΅Ρ‰Π°Ρ…:

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π±-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ сначала ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π»ΠΈ это β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ возмоТности HTML ΠΈ JS Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях, ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π’ΠΎΡ‚ нСсколько ситуаций, ΠΊΠΎΠ³Π΄Π° смСшиваниС Π²Π΅Π±-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ возмоТностями ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ кстати.

▍1. ИспользованиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, созданных для Π²Π΅Π±

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… частСй ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ смысл использованиС Π²Π΅Π±-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. НапримСр, WebSocket β€” это тСхнология, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ориСнтированная Π½Π° Π²Π΅Π±. Для Π΅Ρ‘ использования ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ встроСнный Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π²Π΅Π±-Π΄Π²ΠΈΠΆΠΎΠΊ ( WKWebView для iOS ΠΈ WebView для Android) вмСсто установки стороннСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, которая попросту «эмулируСт» WebSocket.

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, достаточно, примСняя стандартныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ. Π­Ρ‚ΠΎ Π²Π΅Π΄Ρ‘Ρ‚ нас ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ситуации.

▍2. УмСньшСниС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚Π° прилоТСния

ИспользованиС Π²Π΅Π±-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Π΅Π· этих Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π±Ρ‹ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

НапримСр, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ QR-ΠΊΠΎΠ΄ΠΎΠ², понадобится сторонняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° прилоТСния. Однако Ссли ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ для этого стандартноС срСдство для просмотра Π²Π΅Π±-страниц ΠΈ JS-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΡƒΡŽ ΠΊ страницС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простой конструкции

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Мобильная Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: HTML5 ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android

ВступлСниС

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ способ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для мобильного Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°. МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сайт, ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈ вуаля, Π²ΠΎΡ‚ Π²Π°ΠΌ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅! ИмСнно Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ phonegap.com ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π£Π²Π΅Ρ€Π΅Π½ Ρ‡Ρ‚ΠΎ Π½ΠΈ стоит ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ†Π΅Π»Π΅ΡΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Она Π½Π° Π»ΠΈΡ†ΠΎ. Π”Π°, Π·Π½Π°Π½ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ большС Ρ‡Π΅ΠΌ Ρƒ срСднСстатистичСского Π²Π΅Π± Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π½ΠΎ всС ΠΆΠ΅, это сайт! Π­Ρ‚ΠΎ понятно! Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ HTML, это Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€, Ρ‚ΠΎΡ‚ ΠΆΠ΅ Javascript. Найти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½ΠΈ Ρ‚Π°ΠΊ слоТно, ΠΊΠ°ΠΊ скаТСм β€œΠ½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎβ€. А ΡƒΠΆ Ссли ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‚Π°ΠΊ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ это панацСя. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΡ‹ Ρ‚ΠΎ с Π²Π°ΠΌΠΈ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΊΠ°ΠΊΠΎΠΉ β€œΠΏΠΈΠ»ΡŽΠ»ΠΈβ€ Π½Π΅ сущСствуСт, Π½ΠΎ Π² рядС случаС, это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ best practic

Π˜Ρ‚Π°ΠΊ, ΠΌΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π·Π²ΡƒΡ‡Π°Π»ΠΎ Ρ‚Π°ΠΊ: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ ОБ Android. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β€” ΠΈΠ³Ρ€Π°. ΠšΠ²Π΅ΡΡ‚. Π‘ΡƒΡ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: Π³Ρ€ΡƒΠΏΠΏΠ° людСй, ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… интСрСсно ΠΎΡ‚Π΄ΠΎΡ…Π½ΡƒΡ‚ΡŒ, дСлятся Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. КаТдой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ даСтся ΠΏΠΎ смартфону. Π’ смартфонС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ соСдиняСтся с сСрвСром ΠΈ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° приходят вопросы. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ½ΠΈ свои. Вопросы ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ вопросы с Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², Π½Ρƒ скаТСм Бколько Π»Π΅Ρ‚ Π³ΠΎΡ€ΠΎΠ΄Ρƒ Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³?, Ρ‚Π°ΠΊ ΠΈ вопросы Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ. НайдитС ΠΏΠ°Ρ€Π°Π΄Π½Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ Π² ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹ΠΉ Π·Π°ΠΌΠΎΠΊ. Команда двигаСтся, Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π²Ρ…ΠΎΠ΄, Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠœΡ‹ Π½Π° мСстС ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ уходят Π½Π° сСрвСр. ΠžΡ‚ сСрвСра ΠΎΡ‚Π²Π΅Ρ‚, Π²Π΅Ρ€Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ вопросы Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. НапримСр Π‘Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€ΡƒΠΉΡ‚Π΅ сСбя Π½Π° Ρ„ΠΎΠ½Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ Π·Π°ΠΌΠΊΠ°. Π’ суммС, всС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚, набирая большС ΠΎΡ‡ΠΊΠΎΠ². Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅ всС.

Π¨Π°Π³ 1 β€” ΠΏΡ€ΠΎΡ‚ΠΈΡ‚ΠΈΠΏΡ‹

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π°ΠΌ понятно. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‡Ρ‚ΠΎ тСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡƒΠΆΠ΅ составлСно. Π§Ρ‚ΠΎ Π΅Ρ‰Π΅? НуТны ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹. Π’ΠΎΡ‚ ΠΎΠ½ΠΈ:

Π¨Π°Π³ 2 β€” ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг. НуТно ΠΈΡ… ΠΎΡ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ. БСрСмся Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, получаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

Π¨Π°Π³ 3 β€” Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Sencha Touch. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ сдСлан Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ExtJS. Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ количСство классов. ΠšΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅ΠΌ ΠΈΡ…, настраиваСм β€” ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Доступ ΠΊ HTML элСмСнтам Π΅ΡΡ‚ΡŒ, Π½ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ элСмСнтами ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ. Π“Ρ€ΡƒΠ±ΠΎ говоря, ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ стандартноС Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ элСмСнтов ΠΊΡ€Π°ΠΉΠ½Π΅ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π—Π°Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ сСрвСра ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON ΠΎΠ΄Π½ΠΎ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅.

И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Jquerymobile это доступ ΠΊ элСмСнтам, ΠΏΠΎ сути Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Jquery. Π”ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅Π³ΠΈ ΠΊ элСмСнтам. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΠΎ этим Ρ‚Π΅Π³Π°ΠΌ дополняСт элСмСнты стилями ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ элСмСнтами. Π’ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠΎΡ€ΠΊ с JSON Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ сСрвСра Ρƒ мСня Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. Jquerymobile ΠΆΠ΄Π΅Ρ‚ ΠΎΡ‚ сСрвСра html ΠΊΠΎΠ΄. БСзусловно ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ JSON ΠΈ Π΅Π³ΠΎ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π² html ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ собствСнно ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Sencha. Но это Π½ΠΈ Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π² Ρ€Π°Π·Ρ€Π΅Π· с ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡ€Π°ΠΉΠ½Π΅ слоТно.

Π‘Ρ‚ΠΎΠΏ. А Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ? Π§Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ, ΠΏΠΎ сути, это, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, готовая элСмСнтная Π±Π°Π·Π°, Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ†Π΅Π»ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (сайт) Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. А Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΌ это? НСт. А ΠΊΠ°ΠΊ ΠΆΠ΅ PhoneGap? А Ρ‡Ρ‚ΠΎ ΠΎΠ½, Π΅ΠΌΡƒ всС Ρ€Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. Ни Π³Π΄Π΅ Π½ΠΈ ΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π΅Ρ‚. Ну Ρ‚ΠΎΠ³Π΄Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ просто свСрстаСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ сайт ΠΈ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ½Ρ†ΠΎΠΌ!

Π¨Π°Π³ 4 β€” вСрстаСм

Π‘Π°ΠΌ процСсс вСрстки Π½ΠΈ Ρ‡Π΅ΠΌ Π½ΠΈ отличаСтся ΠΎΡ‚ стандартного. Π•ΡΡ‚ΡŒ бСзусловно Π½ΡŽΠ°Π½ΡΡ‹, Π²ΠΎΡ‚ ΠΎ Π½ΠΈΡ… ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Ρ‚Π°ΠΊΠΈΠΌ нюансом ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³ΠΈ.

Π‘Π΅Π· этой строчки Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ html ΠΊΠΎΠ΄Π°, вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ сайт. Π‘Ρ€ΠΎΡƒΠ·Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ Π·ΡƒΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСалистичности ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ совсСм Π½Π΅ добавляСт.

И самый послСдний нюанс это position:fixed. И это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈΠ±ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Ρ‚ΡƒΡ‚ Π½Π΅Ρ‚. ВсС упираСтся Π² сами ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€Ρ‹, ΠΎΠ½ΠΈ просто Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚, ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». Ни получаСтся Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния ΠΎΠ΄Π½ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для всСх случаСв. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, jquerymobile, Π΄ΠΎ вСрсии 1.1, Π² случаС Ссли Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ position: fixed, эмулировал скроллированиС ΠΈ динамичСски мСнял ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹Ρ… элСмСнтов, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ΄Π°Π²Π°Π»Π° рСалистичности ΠΈ ΠΏΠΎΡ€ΠΎΠΉ выглядСло β€œΠ½ΠΈ айс”.

Π’ΠΎΡ‚ ΠΏΠΎ этой ссылкС Π΅ΡΡ‚ΡŒ описаниС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ position: fixed
bradfrostweb.com/blog/mobile/fixed-position
Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ссылки Π½Π° Javascript Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ position: fixed ΠΈ процСсса скроллирования. К соТалСнию Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π½Π°Π·Π²Π°Ρ‚ΡŒ нСльзя.

Π’ ΠΌΠΎΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаС, мобильная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π±Ρ‹Π»Π° ΡƒΠΊΠ°Π·Π°Π½Π° ΠΊΠ°ΠΊ Android 2.3, Π° ΠΎΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ position: fixed, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ zoom Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎ сути Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ. Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ viewport

И прописываСм стили

Π¨Π°Π³ 5 β€” эмуляторы

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€Π΅, Π² ΠΎΠΊΠ½Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, скаТСм 320×480, Π° ΠΊΠ°ΠΊΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ экрана Ρƒ вашСго ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°? На ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят эмуляторы. Π‘Π°ΠΌΡ‹ΠΉ простой эмулятор ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² вашСм Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€Π΅! Если Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ свСрстанныС страницы Π² Google Chrome ΠΈ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Ctrl+Shift+I, Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π’ ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠΊΠΎΠ½ΠΊΡƒ с ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΠΎΠΉ, Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡ‚Π΅ Π½Π° Π½Π΅Π΅. Π”Π°Π»Π΅Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Override ΠΈ Π²ΠΎΡ‚ ΠΎΠ½, ваш эмулятор. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ User Agent ΠΈ ставим Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Device Metric. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС этого Π±ΡƒΠ΄Π΅Ρ‚ достаточно.

А Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ эмулятор ΠΎΡ‚ самого PhoneGap! emulate.phonegap.com
НазываСтся Ripple. Бтавится Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΊ Google Chrome. Π£Ρ€Π°! Наши возмоТности Ρ€Π΅Π·ΠΊΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈΡΡŒ. Π’ случаС, Ссли Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ cordova для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° прилоТСния, скаТСм для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° ΠΈΠ»ΠΈ компасом, Ρ‚ΠΎ Ripple даст Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ процСссы.

Ну ΠΈ Ρ€Π°Π· пошла Ρ€Π΅Ρ‡ΡŒ ΠΏΡ€ΠΎ эмуляторы, нСльзя Π½ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎ эмулятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΡΡ вмСстС с Eclipse, Ссли ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ инструкции ΠΎΡ‚ Phonegap
docs.phonegap.com/en/2.2.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android
Π­Ρ‚ΠΎΡ‚ эмулятор ΡƒΠΆΠ΅ Π²Π΅Π΄Π΅Ρ‚ сСбя совсСм ΠΊΠ°ΠΊ настоящСС устройство. ВсС ошибки, ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ‹Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π½Π° этом эмуляторС, всС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π±Ρ‹Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ΠΈ Π½Π° устройствС. Ну ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этим эмулятором ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ слоТно. Π”ΠΎΠ»Π³ΠΎ грузится, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ тСкст Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ Ρ‚.Π΄. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ½ для самой послСднСй стадии. Когда вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ прСкрасно Π½Π° всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π½Π΅Π΅ пСрСчислСнных эмуляторах.

Π¨Π°Π³ 6 β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ

Π₯ΠΎΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈ для программистов, Ρ€Π°Π·ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄ Ρ‚ΡƒΡ‚ просто Π³Π»ΡƒΠΏΠΎ. ΠžΠΏΠΈΡˆΡƒ Π² ΠΎΠ±Ρ‰Π΅ΠΌ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎ сути, Π½ΠΈ отличаСтся ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ нСбольшого сайта. Π’ΡƒΡ‚ Ρ‚Π΅ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹, Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π½Π° Javascript. Π’ΠΎΡ‚ ΠΆΠ΅ MVC, Ρ‚Π΅ ΠΆΠ΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹: синглСтон, ΠΊΠΎΠΌΠΏΠ°Π½ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈ Ρ‚.Π΄.

Π’ΠΎΡ‚ Ρ„Ρ€ΠΎΠ½Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€

* Π’ javascript Π½Π΅Ρ‚ магичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Если скаТСм Π² PHP ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ __call, ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ App.SomeSome(β€˜ ’), Ρ‚ΠΎ Ρ‚ΡƒΡ‚ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ App.Run(β€˜SomeSome’, β€˜ ’)

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°:

Π’ΠΎΡ‚ нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прСдставлСния

По сути, Ρ‚ΡƒΡ‚ Ρ‚ΠΎΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ Π² случаС, Ссли Π±Ρ‹ сайт писался Π½Π° PHP. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°, Javascript β€” асинхронный язык ΠΈ Π±Π΅Π· callback Ρ‚ΡƒΡ‚ Π½ΠΈ ΠΊΠ°ΠΊ (Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅)

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ хочСтся остановится Π½Π° Π½ΡŽΠ°Π½ΡΠ°Ρ…, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ‚ΠΎΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ смартфона. Из ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ javascript Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ этого Π΄Π΅Π»Π°Ρ‚ΡŒ. На ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Cordova, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ PhoneGap. А Π²ΠΎΡ‚ ссылка, Π½Π° описаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ функциями Javascript ΠΈ Π² частности с ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ, я ΠΆΠ΄Π°Π» ΠΎΡ‚ Π½ΠΈΡ… большС всСго ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. И Π½Π΅ напрасно. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, с Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ столкнутся, это с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ послС Ρ„ΠΎΡ‚ΠΎ съСмки, ΠΊΠ°ΠΌΠ΅Ρ€Π° просто ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»Π° Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ экран ΠΈ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π°ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Как оказалось, это связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ фотография дСлалась максимального качСства ΠΈ Ρ„Π°ΠΉΠ» получался большой. ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π΅Π³ΠΎ пСрСноса Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² слСдствиС Π½Π΅ большой мощности самого Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ сущСствСнноС врСмя. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ внСсти измСнСния Π² дСмонстрационный ΠΊΠΎΠ΄

Но ΠΈ это оказалось Π΅Ρ‰Π΅ Π½Π΅ всС. ΠœΠ΅Ρ‚ΠΎΠ΄ getPicture Π²ΠΎΠ·Ρ€Π°Ρ‰Π°Π΅Ρ‚ base64 Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ, Π° Π²ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ запросов JSONP.
ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ количСство Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· GET запрос Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. БСрвСрная Ρ‡Π°ΡΡ‚ΡŒ, кстати, Π½Π΅ помню Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» я ΠΈΠ»ΠΈ Π½Π΅Ρ‚, Π½Π° PHP. Π”Π°, Π½Π΅ самоС Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎ WebSocket ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±Ρ‹Ρ‚ΡŒ. ΠŸΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ВСроятно, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Ρ‹Π»Π° ΠΎΠ΄Π½Π° ΠΈΠ· самых слоТных. А Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ нашлось ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅. ВрСмя ΠΈΠ΄Π΅Ρ‚ ΠΈ стандартныС классы Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ΡΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π’Π°ΠΊ Π²ΠΎΡ‚ класс XMLHttpRequest обзавСлся Π½ΠΎΠ²Ρ‹ΠΌΠΈ событиями. ΠšΡ€ΠΎΠΌΠ΅ стандартного onreadystatechange появилось Ρ‚Π°ΠΊΠΆΠ΅ событиС onload. Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ сСрвСра β€œΠΏΠΎΠ²Π΅ΡˆΠ°Ρ‚ΡŒβ€ Π½Π° Π½Π΅Π³ΠΎ, ΠΈ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Content-Type ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ application/x-form-urlencoded, Ρ‚ΠΎ Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ кроссдомСнный запрос ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ POST, Ρ‡Ρ‚ΠΎ, собствСнно Π½Π°ΠΌ ΠΈ Π½ΡƒΠΆΠ½ΠΎ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

И Π΅Ρ‰Π΅, ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠšΡ€ΠΎΡΡΠ΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΉ запрос, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½, являСтся синхронным, Π΄Π°ΠΆΠ΅ Π½Π΅ смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ выглядит ΠΊΠ°ΠΊ асинхронный.

Бтолкнулся я Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Same Origin Policy. РСшСниС этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π»Π΅ΠΆΠΈΡ‚ Π½Π° сСрвСрной сторонС. Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… прописываСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° кросс Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΉ запрос ΠΈ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ½Ρ†ΠΎΠΌ.

Π₯очСтся Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² случаС, Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠΌ: аксСлСромСтр, компас, ΠΊΠ°ΠΌΠ΅Ρ€Π°, ΠΌΠ΅Π΄ΠΈΠ° ΠΈ Ρ‚.Π΄. ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ cordova Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (Π° это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 300 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚). ГСолокация, кстати, доступна ΠΈ Π±Π΅Π· Π½Π΅Π΅.

Π¨Π°Π³ 7 β€” ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅ΠΌ

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ эмулятора, Π² ΠΏΠ°Π½Π΅Π»ΠΈ LogCat Eclipse Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство сообщСний. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ вопрос ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ β€” ΠΊΠ°ΠΊΠΈΠ΅ наши? Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свои ошибки, ΠΈ Π² частности, Π²ΠΈΠ΄Π΅Ρ‚ΡŒ сообщСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² консоль console.log, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€. Π’ ΠΏΠ°Π½Π΅Π»ΠΈ LogCat, слСва, Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ, Saved Filters. ΠžΡ‚ΠΊΡ€Ρ‹Π² Π΅Π΅, Π²Ρ‹ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ пустой список, ΠΈΠ±ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Ρƒ нас ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚. НаТимаСм Π½Π° плюсик ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ

Π’Π²ΠΎΠ΄ΠΈΠΌ Π² Log Tag web console, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Log консоль Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ сообщСния ΠΎΡ‚ вашСго Π²Π΅Π± прилоТСния.

Как ΠΈ оТидалось, эмулятор Π² Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€Π΅, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ эмулятор Π² Eclipse. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, появились ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ.

НачинаСм ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Ρ‡Ρ‚ΠΎ ошибка вызываСтся Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ получСния Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСром. Ошибка Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ статус 0. НачинаСм ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Google, ΠΈ Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ
simonmacdonald.blogspot.ru/2011/12/on-third-day-of-phonegapping-getting.html
stackoverflow.com/questions/11230685/phonegap-android-status-0-returned-from-webservice

Π”Π΅Π»Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄: вСроятно Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ статус 0, ΠΊΠ°ΠΊ Π²Π΅Ρ€Π½Ρ‹ΠΉ статус, для продолТСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра. Π˜Ρ‰Π΅ΠΌ, Π³Π΄Π΅ ΠΆΠ΅ это сообщСния JSCallback ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ cordova.js Π½Π° строкС 3740 (cordova-2.1.0.js)

ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ if (xmlhttp.status === 200) Π½Π° if (xmlhttp.status === 200 || xmlhttp.status === 0) ΠΈ вуаля β€” Π½ΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта!

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ я ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» Ρ†Π΅Π»Ρ‹ΠΉ дСнь, ΠΊΡ€ΡƒΠΆΠ° Π²ΠΎΠΊΡ€ΡƒΠ³ этой ошибки. Π‘ΠΊΠ°ΠΆΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π» Π³ΠΎΡ‚ΠΎΠ² ΠΎΡ‚Ρ‡Π°ΡΡ‚ΡŒΡΡ, ΠΈΠ±ΠΎ Π½ΠΈ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ всС Ρ€Π°Π²Π½ΠΎ ΠΏΠ°Π΄Π°Π»ΠΎ, ΠΏΠΎΠΊΠ° я просто Π½Π΅ Ρ€Π΅ΡˆΠΈΠ» Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°. И ΠΎ Ρ‡ΡƒΠ΄ΠΎ! Ошибка исчСзла! Возвращая, ΠΏΠΎ частям, свой ΠΊΠΎΠ΄, я нашСл Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ, которая ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ ошибкС.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ смСна Π₯Сша, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ Ρ‚Π°ΠΊΠΎΠΉ ошибкС, для мСня ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π·Π°Π³Π°Π΄ΠΊΠΎΠΉ. Если Ρƒ ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ мысли Π½Π° этот счСт β€” Π²Π΅Π»ΠΊΠΎΠΌ.

Π¨Π°Π³ 8 β€” запускаСм

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ Π½Π΅ посрСдствСнно Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅, достаточно Π²ΠΎΠΉΡ‚ΠΈ Π² Ρ€Π΅ΡˆΠΈΠΌ настройки, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Ρ‚Π°ΠΌ взвСсти Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΏΡƒΠ½ΠΊΡ‚Π° ΠžΡ‚Π»Π°Π΄ΠΊΠ° USB. Π”Π°Π»Π΅Π΅, наТимая RUN Π² eclipse, срСда ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Ρ‡Ρ‚ΠΎ Ρƒ вас ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΊ USB, Π° я надСюсь Π²Ρ‹ ΡƒΠΆΠ΅ это сдСлали, ΠΈ Π½Π°Ρ‡Π½Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· сайта ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Google Play Π·Π° нСсколько часов. Π§Π°ΡΡ‚ΡŒ 1/2: Progressive Web App

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

НавСрноС, всС Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ люди ΡƒΠΆΠ΅ Π½Π°ΡΠ»Ρ‹ΡˆΠ°Π½Ρ‹ ΠΎ Progressive Web App. Π•Ρ‰Ρ‘ Π±Ρ‹! Π­Ρ‚Π° тСхнология практичСски уравняла Π²Π΅Π± ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния распространСния ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ вовлСчённости ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

И казалось Π±Ρ‹, всё прСкрасно! Но ΡƒΠ²Ρ‹, Π·Π° 10 с лишним Π»Π΅Ρ‚ мобильной эпохи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ слишком сильно ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ прилоТСния Π² Google Play ΠΈ App Store. Π›ΠΎΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ β€” Π΄Π΅Π»ΠΎ Π½Π΅Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΠ΅, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ рСбята ΠΈΠ· Google (кстати, Google являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ PWA) Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ссли Π³ΠΎΡ€Π° Π½Π΅ ΠΈΠ΄Ρ‘Ρ‚ ΠΊ ΠœΠ°Π³ΠΎΠΌΠ΅Π΄Ρƒ, то… Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, совсСм Π½Π΅Π΄Π°Π²Π½ΠΎ, 6 фСвраля 2019 Π³ΠΎΠ΄Π°, ΠΎΠ½ΠΈ обСспСчили использованиС Trusted Web Activities для Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Google Play.

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΈΠ· Π΄Π²ΡƒΡ… частСй Π±ΡƒΠ΄Π΅Ρ‚ рассказано, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π²Π΅Π±-сайта Π΄ΠΎ прилоТСния Π² Google Play всСго Π·Π° считанныС часы. Всё это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвиса β€” Π‘ΠΊΠΎΡ€ΠΎΡ‡Ρ‚Π΅Ρ†.

Lighthouse

На Π²Ρ…ΠΎΠ΄Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Π²Π΅Π±-сайт с мобильной вёрсткой:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Lighthouse Π² Google Chrome Π½Π° своём Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π­Ρ‚ΠΎ инструмСнт для Π°Π½Π°Π»ΠΈΠ·Π° сайтов Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ соотвСтствия стандарту Progressive Web App Π² частности.

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Progressive Web App ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π΄Π΅Π» Installable. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ссли Π²Ρ‹ запускаСтС сайт локально, Π° Π²Π°ΠΌ придётся это Π΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½ localhost ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Благодаря этому Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Β«Use HTTPSΒ», Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ Lighthouse просто Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ Π³Π»Π°Π·Π° Π½Π° Π½Π΅Π³ΠΎ, ΠΈ Π²Ρ‹ смоТСтС ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой PWA.

ΠšΡ€ΠΎΠΌΠ΅ трСбования HTTPS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π² PWA ΠΈ стало устанавливаСмым, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ сайту service worker ΠΈ Web app manifest. Π”Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм это.

Service worker

ВСхнология service workers позволяСт Π²Π°ΡˆΠ΅ΠΌΡƒ сайту Π±Ρ‹Ρ‚ΡŒ online Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° сСрвСр нСдоступСн. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ посрСдник ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ запрос ΠΈ Π² случаС Ρ‡Π΅Π³ΠΎ подсовываСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша Π² качСствС ΠΎΡ‚Π²Π΅Ρ‚Π°.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ PWA достаточно Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ service worker, которая выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π§Ρ‚ΠΎΠ±Ρ‹ всё это Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт для рСгистрации сСрвис-Π²ΠΎΡ€ΠΊΠ΅Ρ€Π° Π² html-Ρ„Π°ΠΉΠ»Ρ‹. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π‘ΠΊΠΎΡ€ΠΎΡ‡Ρ‚Π΅Ρ† являСтся одностраничным ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (SPA), Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ СдинствСнный html, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ послС добавлСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ скрипта выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Ѐункция navigator.serviceWorker.register(‘/service-worker.js’) ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° URL, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ располоТСн Ρ„Π°ΠΉΠ» сСрвис-Π²ΠΎΡ€ΠΊΠ΅Ρ€Π°. Π—Π΄Π΅ΡΡŒ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ называСтся Ρ„Π°ΠΉΠ», Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» располоТСн Π² ΠΊΠΎΡ€Π½Π΅ Π΄ΠΎΠΌΠ΅Π½Π°. Π’ΠΎΠ³Π΄Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости сСрвис-Π²ΠΎΡ€ΠΊΠ΅Ρ€Π° станСт вСсь Π΄ΠΎΠΌΠ΅Π½, ΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ события fetch ΠΈΠ· любой страницы.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, располоТив Ρ„Π°ΠΉΠ» сСрвис-Π²ΠΎΡ€ΠΊΠ΅Ρ€Π° ΠΏΠΎ адрСсу skorochtec.ru/service-worker.js ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½ΡƒΠΆΠ½Ρ‹ΠΉ скрипт Π² html, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅ Lighthouse:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

Если ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠΌ, Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Ρ‘Π½ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΈ сайт ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ 200 Π΄Π°ΠΆΠ΅ offline, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² 5-ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ сСрвис-Π²ΠΎΡ€ΠΊΠ΅Ρ€ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½, Π½ΠΎ Π²ΠΎΡ‚ стартовой страницы Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ стартовой страницС ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ указываСтся Π² Web App Manifest, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ!

Web App Manifest

ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚ прСдоставляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ: ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ имя, ΠΈΠΊΠΎΠ½ΠΊΠΈ всСх Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², стартовая страница, Ρ†Π²Π΅Ρ‚Π° ΠΈ ориСнтация.

ПослСдняя пСрСмСнная ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π€Π°ΠΉΠ» манифСста Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° сайтС (Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΠΊΠΎΡ€Π½Π΅) ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² html:

Π”Π°Π²Π°ΠΉΡ‚Π΅ снова ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ сайт Lighthouse-ΠΎΠΌ:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

Π£Ρ€Π°! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π½Π΅ просто сайт, Π° Progressive Web App! Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π΅Π·ΠΊΠΎ подросла. Π­Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ, просто я Π·Π°ΠΌΠ΅Π½ΠΈΠ» development-сборку React-прилоТСния Π½Π° production, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ выглядСл максимально красиво.

Ну Ρ‡Ρ‚ΠΎ ΠΆ, Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° сайт ΠΈΠ· мобильного Chrome ΠΈ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ?

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

Π”Π°! МоТно ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ шампанскоС! ДобавляСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

Бонусом ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ заставку ΠΏΡ€ΠΈ запускС, которая собираСтся ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² манифСстС name, background_color ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠΈ 512×512 Π² массивС icons:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

К соТалСнию, Ρ†Π²Π΅Ρ‚ тСкста подбираСтся автоматичСски, Ρ‡Ρ‚ΠΎ Π² случаС Π‘ΠΊΠΎΡ€ΠΎΡ‡Ρ‚Π΅Ρ†Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚ ΡΡ‚ΠΈΠ»ΡŒ.

Ну ΠΈ само ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ PWA поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Chrome ΠΈ Safari (начиная с iOS вСрсии 11.3). ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ, Safari ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ эту Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Β«ΠΏΠΎ-Ρ‚ΠΈΡ…ΠΎΠΌΡƒΒ». ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ сообщСния ΠΎΠ± этом Π½Π΅Ρ‚, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Chrome.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ Ρ‚Ρ€ΡŽΠΊΠΈ

1. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ± установкС Π½Π° Safari

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Apple этого Π½Π΅ сдСлали (надССмся, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ сдСлали), Ρ‚ΠΎ приходится Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Β«Ρ€ΡƒΠΊΠ°ΠΌΠΈΒ». ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅:

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния. Π€ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ php ΠΊΠΎΠ΄Π° для мобильного прилоТСния

РСализуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ JavaScript-ΠΊΠΎΠ΄ΠΎΠΌ:

2. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ установок

Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Google Chrome. НуТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² html скрипт, ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ событиС appinstalled ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π° свой сСрвСр сообщСниС ΠΎΠ± этом:

3. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ start_url

Π’ случаС Π‘ΠΊΠΎΡ€ΠΎΡ‡Ρ‚Π΅Ρ†Π°, всС страницы, относящиСся ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с /app/, поэтому Ρ‚Π°ΠΊΠΈΡ… казусов Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚.

Π§Ρ‚ΠΎ дальшС?

Ну Ρ‡Ρ‚ΠΎ ΠΆ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π·Π°Π±Ρ€Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран смартфона Ρ‡Π΅Ρ€Π΅Π· ваш сайт. Но это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π΄Π²Π΅Ρ€Π΅ΠΉ, ΠΈ скорСС всСго Π½Π΅ парадная. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части Π±ΡƒΠ΄Π΅Ρ‚ рассказано, ΠΊΠ°ΠΊ Π²ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°Π΄Π½ΡƒΡŽ Π΄Π²Π΅Ρ€ΡŒ: Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ вашС прогрСссивноС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Google Play.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *