Управление на url адреси на услуги в мобилни (phonegap) приложения

Написах мобилно приложение phonegap / jQuery, което работи забавно в емулатора на iphone. Приложението ми получава данни от отдалечен хост. В момента имам ajax заявки към "localhost:8080" в моя код.

Знам, това не е добре. Бих искал да го променя.

Коя е най-добрата практика за URL адреси в мобилни уеб приложения?

Искам да кажа, мога ли да се различавам по някакъв начин относно „времето за изграждане“ кой url да използвам? Трябва ли да направя нещо като "ако emu използва localhost"?

Благодаря предварително, Крисчън


person Christian    schedule 28.06.2011    source източник


Отговори (1)


Наскоро внедрих мобилно уеб приложение, което извършва различни обаждания до отдалечен хост. За мен най-простото решение беше да използвам относителни URI за всички отдалечени обаждания, които правех, и да използвам локален обратен прокси, за да насоча заявката към подходящия сървър (насочвах се към различни сървъри в разработка срещу производство).

Разработих и тествах това приложение локално, използвайки вградения Apache сървър в OS X, така че конфигурирането му беше лесно (за локални уеб визуализации в OS X модифицирате <USER_NAME>.conf файла, намерен в /etc/apache2/users).

YMMV, но това беше безсмислено за мен, тъй като няма нужда да се променя код.

person Ben    schedule 29.06.2011
comment
Съжалявам, трябва да попитам: искате да кажете, че сте изпратили заявката до истинския url, но сте конфигурирали вашия osx да обработва самия url? Не съм сигурен за относителните URL адреси - моите HMTL файлове се съхраняват локално на iphone, така че не мисля, че ще се получи с относителни URL адреси? - person Christian; 29.06.2011
comment
да Например, бих дефинирал нещо като този (относителен) URL в моя код: /ajax/somecall.aspx и това ще стане http://192.168.x.x/ajax/somecall.aspx, защото изпълнявам локално (192.168.x.x е вашата локална машина). След това моята локална конфигурация на Apache използва прокси директиви, за да преведе /ajax/ в http://someserver.com/ajax/ - person Ben; 29.06.2011
comment
И как трябва да работи, когато html страницата е инсталирана като приложение на iphone? Тогава няма Apache, който да действа като прокси - person Christian; 29.06.2011
comment
Ако имате нужда от достъп до различни ресурси от приложение в зависимост от неговия статус на разработка/производство, бих казал, че трябва да изградите някакъв вид конфигурационен модул, за да съхранявате всички URI, от които се нуждаете, и да накарате приложението да изтегли URI от там. Така бих го направил, но не съм създал нищо във PhoneGap, така че може би има друга конвенция за това. - person Ben; 29.06.2011
comment
Да, точно това ми трябва. Благодаря за цялото отделено време - person Christian; 29.06.2011
comment
Няма проблем. Виждам, че PhoneGap има localStorage слой (вижте Storage API) за двойки ключ/стойност, който работи по същия начин като API в прилични уеб браузъри, така че това изглежда очевидното място за настройки като тази. - person Ben; 29.06.2011
comment
Ще го обмисля. Може би мога да имам специално хранилище за конкретна компилация. Ще се разровя в документите за внедряване (ако има такива) и документите за съхранение. Последното ми трябва за друга функция, това време не е загубено. Благодаря за вашата помощ. Дори когато не получих готово за използване решение, вашата помощ е толкова ценена, че сега гласувам за вашия отговор. наздраве! - person Christian; 29.06.2011