Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Phonegap - кроссплатформенные мобильные приложения на JavaScript, HTML5 и CSS3 (https://javascript.ru/forum/offtopic/49538-phonegap-krossplatformennye-mobilnye-prilozheniya-na-javascript-html5-i-css3.html)

nerv_ 17.08.2014 17:39

Phonegap - кроссплатформенные мобильные приложения на JavaScript, HTML5 и CSS3
 
Всем привет! :)

Собираю инфу касательно создания mobile apps на фреймворке phonegap.

Мне видится, что для комфортной разработки под мобильные платформы необходимы следующие составляющие:
  • preview
  • debugging
  • compiling

Насколько я понял, согласно информации с сайта phonegap, для разработки под целевые мобильные платформы, требуется установить SDK для каждой из этих платформ.
Данный факт удручает. Например, чтобы установить SDK для разработки под iOS, требуется OS X система на Intel-based Macs и еще много чего. Подобные специфические требования почти для всех платформ. Беда-беда.

Далее, я пытался разобраться, зачем мне SDK for target platrom. Выяснилось, что для всех трех составляющих: preview (через эмулятор устройства), debugging & compiling.

Затем, я начал гуглить, возможна ли разработка без SDK. Оказалось, что вполне возможна по некоторым пунктам как минимум:
- для сборки есть сервис https://build.phonegap.com
- для просмотра приложения для разработчика под три самые распространенные платформы
- дебаг может быть удаленным


Вопрос: как вы разрабатываете мобильные приложения на phonegap? Как их дебажите? В идеале хотелось бы кроссплатформенный эмулятор под платформу без SDK и удобную отладку.

l-liava-l 17.08.2014 17:52

Цитата:

Вопрос: как вы разрабатываете мобильные приложения на phonegap? Как их дебажите? В идеале хотелось бы кроссплатформенный эмулятор под платформу без SDK и удобную отладку.
Ну все просто, пишемс на кордове, отладку ведем в хроме (вебвьев андройд 4.4 поддерживает отладчик) Остальные версии поддерживают отладку лишь во вкладках браузера. (а там проблемы с кроссдоменом). Проверяю по adb. Потом портирую на winphone (особых проблем не возникает). С иосом та же история.

Для разработки под винду (как неудевительно) нужна винда либо мак, для мака мак. Поэтому виртуалки(

nerv_ 17.08.2014 18:36

Вспомнил, что в десктопном Хроме есть эмуляторы мобильных устройств

---

Цитата:

Сообщение от l-liava-l
пишемс на кордове

Давай яснее)

Цитата:

Сообщение от l-liava-l
отладку ведем в хроме

Т.е. ты отлаживаешь с мобильного устройства?

Цитата:

Сообщение от l-liava-l
Проверяю по adb

линк, пожалуйста

Цитата:

Сообщение от l-liava-l
Потом портирую на winphone (особых проблем не возникает)

Как? Я вчера установил phonegap, создал пустой (заготовку) проект и собрал его сервисом сборщиком. Телефон на WP8.1 его не увидел...

---

Цитата:

Сообщение от Octane
А в эмуляторе какие-то странные юзер агенты, для более менее современных телефонов выдает адроид 2.2 и очень не хватает нормального Pinch, там только можно с зажатым шифт зумить движением мыши.

вроде как там любой можно задать юзер агент в настройках https://yadi.sk/i/rnuxu3q0Zqbu5

Octane 17.08.2014 21:17

Цитата:

Сообщение от nerv_
вроде как там любой можно задать юзер агент в настройках https://yadi.sk/i/rnuxu3q0Zqbu5

нее у тебя старый хром, я вот про что говорил https://dl.dropboxusercontent.com/u/...user_agent.png
одни из самых популярных мобильников Samsung Galaxy S2 и S3, хотим потестить S2, выбираем строчку "Samsung Galaxy S, S II, W" и получаем версию Android с которой даже первый S не выпускался

nerv_ 17.08.2014 22:49

Цитата:

Сообщение от Octane
нее у тебя старый хром

У тебя какая ос? (судя по скрину мас) У меня win7 https://yadi.sk/i/0FrwPtDBZsNYB

Цитата:

Сообщение от Octane
хотим потестить S2, выбираем строчку "Samsung Galaxy S, S II, W" и получаем версию Android с которой даже первый S не выпускался

Понятия не имею, с каким юзер агентом выпускались данные устройства. Я говорил о том, что для эмуляции можно задать произвольный, если существующий не устраивает.
Понажимай на Device/Madia/Networks/Sensors применительно к твоему скрину.

Octane 17.08.2014 22:56

Цитата:

Сообщение от nerv_
У тебя какая ос? (судя по скрину мас) У меня win7 https://yadi.sk/i/0FrwPtDBZsNYB

дев хром 38 http://www.chromium.org/getting-involved/dev-channel

Цитата:

