Пишемо клієнт для улюбленого сайту на phoneGap
Для отримання контенту будемо використовувати невелику бібліотеку AJAX, здатну робити POST і GET запити, яка вміє вставляти cookie і віддає отриманий результат в callback функцію (основа взята з miniajax):
Для отримання контенту робимо GET запит на сторінку post-tracker.ru/my/ при цьому, якщо у відповіді в одному з блоків ми зустрінемо рядок Увійдіть або Зареєструйтесь, то нас явно розлогінили і доведеться пройти процедуру ще раз:
show_list() в даному коді додасть блоки з підготовленою html-кою всередині div-а зі скроллером (до речі рекомендую Overthrow і вкрай не рекомендую iscroll-4 через жахливу швидкість роботи).
Вихідний код проекту та зібраний додаток для тестів та експериментів зацікавлених осіб. А так само гітхаб для менш похмурих форків.
Тільки зареєстровані користувачі можуть брати участь в опитуванні. Заходьте будь ласка.
Чи продовжувати писати про phoneGap та експерименти з ним?
А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»
Читають зараз
В Україні розпочався HTC Andro > +21 776 6 15
Стати суддею Andro > +5 498 0 4
українські програмісти одні з переможців Andro > +10 984 0 4
Коментарі 18
Я робив програму під phoneGap. Якщо коротко, то найбільша проблема це повільна робота і відсутність бібліотек, призначених для цього. З картами ще можна розібратися, але вони працюють у браузері очікувано гірше ніж нативні, але зробити гарну галерею в стилі iOS точно не вийде. Коли я з цим порався навіть для того щоб швидко і без затримки обробити натискання (через обмеження WebKit) потрібно було ставити в кодспеціальні хакі, інакше воно просто гальмувало.
Програма працює повільніше і виглядає не так у результаті. Начебто ця програма з якогось китайського клону, а не з цієї платформи. Після того, як я вирішив перейти на нативні бібліотеки, все відразу стало простіше і веселіше.
Шановний, NermaN Я не буду доводити Вам що ви маєте рацію чи не маєте рацію. Просто хотілося б зробити пару зауважень:
(До речі рекомендую Overthrow і вкрай не рекомендую iscroll-4 через жахливу швидкість роботи).
Порівняння абсолютно не коректне: Overthrow – поліфіл, iscroll-4 – ліба. Крім того про яке nativelook може йти мова якщо Overthrow, за замовчуванням додає rabber ефект на iOS і драпає все z-index всередині себе. iScroll - він набагато ширший у функціональному плані, і у нього набагато більше можливостей - це не просто поліфіл скрола. І якщо у Вас на андроїді проблема з ним - швидше за все ви не правильно надолужили сторінку, він просто дуже критичний до коректної верстки
але зробити гарну галерею в iOS стилі точно не вдасться.
Можна й робили, причому зі свайпом та 3D, відразу і під андроїд та під іос. Основні тонкощі які потрібно врахувати при цьому: а) 300ms б) галерея = адаптер вью в) трансформації повинні бути аля -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); причому у спокої теж має бути трансформаця з нульовими параметрами щоб уникнути першопочаткового смикання. На андроїді до свайпу додав би -webkit-transform: translateZ(0); і включив hardware acseleration у маніфесті
Програма працює повільніше і виглядає не так у результаті. Начебто ця програма з якогось китайського клону, а не з цієї платформи.
Тут навіть сказати нічого — просто не згоден і все, релізнули понад півторадесятків аплікух на фонгапі, зауважень не було.
Основна проблема при початку роботи з фонгап зістариться в наступному в нерозумінні наступних моментів: 1)PhoneGap це не web - це абсолютно інша специфічна платформа 2)PhoneGap - виконується на різних МОБІЛЬНИХ пристроях, тому він набагато більш вимогливий до оптимізації і знання тонкощів роботи браузера, і ліпити в один додаток кілька десятків ліб (одна скролить, одна працює з DOM, одна биндит дані, одна структурує код і т. д.) тут не дуже коректно - уявіть ви наліпили ескадру з «зіркольотів» і хочете, щоб ця ескадра довезла у вас один єдиний ящик. А палива то жертиме вся ескадра. Це я не про Вас, просто з досвіду код ревью різних PhoneGap «шедеврів» 3) У PhoneGap НІ UI - це платформа для доступу з html/js додатку до нативної функціональності мобільного пристрою такий як компас, БД, акселерометр, контакти та т. д. Уявіть на секунду що у вас немає нативної реалізації лист вю(адаптер вю) - скажіть довго Ви будете його реалізовувати? Ось і я про те ж — я поки що не зустрічав поки що КОРЕКТНО заточений, КРОССПЛАТФОРМЕННИЙ UI JS фреймверк для мобільних пристроїв? Sencha JQMobile і т. д. - краще не обговорювати - просто ДУЖЕ ДОВГО = у кожного свої недоліки, а вивчили ми їх більше 3 десятків