Цитата(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