Сообщение от nerv_
Понятия не имею, с каким юзер агентом выпускались данные устройства. Я говорил о том, что для эмуляции можно задать произвольный, если существующий не устраивает.
Понажимай на Device/Madia/Networks/Sensors применительно к твоему скрину.

теперь то понятно, что доверять этому меню не стоит, но первый раз я потратил некоторое время, чтобы понять в чем ошибка

l-liava-l 18.08.2014 00:00

Цитата:

Давай яснее)
http://cordova.apache.org/ и http://phonegap.com/
Практически одно и то же, разница не существенна


Цитата:

линк, пожалуйста
ADB - консольное приложение, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сущность в виде гномика, которая будет прослушивать все команды, посылаемые на указанный порт. Короче демон обычный

собстна: http://4pda.ru/forum/index.php?showtopic=383300

Цитата:

Как? Я вчера установил phonegap, создал пустой (заготовку) проект и собрал его сервисом сборщиком. Телефон на WP8.1 его не увидел...
Установлен ли wp sdk?
http://cordova.apache.org/docs/ru/ed..._index.md.html - это мануал по работе с платформами.
Устанавливаем sdk, создаем новый phonegap/cordova проект. добавляем в этот проект wp (cordova platform add **нужная платформа**)
Ну и билдим с помощью cordova run (забилдит на все платформы), на эмуляторах и девайсах запустит, а установочник будет лежать в папке build выбранной платформы (вроде так)

Можно еще запускать cordova serve - оно поднимит сервер, и тупо конектся к нему с телефона (ограничения обычного браузера)

Обрати внимание на поддержку http://cordova.apache.org/docs/ru/ed...80%D0%BC%D1%8B
Цитата:

Т.е. ты отлаживаешь с мобильного устройства?
Всю разработку веду на андройде (учитывая особеннсоти других платформ), а потом собираю.
ios правда еще нет, все никак лицензию не куплю и хакинтош не натяну.


Короче для отладки дройда ставим adb, подключаем андройд (врубаем в настройках телефона отладку по юсб).
Переходим в нашем десктопном хроме chrome://inspect/#devices Вуаля.
Если этой версии андройда нет, то проделываем то же самое, но запускаем на телефоне не в webview окружении, а в мобильном хроме
(тупо подняв серв на компе) и теперь можно вести отладку там же но во вкладке pages (естессна плюх вебвьевбона не будет и будут ставится куки и тд)

зы
сырое, но круто http://ionicframework.com/

Gozar 18.08.2014 10:39

Цитата:

Сообщение от l-liava-l
сущность в виде гномика

По запросу "adb гномик" выдало
Такого гномика создает? :)

l-liava-l 18.08.2014 19:19

Цитата:

Такого гномика создает?
почти)

nerv_ 08.07.2015 15:39

У кого-нибудь есть опыт отладки на виртуалке или можете что-нибудь посоветовать/линкануть на этот счет?

Более подробно о том, что есть:
VirtualBox + Android-x86-4.4-RC2
мое приложение app.apk

Также имеется
VirtualBox + Android 4.0
на котором это приложение (app.apk) успешно запускается и работает, но как дебажить я не знаю :(

Подскажите люди добрые)

nerv_ 08.07.2015 15:57

Цитата:

Сообщение от nerv_
У кого-нибудь есть опыт отладки на виртуалке или можете что-нибудь посоветовать/линкануть на этот счет?

кажется, нашел http://www.android-x86.org/documents/debug-howto
:)

cyber 08.07.2015 16:17

nerv_, adb + режим разработчика?)
Я так на телефоне дебажу)

nerv_ 10.07.2015 09:31

Цитата:

Сообщение от cyber
nerv_, adb + режим разработчика?)
Я так на телефоне дебажу)

расскажи про цикл разработки

я так понял:
1. ты компилишь на локальной машине
2. ставишь app на телефон через adb
3. дебажишь через подключение андроид-устройства по usb к компу к хрому

---

кстати, мне удалось подключиться к андроиду на виртуальной машине так же как к андроид-устройству по usb для дебага :)

Т.о. у меня сейчас следующая схема:
1. проект локально
2. удаленный сервис сборки (компилятор)
3. отладка
- в браузере через ripple emulator (вместо сервиса использую дополнение для хрома)
- на виртуальной машине на андроиде
- на устройстве (при необходимости)

cyber 10.07.2015 19:07

Цитата:

Сообщение от nerv_
1. ты компилишь на локальной машине
2. ставишь app на телефон через adb
3. дебажишь через подключение андроид-устройства по usb к компу к хрому

именно так, но так как у меня последний андроид (в нем все хорошо работает ) то приходидлось большую часть тестить на ВМ, но делал по такому же принципу, как и с телефоном)

nerv_ 14.07.2015 10:53

Цитата:

Сообщение от cyber
именно так, но так как у меня последний андроид (в нем все хорошо работает ) то приходидлось большую часть тестить на ВМ, но делал по такому же принципу, как и с телефоном)

