Author | Message |
---|
transient Кандидат в члены клуба The eBook
Joined: 10 Mar 2012 Posts: 310
| Posted: 31.03.2015 13:14 | |
| Веб-приложения
На Покетах есть интернеты, надо делать для них приложения!!
Погода
Есть желание сделать веб-приложение (клиент) для быстрого и удобного доступа к одному из погодных сервисов. Открытые погодные сервисы выдают ответ обычно в xml- или иногда json-формате (файле), вполне доступных для обработки. В связи с этим есть три варианта, как сделать приложение.
1. Вариант для всех моделей Покетбуков с выходом в Интернет. Всю логику приложения задаем dash-скриптом. Выкачку делаем с помощью wget или curl, обработку xml-файла с помощью процессора xsltproc, я его когда-то выкладывал для Pro-Покетбуков (ну и всех дальнейших серий).
Это было здесь, правда с оберткой на Perl, но в целом там Perl был просто удобен, можно всё сделать на Bash: libroom.net/viewtopic.php?t=28842
Превращаем его в html-файл и открываем Fbreader’ом или любой другой читалкой. В принципе, можно откомпилировать xslt-процессор c библиотеками и для ранних моделей. Но в этой идее есть пара «затыков»: как отслеживать например, из dash-скрипта загрузку файла, и более трудный затык, это написание xslt-шаблона для обработки. Этот язык придётся изучать, хоть он и не слишком трудный. В общем, тут пока мне интересно лишь изучение языка xslt, но могу помочь с компиляцией xslt-процессора.
2. Вариант для всех моделей от Pro- и выше (в том числе «без браузерных»). Написать небольшую прогу на Go, которая будет и выкачивать и парсить полученный xml-файл и передавать его в читалку для просмотра. В принципе, возможно сделать кросс-компилятор для Go и для более ранних моделей (это просто раньше в голову не приходило). Go линкует бинарники статически, поэтому готовый app легко распространять и использовать. Если есть желающие с Pro-моделями без qt-браузера на такое приложение, то можно на нём и остановиться для основы.
3. Вариант для современных моделей с qt-браузером. Тут можно либо не заморачиваться и просто ничего не писать, а использовать gismeteo.ru и Ко., либо сделать облегченный вариант браузера, специально заточенный для работы с погодой (и конкретным погодным сервисом). Его мне сделать не трудно, но наверно либо если будет много желающих, либо во вторую очередь.
Ну, как-то так… |
| | | VasilisKa Член клуба The eBook
Joined: 31 Jan 2011 Posts: 3647
Location: Украина, г.Харьков
| Posted: 31.03.2015 13:32 | |
| transient wrote: | На Покетах есть интернеты |
У вас в городе 100% покрытие Вай-фай? ИМХО смарт даже с edge выиграет.
ПС. может лучше какой-никай аудиоплеер сделать? _________________ PB 903Pro[5.03.11] PB А7[28.02.12] Lbook V3ext[29.05.08] |
| | | Antuan Член клуба The eBook
Joined: 30 Sep 2009 Posts: 11643
Location: Киев
| Posted: 31.03.2015 13:40 | |
| VasilisKa wrote: | ПС. может лучше какой-никай аудиоплеер сделать? |
Вот, но на сколько я понимаю он только для тачевых моделей поддерживает графический интерфейс, для остальных управление из командной строки. _________________ PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook. |
| | | transient Кандидат в члены клуба The eBook
Joined: 10 Mar 2012 Posts: 310
| Posted: 31.03.2015 13:50 | |
| VasilisKa wrote: | У вас в городе 100% покрытие Вай-фай? ИМХО смарт даже с edge выиграет. |
Хм, у меня в квартире 100% покрытие, на работе тоже. Смарта у меня нет. С книжкой провожу времени больше чем с мобилкой и ноутом. Что я делаю не так? Кстати, я заметил, что здесь народ не торопится даже старые модели Покетов обновлять (у половины далеко не тачскрины, у некоторых даже 360-е), а вы про смарты...
VasilisKa wrote: | может лучше какой-никай аудиоплеер сделать? |
дык делают вроде уже, зачем мешать??
libroom.net/viewtopic.php?t=29378
.
Last edited by transient on 31.03.2015 14:43; edited 2 times in total |
| | | pal Член клуба The eBook
Joined: 08 Jan 2012 Posts: 1510
| Posted: 31.03.2015 14:15 | |
| Берете халявный хостинг без рекламы. Размещаете там 1 страничку с погодным информером. URL странички - в избранное (или стартовый ярлык для броузера). _________________ Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины. |
| | | transient Кандидат в члены клуба The eBook
Joined: 10 Mar 2012 Posts: 310
| Posted: 31.03.2015 14:19 | |
| pal wrote: | Берете халявный хостинг без рекламы. Размещаете там 1 страничку с погодным информером. URL странички - в избранное (или стартовый ярлык для броузера). |
Это хорошее решение, его гисметео и рекламирует. Вопрос — как это сделать тем, у кого такой странички нет, и тем у кого нет вменяемого браузера.
Ну и вы ж догадались поди, web-app не только погодные нужны людям. Это только так сказать, пилотный проект для отладки технологии |
| | | pal Член клуба The eBook
Joined: 08 Jan 2012 Posts: 1510
| Posted: 31.03.2015 14:48 | |
| transient wrote: | Вопрос — как это сделать тем, у кого такой странички нет, и тем у кого нет вменяемого браузера.
|
Халявный хостинг он бесплатный.. А воще подобную задачу я бы предложил решать системно. Через свой агрегатор новостей например _________________ Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины. |
| | | JAW Член клуба The eBook
Joined: 27 Sep 2004 Posts: 22894
Location: Северная столица
| Posted: 31.03.2015 15:17 | |
| Кстати вот агрегатор новостей это да, тема... Правда там нужно усиленно парсеры писать, чтобы новости в удобоваримом формате были _________________ PocketBook: 301+,602(2.2.1a),701, A7, 701 IQ, A7, U7. Fly: IQ 235 |
| | | pal Член клуба The eBook
Joined: 08 Jan 2012 Posts: 1510
| Posted: 31.03.2015 15:34 | |
| Зато все парсеры в одном месте, не нужно заморачиваться с обновлением у клиентов. _________________ Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины. |
| | | VasilisKa Член клуба The eBook
Joined: 31 Jan 2011 Posts: 3647
Location: Украина, г.Харьков
| Posted: 31.03.2015 16:16 | |
| transient wrote: | Кстати, я заметил, что здесь народ не торопится даже старые модели Покетов обновлять (у половины далеко не тачскрины, у некоторых даже 360-е) |
Дык рынок не сравним! Я второй год хочу купить новый ридер - предложений меня устраивающих нет!! По поводу вай-фая: я живу в частном секторе, проводной инет это несбыточная голубая мечта, не то что вай-фай. У вас в России уже есть 4G, у нас только рожают 3G (про пипл-нет, укртелефон, мтс молчу - юзал). Может я не правильно живу?
transient wrote: | дык делают вроде уже, зачем мешать?? |
Альтернатива еще никому не повредила. _________________ PB 903Pro[5.03.11] PB А7[28.02.12] Lbook V3ext[29.05.08] |
| | | transient Кандидат в члены клуба The eBook
Joined: 10 Mar 2012 Posts: 310
| Posted: 31.03.2015 16:19 | |
| pal wrote: | Халявный хостинг он бесплатный.. |
Много ли форумчан сделали себе халявных страничек? А читателей с читалок?
JAW wrote: | Кстати вот агрегатор новостей это да, тема... Правда там нужно усиленно парсеры писать, чтобы новости в удобоваримом формате были |
Дык есть же штатный на Покете, не? Читалка RSS-лент?
VasilisKa wrote: | По поводу вай-фая: я живу в частном секторе, проводной инет это несбыточная голубая мечта, не то что вай-фай... Может я не правильно живу? |
Когда у меня только EDGE или 3G, то я использую Huawei E355 (USB Mobile WiFi) маршрутизатор размером с флэшку и получаю удобный WiFi на всю квартиру/дачу/палатку, смотря где я обитаю, на всех. На счёт вашей жизни, это точно не ко мне.
VasilisKa wrote: | Альтернатива еще никому не повредила. |
Программисты ленивы, идейны и суеверны: работает - не трогай(!); если задача ничему не учит, то зачем её делать(?); если пользователь не может написать свой аудиоплейер, наверно ему надо заплатить тому кто это сможет (я не про себя, если чё :о) ). |
| | | pal Член клуба The eBook
Joined: 08 Jan 2012 Posts: 1510
| Posted: 31.03.2015 16:51 | |
| Вот вы хотите придумать некое приложение, которое будет получать из сети какой-то контент (похоже, я изобрел веб-броузер ). Контент нужно преобразовать в удобный для отображения вид. Это можно сделать прямо в приложении, а можно в некотором промежуточном сервисе. Промежуточный сервис удобнее тем, что если кроме погоды (которую вы хотите получать в xml) вздумается получать, например, информацию о траффике на дорогах - не нужно писать (и распространять) еще одно приложение. Достаточно расширить свой агрегатор. Если чисто для себя, и хочется покодить - в читалке есть libcurl, libxml.. _________________ Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины. |
| | | transient Кандидат в члены клуба The eBook
Joined: 10 Mar 2012 Posts: 310
| Posted: 31.03.2015 17:05 | |
| pal, вы читаете мои мысли!!
Сделать прямо в приложении — это удобно в qt-браузере. В нём есть всё необходимое, если чего нет, я могу добавить из Qt — по крайней мере в своём браузере myfancy я попробую сделать. Это был 3-й пункт моих "глубоких мыслей."
Теперь, внимание!! Вы ведь ещё угадали 2-ю и 1-ю мысль самого верхнего поста!! А если нету нормального браузера в Покете? Мы с вами (нет уж, тут я тож изобретатель!! ) делаем его! libcurl и libxml (читай второе будет стандартный линуксовый xsltproc, оно теперь тоже есть) это во-первых, а Golang, это во-вторых, дело вкуса, имхо.
Мы получаем инфу (как правило xml) и передаем её в читалку, для отображения. Как мы сделаем костыли (промежуточный сервис по вашему) — надо думать, мне нравится Go, вам — вы сами написали что. Насколько костыли, пардон, промежуточный сервис, получится универсальный (и сможет ли?), я пока не знаю. |
| | | zurbaganin Зрелый участник форума
Joined: 08 Jul 2012 Posts: 29
| Posted: 31.03.2015 21:32 | |
| Кто бы мне прокси-сервер показал, чтобы через него огромные страницы превращать в усваиваемый для читалки формат. На счет удобно не удобно скажу: на читалке можно и фильмы с субтитрами смотреть, если фильм преобразовать в ряд картинок (1 час всего 3600 картинок). _________________ PB622 (4.4.566) |
| | | pal Член клуба The eBook
Joined: 08 Jan 2012 Posts: 1510
| Posted: 31.03.2015 22:22 | |
| http://habrahabr.ru/post/237259/ - пример прокси, модифицирующего траффик. _________________ Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины. |
| | | transient Кандидат в члены клуба The eBook
Joined: 10 Mar 2012 Posts: 310
| Posted: 01.04.2015 10:26 | |
| Коллеги, мне тут другие коллеги (которые на работе рядом кофе пьют) подсказывают, что существует супер-мега-костыль, который можно запустить в режиме "типа прокси", и который получив URL, будет парсить, рендерить страничку прям как браузер и отдавать вам результат в виде картинки-скришота, который можно смотреть на самой устарелой Покет-книжке. Это Selenium/WebDrive. Однако он на Java, прожорлив, и обойтись бесплатным халявным VPS-хостингом вряд ли получится, да ещё и настройка/поддержка будет стоить
Мне кажется, что зачем создавать мега-велосипед, если создание адекватного клиента для конкретного сервиса и так выглядит не слишком сложной задачей?? |
| | | transient Кандидат в члены клуба The eBook
Joined: 10 Mar 2012 Posts: 310
| Posted: 22.04.2015 09:58 | |
| Я сделал вполне себе работающий прототип. Скачать и посмотреть здесь:
https://drive.google.com/file/d/0B2QTYrDfipLEQ1lWUTVDaFJzMUk/view?usp= sharing
Для работы предварительно необходимо установить wifi-соединение. Работать должен на любых версиях, начиная с Pro, 602, 622, 623 и т.п. Запускать пока лучше в потерме, чтобы узнать о возможных ошибках.
Размер приложения больше 3 мегабайт даже после стрипа. Связано со статической линковкой. Однако приложение работает очень шустро, если интернет быстрый.
Клиент пока лишь скачивает (для фиксированного города Урюпинска), обрабатывает данные и создает файл res.html в той же самой директории с прогнозом погоды (трехчасовым на неделю), который потом можно посмотреть в любой читалке.
В ближайшем будущем:
1. клиент будет передавать файл на открытие читалке сам. 2. будет файл настроек, где можно указать требуемое местоположение, часовой пояс результата (сейчас, если его не указать, будет вычислен по координатам, т.е. астрономическое время) 3. будет возможность работать с прокси 4. будет возможность клиенту самому устанавливать wifi-соединение 5. Будет возможность сжатия траффика для экономии 6. GUI под большим вопросом.
Скриншот выложу следом позже .
Last edited by transient on 22.04.2015 12:07; edited 1 time in total |
| | | pal Член клуба The eBook
Joined: 08 Jan 2012 Posts: 1510
| Posted: 22.04.2015 10:15 | |
| Сжатие - зачем? _________________ Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины. |
| | | transient Кандидат в члены клуба The eBook
Joined: 10 Mar 2012 Posts: 310
| Posted: 22.04.2015 11:29 | |
| Избыточность передаваемого ответа огромна: во-первых xml, во-вторых там столько инфы приходит - я например, только процентов 40 использовал.
Вот скрин:
|
| | | pal Член клуба The eBook
Joined: 08 Jan 2012 Posts: 1510
| Posted: 22.04.2015 12:20 | |
| Code: | curl -s http://api.openweathermap.org/data/2.5/weather?q=Kiev,UA|wc -c 468 curl -s http://api.openweathermap.org/data/2.5/weather?q=Kiev,UA|gzip|wc -c 315 expr 315 \* 100 / 468 67
|
Сферический ответ сферического погодного сервера жмется на 33 %. Но.
Code: | 11:09:50.625721 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [S.], seq 1134695136, ack 3359182665, win 65535, options [mss 1460,nop,wscale 3,sackOK,TS val 1512612390 ecr 1233310121], length 0 11:09:50.625739 IP 192.168.2.104.49576 > 188.226.254.208.80: Flags [.], ack 1, win 92, options [nop,nop,TS val 1233310121 ecr 1512612390], length 0 11:09:50.625925 IP 192.168.2.104.49576 > 188.226.254.208.80: Flags [P.], seq 1:188, ack 1, win 92, options [nop,nop,TS val 1233310121 ecr 1512612390], length 187 11:09:50.663445 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [P.], seq 1:780, ack 188, win 8326, options [nop,nop,TS val 1512612427 ecr 1233310121], length 779 11:09:50.663472 IP 192.168.2.104.49576 > 188.226.254.208.80: Flags [.], ack 780, win 116, options [nop,nop,TS val 1233310130 ecr 1512612427], length 0 11:09:50.663476 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [F.], seq 780, ack 188, win 8326, options [nop,nop,TS val 1512612427 ecr 1233310121], length 0 11:09:50.663680 IP 192.168.2.104.49576 > 188.226.254.208.80: Flags [F.], seq 188, ack 781, win 116, options [nop,nop,TS val 1233310130 ecr 1512612427], length 0 11:09:50.663870 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [.], ack 189, win 8325, options [nop,nop,TS val 1512612428 ecr 1233310130], length 0
|
Весь ответ сервера помещается в 1 пакет
Code: | 11:09:50.663445 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [P.], seq 1:780, ack 188, win 8326, options [nop,nop,TS val 1512612427 ecr 1233310121], length 779 |
Так что именно в этом случае наличие/отсутствие сжатия не меняет совсем ничего .
Хотя с вашей стороны тоже нет сложностей, достаточно использовать заголовок Accept-Encoding, http библиотека сама разберется что делать. _________________ Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины. |
| | |
| You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
© Libroom, 2021
|