Режим разработки GWT или режим Super Dev на мобильных устройствах?

Можно ли отлаживать мобильное приложение GWT в браузере iPhone?

Я знаю, что не могу установить плагин разработчика для браузера, но есть ли другой обходной путь?


person confile    schedule 20.11.2013    source источник


Ответы (4)


Я знаю, что не могу установить плагин разработчика для браузера??

Да. Ты прав. Большой Нет. Вам нужен плагин GWT для отладки байт-кода в вашей среде IDE.

К сожалению, на данный момент нет обходного пути, по крайней мере, насколько мне известно.

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

Если вы хотите попробовать скрипт Java, просмотрите параметры компилятора:

person Suresh Atta    schedule 20.11.2013

Если вы используете библиотеку MGWT (http://code.google.com/p/mgwt/), вы можете легко перекомпилировать модуль GWT со своего мобильного устройства, чтобы отлаживать внешний вид пользовательского интерфейса.

импортировать этот класс

import com.googlecode.mgwt.ui.client.util.SuperDevModeUtil;

вызовите этот метод в своем классе EntryPoint

SuperDevModeUtil.showDevMode();

Более подробную информацию вы найдете в статье. Даниэль Курка о Режим Super Dev

Но вы не можете делать это шаг за шагом, добавляя точки останова в код Java.

person Stéphane B.    schedule 10.04.2014

Режим GWT Super Dev работает на мобильных устройствах Android, поскольку для него больше не требуется подключаемый модуль браузера.

Вам нужна некоторая поддержка букмарклетов, которые теперь включают и выключают режим суперразработчика. Если это невозможно в вашем браузере, вместо нажатия на букмарклет вы можете выполнить свой собственный JavaScript, чтобы активировать режим суперразработчика на этой странице.

URL букмарклета выглядит так

javascript:%7B%20window.__gwt_bookmarklet_params%20%3D%20%7B'server_url'%3A'http%3A%2F%2F192.168.55.55%3A1234%2F'%7D%3B%20var%20s%20%3D%20document.createElement('script')%3B%20s.src%20%3D%20'http%3A%2F%2F192.168.1.5%3A9876%2Fdev_mode_on.js'%3B%20void(document.getElementsByTagName('head')%5B0%5D.appendChild(s))%3B%7D

По сути, это закодированный JavaScript, и для его декодирования можно использовать URLDecoder, например this. Это будет что-то вроде

javascript:
  { 
    window.__gwt_bookmarklet_params = 
      {'server_url':'http://192.168.55.55:1234/'}; 
    var s = document.createElement('script'); 
    s.src = 'http://192.168.1.5:9876/dev_mode_on.js'; 
    void(document.getElementsByTagName('head')[0].appendChild(s));
  }

Если вы запускаете свой код GWT внутри собственного приложения Android, такой JavaScript может быть выполнен в WebView, используя его метод loadUrl, и режим разработки запускается непосредственно внутри вашего приложения.

В противном случае вы можете попытаться посетить такой «URL-адрес JavaScript» с вашего устройства тем или иным способом. Это также может работать на устройствах, отличных от Android, таких как iPhone.

person Audrius Meskauskas    schedule 30.12.2013
comment
Как мне это сделать с помощью JavaScript? - person confile; 31.12.2013
comment
Расширенная попытка объяснить больше. - person Audrius Meskauskas; 15.01.2014

Старый поток, но для тех, кто ищет ответ о том, как это сделать для устройства Android.

Сначала вы должны использовать SuperDevMode. При запуске SuperDevMode (CodeServer) добавьте следующий аргумент:

-bindAddress 0.0.0.0

Итак, у вас будет что-то вроде

-bindAddress 0.0.0.0 -logLevel INFO -port 9876 -launcherDir c:/inetpub/wwwroot/wawa be.abc.cba.wawa

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

Когда вы теперь переходите на тот же веб-сайт с помощью своего мобильного устройства, оно автоматически перекомпилирует приложение, и вы будете работать с кодом superDevMode на своем мобильном устройстве.

Теперь при использовании Android-устройства вы даже можете использовать удаленные инструменты Chrome для просмотра DOM-дерева, журнала консоли, сетевого трафика, установки точек останова и многого другого. Для этого вы должны запустить Chrome на своем рабочем столе и подключить его к своему мобильному устройству.

Проверьте: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/?utm_source=dcc&utm_medium=redirect&utm_campaign=2016q3, чтобы узнать, как это сделать. Обратите внимание, что для этого ваше устройство должно быть подключено через USB; Отладка по USB должна быть включена; Должны быть установлены инструменты Android SDK; и устройство должно быть обнаружено ADB

person Knarf    schedule 21.06.2017