Использование ionic в качестве настольного веб-приложения
Ionic - отличная среда для разработки мобильных приложений с использованием html5. Мы хотим, чтобы одно и то же приложение использовалось и в браузере. Будет ли хорошей идеей создать единый адаптивный пользовательский интерфейс, который лучше всего работает как в настольном браузере, так и в мобильном браузере, и создать приложение. ИЛИ мы должны сделать разные разработки для браузера и мобильного приложения.
6 ответов
Чтобы немного расширить сказанное, Ionic is построен и протестирован только для мобильных устройств. Например, Internet Explorer не тестировался и неправильно обрабатывал некоторые функции Ionic. Браузеры для настольных компьютеров действительно отличаются от своих мобильных браузеров. Вы бы серьезно ограничили браузеры, которые могут использовать ваше приложение на рабочем столе.
Скорее всего, вы должны предоставить два разных приложения для настольных и мобильных. Если у вас нет смелости или возможности сказать своим пользователям, что они должны использовать Chrome (или Opera) для запуска вашего веб-сайта, вам потребуются два отдельных приложения. Вы все еще могли бы использовать Ionic для мобильного веб-сайта, но не имея возможности использовать полную интеграцию платформы Cordova (вы были бы ограничены нативными HTML API, предоставляемыми браузером). Вы, безусловно, можете сохранить большую часть своей бизнес-логики в общем ядре, которое совместно используется обоими приложениями. Это потребует создания общего углового модуля (модулей). Я сделал это в проекте с приложением Ionic и обычным настольным приложением Angular (с Bootstrap).
Существует несколько способов определить, приходит ли посетитель с настольного или мобильного устройства. Я не знаю метода, который на 100% совершенен, потому что он обычно полагается на строку пользовательского агента браузера (и может быть подделан, изменен и т. Д.). См. http://detectmobilebrowsers.com/ для некоторых распространенных сценариев или примеров, как реализовать обнаружение мобильных устройств на сервере или на языке программирования.
Этот вопрос был задан в ng-europe ранее на этой неделе. Ответ от ионных парней состоял в том, чтобы поделиться вашими сервисами и контроллерами, но использовать разные представления для рабочего стола. Ionic ориентирован исключительно на мобильные устройства.
Интересно, что представляется возможным создать настольную версию приложения Ionic с использованием набора инструментов под названием "Electron", который является своего рода эквивалентом Cordova/Phonegap для настольных систем, как объясняется в этой статье:
http://alexbergin.com/2015/streamlining-desktop-and-mobile-app-development
Electron (ранее назывался Atom Shell) упаковывает встроенное веб-представление Chromium для создания "настоящего" приложения. Это также означает, что кросс-браузерные проблемы не являются проблемой.
Автор вышеупомянутой статьи успешно использовал это с приложением Ionic.
Если вы пойдете по этому пути, то вам, вероятно, придется использовать некоторые адаптивные методы для оптимизации UX на рабочем столе.
Я не пробовал этого, поэтому я не знаю плюсов и минусов этого подхода, но могу представить, что бывают случаи, когда вы просто хотите быстро собрать настольную версию приложения, которое у вас уже есть.
Мой комментарий стал слишком большим. Это должно разработать и добавить к превосходному ответу Джереми Уилкена.
Это не только ограничение браузеров на рабочем столе, но и показ мобильного экрана на части экрана выглядит просто смешно (время переосмыслить, что означает "мобильный телефон" в первую очередь:)). Необходимость в правильном API не может быть подчеркнута больше, потому что поток (навигация), скорее всего, будет изменяться на большем количестве экранов в мобильном формате, чем в формате ПК, хотя функциональность может быть одинаковой.
Я согласен с замечанием Джереми о том, что бизнес-логику следует хранить отдельно и представлять как детализированный REST APIS, например, использовать сервер на основе фреймворка Express.js с MySQL/MongoDB/Redis или любым другим коммерческим хранилищем данных. Таким образом, REST API можно использовать для интерфейсов Mobile/Phablet/Mini Tablet (с Ionic) и для настольных ПК / ноутбуков (с Bootstrap + AngularJS.). Конечно, я фанат JS, OP может использовать любой язык по выбору для сервера.
Я бы порекомендовал использовать ionic для мобильных устройств, и особенно если вы используете ionic2, используйте тот же код для рабочего стола в angular2 с небольшими изменениями
Фреймворк предназначен только для мобильного гибридного приложения, хотя он будет работать как обычное приложение HTML.