Зачем вам 2 файла Javascript для кроссплатформенного плагина Cordova?

1

В этой статье здесь, я цитирую:

Поймать разные платформыПрежде чем это станет для вас неожиданностью, позвольте мне прояснить некоторые вещи. Предположим, вы разрабатываете плагин Phonegap для 2 платформ: iOS и Android. Можно предположить, что нам нужно выпустить: один файл JavaScript, который будет использоваться как на iOS и Android; один файл Java для Android One.h и один .m для iOS
Однако на самом деле вам нужно будет выпустить: один файл Javascript для Android, а также Java файл для Android; другой Javascript файл для iOS, один с парой файлов .h и .m для iOS. И то и другое Файлы Javascript могут (и должны) иметь один и тот же интерфейс для разработчик, который его использует, но реализации каждого интерфейса будут отличаться.

Зачем вам нужны 2 файла Javascript, если все собственные имена одинаковы? Я создал плагин iOS (с соответствующим файлом .js), и теперь, когда я создаю сторону Android, я не понимаю, зачем мне нужен отдельный .js для Android. Любые идеи, почему они подчеркивают это без особых причин?

  • 0
    Не знаю насчет PhoneGap, но так было с Titanium. Причина в том, что в iOS и Android есть области, где они существенно различаются. На самом деле, я считаю, что этот разрыв настолько велик, что один файл подходит всем решениям невозможно. Вот пример, который у меня есть: в iOS представление прокрутки может прокручиваться как по вертикали, так и по горизонтали, но на Android вы должны выбрать одно или другое. Никакое количество кросс-платформенного кода не сможет компенсировать это.
  • 0
    Вы имеете в виду нативный код, который, конечно, отличает. Js, который вызывает нативные вещи, это PhoneGap.exec ("class", "methodOnClass", [args]) независимо от нативной реализации.
Показать ещё 6 комментариев
Теги:
cordova
phonegap-plugins

1 ответ

4
Лучший ответ

Ну, это зависит от того, какую версию PhoneGap/Apache Cordova вы используете. В предыдущей версии подпись метода PhoneGap.exec() отличалась между iOS и Android. Начиная с 1.7.0 и, возможно, уже в 1.5.0, подпись метода такая же. Вы должны иметь возможность использовать тот же .js файл для своего плагина, независимо от платформы, на которой вы работаете.

cordova.exec(success, fail, service, action, args);

Я создам проблему для очистки инструкций wiki.

  • 0
    Спасибо за ваш краткий ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню