IBM Worklight - есть ли встроенный механизм рендеринга? Можем ли мы изменить это?
Я работаю над программным обеспечением, которое включает в себя 3D-графику. Они достаточно массивны, поэтому я решил использовать OpenGL, чтобы сохранить довольно плавную анимацию. Я выбрал графическую библиотеку THREE.js (WebGL).
Чтение HTML через веб-браузер работает очень хорошо: функции WebGL распознаются. Я сделал это на своем рабочем столе (Win32/Firefox17, пожалуйста, не судите меня по моей конфигурации!) И на Nexus 10 (Android 4.3, FF24 и FF25Beta, пробовал с Chrome30Beta, но не радость...). Но мне нужно получить доступ к собственным данным, таким как файловая система, чтобы получить информацию для моей программы. Поэтому я обернул свой код с помощью WL и развернул его как приложение на своем Nexus 10... И так исчезла возможность WebGL...:(
Поэтому я искал причину для этого: я нашел на сайте IBM две разные идеи: с одной стороны, я понимаю, что встроен механизм JS, с другой - что WL использует механизм веб-браузера по умолчанию для планшета (что я понял с первого раза)...
Давайте будем точны с различными движками: на Nexus у FF явно есть движки Gecko, Chrome30 - Blink (подобный webkit, версия 537.36). Это те, которые обнаружены window.navigator.useragent, когда я читаю прямо в браузере, не удивительно. В предварительном просмотре Eclipse/WL у меня были разные интерпретаторы, в зависимости от выбранного браузера, FF или IE (не Safari, у меня его не установлено), но не тот, что на моем рабочем столе (те, что использовались, даже старше, чем мой собственный FF...). Но когда я обнаруживаю тот, который используется в приложении (после упаковки в apk), он возвращает AppleWebkit 534.30/Worklight/6.0...
Может быть, я ошибаюсь (скажите мне), но если в версии движка есть "Worklight" и если webkit используется, даже когда я отключаю Chrome от своего планшета (версия отличается, но кто знает..), я Интересно, что для этого приложения, как он настроен, движок встроен в Cordova или WL. Если это так, я согласен, что он позволяет читать код с полностью совместимым интерпретатором, независимо от того, какой браузер установлен на оборудовании. Но когда движок webkit не радует вас функциями, которые он поддерживает (например, WebGL, очень частично поддерживается), это выглядит проблемой для меня.
У кого-нибудь есть подтверждение того, как это работает? Если движок упакован с приложением, знаете ли вы, можем ли мы выбрать тот, который будет включен, или настроить его (например, включить WebGL;))? Еще одна идея?
Спасибо,
Винсент.
1 ответ
Приложения Worklight не связывают переводчика. Приложение будет использовать то, что входит в состав ОС.
Другими словами, WebView по умолчанию в Worklight- это то, что предоставляет ОС, в случае Android она использует встроенный WebKit.
Это не то, что Worklight контролирует что-либо еще.
Вы могли бы, может быть, каким-то образом объединить в своем приложении библиотеки движка Firefox и соединить их все вместе, но задача сделать это невероятно большая и сложная по размеру... и не поддерживается IBM Worklight. Кроме того, я не знаю, поддерживает ли это также Cordova (он используется в Worklight для взаимодействия с нативной функциональностью).
Что касается useragent, к нему присоединена строка "Worklight" как часть поддержки IBM WebSphere Portal.