реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Мобильные приложения для управления GSM терминалами
Frolov Kirill
сообщение Nov 20 2013, 15:03
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643



Цитата(Alt.F4 @ Nov 16 2013, 17:13) *
На данный момент управляем своими приборами DTMF и SMS командами с телефона и TCP командами с сайта под большой монитор.
Есть необходимость перенести управление на мобильные платформы (iOS, Android, Windows Phone), но дабы сэкономить время, хотелось бы чего-нибудь кроссплатформенного.
Гугел подсказывает заюзать PhoneGap или мобильный сайт с минимальным объемом трафика.


Я бы не полагался на phonegap. Он не так хорош как кажется, с одной стороны (потребуется дописывать какие-то прослойки к ОС самостоятельно), с другой тянет за собой много лишнего (что может вызывать проблемы совместимости). Да и разные javascript-библиотеки, вроде jquery, тоже по-моему не стоит злоупотреблять. В принципе, если головой подумать, толку от них практически нет, десяток нужных функций оттуда можно самому переписать. Зато нет проблем с (не)совместимостью внутри кода, в котором чёрт ногу сломит и нет зависимости от сторонних приложений

Даю наводку: посмотреть в сторону "веб-приложений" на HTML5 (и javascript). В случае, если им нужно взаимодействие с телефоном (те же SMS), то запускать не в штатном браузере, а внутри WebKit, например (если на Android, iOS тоже), где экспортировать нужные функции в javascript или как-то так (через урлы специальные а-ля cgi ещё можно). Преимущество такого решения -- кросплатформенность. Впрочем не всё там гладко, много костылей нужно, особенно для старых браузеров. И нужна собственно методика, как делать приложения в html5 (имею ввиду GUI), что есть ещё то know how, печатных источников практически нет -- слишком новая технология.


Цитата(sobr @ Nov 16 2013, 18:08) *
есть необходимость - пишите нативные приложения. Не заморачивайтесь универсальностю. ИМХО.


Ещё несколько лет назад писали вовсю под J2ME телефоны. И что с этим всем теперь делать?
Судьба Windows7-8-9-10...., Android 1,1.5,2,3,4... будет аналогична. Веб сайты 10-летней давности же в целом отображаются в современных браузерах.

Цитата(Alt.F4 @ Nov 17 2013, 10:53) *
Зашел сейчас с телефона, на Lumia сайт отображается как для большого экрана, текст не читаем. А сохраняется сайт за счет куки браузера.


Зачем печенюшки. Есть localStorage. Технология, если вкратце такая: собственно кеширования средствами cache.manifest работает через пень-колоду в разных браузерах. Поэтому по такой методике загружаются только не принципиальные для работы программы файлы (картинки большие, звук). И загружается программа-загрузчик, маленькая совсем. Запускается и смотрит, если ли копия последней версии основной (большой) программы в localStorage (html-файл прямо как есть). Если есть -- берёт его и интегрирует в текущее html-дерево (как бы загружает, там не слишком тривиально). Если нет -- вначале загружает и сохраняет в localStorage, потом как сказано. Собственно большая программа -- это один (принципиально, ибо иначе неудобно обрабатывать и хранить) гигантский html с интегрированным в него css, javascirpt, собственно html-кодом и ресурсами (картинки) в виде data URI. Профит в чём. Если браузер не поддерживает cache.manifest, то он всегда грузит только маленький загрузчик, а потом из localStorage достаёт и запускает большую программу. localStorage все современные, будем считать, поддерживают (иначе жить вообще никак). А если поддерживается cache.manifest, то и загрузчик может не грузиться, программа стартует из кеша, даже если интернет не доступен (тут, на самом деле, есть ньюансы, но они обходятся).

Что ещё сказать. Об этом нигде не говорится, но для шаблонизации html и эффективного обращения к отдельным ветвям дерева удобно использовать html формы (form) как ни странно (а не по id, как сделано на gsm-technology.ru). А смена окон в GUI может делаться путём смены document.formname.elementname.style.display, например. Или через стили.

Цитата
Вообще я думаю проект работает, просто мы не знаем какие IMEI сейчас онлайн, вот он и не соединяется с TCP сервером по WebSocket'у.


Да, это проблема, политика same domain. Сервер с которым общение и загрузку программы нужно вести из одного домена. И общение напрямую с кем-то невозможно (нет, возможно, путём заворачивания ответов в javascript -- скрипты-то не подчинаются политике same domain).

Сообщение отредактировал Frolov Kirill - Nov 20 2013, 15:18
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Nov 20 2013, 20:17
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Frolov Kirill, классно расписали.
Цитата
Даю наводку: посмотреть в сторону "веб-приложений" на HTML5 (и javascript).
Да, решил заюзать jQuery Mobile.
Кстати на gsm-technology.ru использован альтернативный фреймворк jQTouch.
По поводу работы в оффлайне - уже изучаю. Отстал от жизни, блин.
Go to the top of the page
 
+Quote Post
sobr
сообщение Nov 22 2013, 11:08
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552



Цитата(Frolov Kirill @ Nov 20 2013, 22:03) *
Сервер с которым общение и загрузку программы нужно вести из одного домена. И общение напрямую с кем-то невозможно
Не правда Ваша...
Go to the top of the page
 
+Quote Post
Frolov Kirill
сообщение Nov 26 2013, 05:46
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643



Цитата(sobr @ Nov 22 2013, 15:08) *
Неправда Ваша...


А в чём неправда? http://en.wikipedia.org/wiki/Same-origin_p...e-origin_policy -- вот и все варианты. Этот (http://ru.wikipedia.org/wiki/Cross-origin_resource_sharing) вариант может плохо работать в старых браузерах.
Go to the top of the page
 
+Quote Post
sobr
сообщение Nov 27 2013, 23:04
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552



Цитата(Frolov Kirill @ Nov 26 2013, 12:46) *
А в чём неправда? http://en.wikipedia.org/wiki/Same-origin_p...e-origin_policy -- вот и все варианты. Этот (http://ru.wikipedia.org/wiki/Cross-origin_resource_sharing) вариант может плохо работать в старых браузерах.
Неправда в том, что моя страница грузится с одного домена, а общается с сервером на другом.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016