написал себе таски под это дело, ибо надоело руками тыкать (использую удаленный сервис сборки)

https://yadi.sk/i/EO6p2hnBhrDnX

т.е. у меня сейчас:
1. зипуются исходники
2. аплоадятся на сервис сборки
3. скачивается от туда собранное приложение
4. ставиться на андроид (в VirtualBox)

все через IDE & gulp :)

cyber 14.07.2015 10:58

nerv_, я тоже через галп делал автоустановку приложение на телефон/виртуалку

nerv_ 09.09.2015 00:35

Не пойму, почему запросы на сервер из phonegap приложения не проходят, pending и далее отмена.

config.xml
<access origin="*" />


Интернет пишет, что политика Same Origin на гаповские приложения не распространяется.

Пробовал на сервере
Access-Control-Allow-Origin: *

но, все указывает на то, что запрос не доходит до сервера

Пробовал из консоли отладчика отправлять запросы - не отправляются. Вылезает ошибка
{
    code: 19,
    message: "A network error occurred.",
    name: "NetworkError",
    stack: "Error: A network error occurred.\
    at <anonymous>:2:5\
    at Object.InjectedScript._evaluateOn (<anonymous>:580:39)\
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)\
    at Object.InjectedScript.evaluate (<anonymous>:458:21)"
}


WebView in my_host (Version/4.0 Chrome/30.0.0.0)
Android-x86-4.4-RC2

nerv_ 23.09.2015 13:48

Оказалось, что надо было порты пробрасывать на виртуальной машине
http://www.android-x86.org/documents...th-a-NAT-ed-VM

FINoM 27.10.2015 21:27

Периодически на Апворке всплывают заказы на разработку приложений под фонгап. Стоит ли с этим фонгапом разобраться? Меня останавливает несколько вещей:

- Очень много людей плюётся на фонгап из-за многочисленных танцев с бубном.
- Пару лет назад делал Hello World для андроида, пришлось танцевать с бубном, меняя Java файлы, а в Java я совсем не хаваю. Можно, конечно, разобраться, но тогда отпадает весь кайф от создания кроссплатформенного приложения на чистых веб технологиях.
- У меня нету эппловских девайсов. Да, айпод тач последнего поколения я могу купить, но вот покупать что-то с макосью уже жаба давит (а точнее, я совмеваюсь в окупаемости, так как пока нет никаких предложений по разработке приложений). Хакинтошить нет желания, нахакинтошился. Знаю, можно скомпилировать приложения на их серваке, но у меня есть сомнения по поводу удобства.

nerv_ 28.10.2015 00:29

Цитата:

Сообщение от FINoM
Стоит ли с этим фонгапом разобраться?

это тебе решать)

Цитата:

Сообщение от FINoM
Очень много людей плюётся на фонгап из-за многочисленных танцев с бубном

говорят, раньше было плохо, сейчас стало лучше

Цитата:

Сообщение от nerv_
т.е. у меня сейчас:
1. зипуются исходники
2. аплоадятся на сервис сборки
3. скачивается от туда собранное приложение
4. ставиться на андроид (в VirtualBox)

http://javascript.ru/forum/offtopic/...tml#post379338

на данный момент у меня нет ни одного мобильного девайса, под ту платформу, под кот. я писал приложение (андроид)

Цитата:

Сообщение от nerv_
Т.о. у меня сейчас следующая схема:
1. проект локально
2. удаленный сервис сборки (компилятор)
3. отладка
- в браузере через ripple emulator (вместо сервиса использую дополнение для хрома)
- на виртуальной машине на андроиде
- на устройстве (при необходимости)

http://javascript.ru/forum/offtopic/...tml#post378503

FINoM 28.10.2015 01:35

Цитата:

Сообщение от nerv_
ripple emulator

Он умеет эмулировать фонгаповские АПИ?

nerv_ 28.10.2015 13:51

Цитата:

Сообщение от FINoM
Он умеет эмулировать фонгаповские АПИ?

Не полностью. Он умеет поджигать событие deviceready, любые кастомные и еще кое-что.
https://chrome.google.com/webstore/d...kjhgipohgpdnoc

FINoM 28.10.2015 15:55

Цитата:

Сообщение от nerv_
Не полностью. Он умеет поджигать событие deviceready, любые кастомные и еще кое-что.

Например, мне нужно будет поработать с камерой, контактами, локацией и пр., там такого нет и мне прийдется компилировать приложение в эмуляторе/в облаке?

nerv_ 29.10.2015 11:50

Цитата:

Сообщение от FINoM
Например, мне нужно будет поработать с камерой, контактами, локацией и пр., там такого нет и мне прийдется компилировать приложение в эмуляторе/в облаке?

что-то есть, чего-то нет :)
посмотри демо видео

FINoM 29.10.2015 15:17

Цитата:

Сообщение от nerv_
посмотри демо видео

Там нет ответа на мой вопрос, к сожалению.


Часовой пояс GMT +3, время: 06:13.