Обмен кодами angularJS через гибридное приложение Ionic и обычный мобильный сайт

11

Итак, в нашей «инновационной лаборатории» в настоящее время есть толчок к использованию Ionic, гибридной среды приложений, построенной на основе Cordova для нативного доступа и angularJS для «веб-кода».

Есть также несколько проектов, которые представляют собой чистый мобильный веб, например, с использованием Angular + начальной загрузки для адаптивного дизайна.

Дело в том, что для реализации некоторых проектов потребуется мобильный сайт и нативные приложения (ионный гибрид). Большинство функций и экранов будут одинаковыми, с общим бэк-эндом и большей частью пользовательского интерфейса, но все равно будет некоторая разница.

Итак, мой вопрос: Как создать проект так, чтобы он мог быть как ионным проектом, так и обычным угловым веб-сайтом с двумя различными подходами к развертыванию. Большая часть кода используется повторно, но некоторые представления для мобильного веб-сайта и некоторые представления для гибридного приложения (с использованием большего количества собственных компонентов и соглашений), возможно, также имеют некоторые различия в маршрутизации.

Это даже хорошая идея?

И в общем коде есть простой способ узнать, в каком случае вы находитесь? некоторые IF, некоторые директивы неактивны вне контекста и т. д.

Такое ощущение, что есть какая-то недостающая ссылка, о которой я, возможно, не подозреваю.

Заранее спасибо.

MikaelW
источник

Ответы:

2

Вы можете создать общее ядро, которое содержит некоторые атомарные компоненты ( https://docs.angularjs.org/guide/component ) / Services.

Веб-приложение, Android-приложение, приложение IOS, приложение наблюдения ... все будут использовать функции, предоставляемые ядром, адаптивным способом.

Представьте, хотите ли вы развернуть приложение для Android. Использование https://material.io имеет смысл, наряду с некоторыми возможностями Android. Приложение для iOS будет иметь другой дизайн ( https://developer.apple.com/ios/human-interface-guidelines/overview/themes/ ) и т. д.

Создайте надежную реализацию, используйте атомарные компоненты и адаптируйте их!

Kenny
источник
0

Для мобильных приложений, использующих Ionic, и веб-приложений, использующих AngularJS или Angular, очень распространено, что некоторые из этих приложений будут иметь общие функции, такие как подключение к серверу и получение некоторых данных, но это не означает, что у вас не будет копии этого кода. в ваших новых проектах.

Я хочу сказать, что если вы знаете, что различия будут только в уровне пользовательского интерфейса, а для проекта требуются веб-приложение и мобильное приложение, вы можете иметь 3 уровня, где пользовательский интерфейс для веб-приложения может быть угловым, а мобильное приложение - ионным. Преимущества, которые вы получаете от использования встроенных функций, таких как cordova phonegap или ionic, могут быть намного больше, чем хранение всего этого в одном типе.

Я просто хочу прояснить, что переключаться между этими пользовательскими интерфейсами несложно, если ваш клиент хочет преобразовать веб-приложение в собственное мобильное приложение.

Я бы начал со следующих вопросов

  1. Нужен ли для этого проекта отдельный интерфейс для мобильных устройств?
  2. Нужны ли этому проекту собственные мобильные функции?
  3. Нужен ли для этого проекта отдельный интерфейс и функции backedn для мобильных устройств?

Если ваш ответ положительный для всех 3, создайте два проекта. Если вы ответили «да» на 1 и 2, создайте угловой сервер и веб-приложение вместе с приложением ionic или phonegap. Если ваш ответ «да» только на 1, то я бы рекомендовал использовать угловой для обоих.

Если в какой-то момент вы захотите использовать угловые изображения в ионном режиме (ищите информацию в формате ionic-ng), у вас будет один и тот же код для внешнего интерфейса, мобильного приложения и веб-приложения. В конце вы сможете самостоятельно управлять следующим:

  1. Миграция базы данных
  2. Серверная функциональность на стороне сервера с API, соединяющимся с 1 для данных
  3. Интерфейсное веб-приложение, использующее Angular Views, потребляющее 2
  4. Если мобильное приложение необходимо, оно использует Ionic / phonegap для разрешения зависимостей устройства, но использует Angular для создания представлений и потребления 2.

Надеюсь, это поможет и откроет немного обсуждения.

Фаррух Субхани
источник