понедельник, 7 ноября 2011 г.

Проверка на (о)кошках

Сложно найти черную кошку в темной комнате, 

особенно если ее там нет

Прежде чем публиковать программу ее надо проверить на разных ОС, браузерах  и платформах. Если кто-то думает что это легко и просто, то лучше б ему передумать. Если кто-то надеется что все сразу возьмет и заработает - это безнадежный оптимист.

Естественно лишнего компа, где можно поставить всякую всячину иногда нет даже на фирмах. Не говоря уже о том, что администрирование такого выделенного под тестовый деплоинг сервера будет адским кошмаром при количестве продуктов и разработчиков более одного. Тут нам как бы призвана помочь виртуализация.

 

Запускаем virtualbox, уже настроенный и готовый к применению и получаем фейсом об тейбл. А поставьте, говорит, virtualbox-dkms и запустите из под рута modprobe vboxdrv. Все бы ничего, только вот пакет этот уже стоит, а modprobe говорит: FATAL: Module vboxdrv not found. Что в переводе  на понятный язык звучит как идите нах....

 

Ну да не в первый раз замужем, известно где тут собака закопана. Ubunta обновила ядро, а новые заголовки не подтянула. Идем в synaptic и грузим все что надо, после чего наступает счастье. Винда запущена. Но радоваться рано.

Приложение выложено у нас на рабочей машине, там запущен LAMPP, который отлично работает "из коробки" при минимальной правке конфигов. Поставить его много проще чем поднять и настроить все что нужно для тестового вебсервера по отдельности. Мы даже присвоили адресу 127.0.0.2 имя game.my, вот только как теперь достучаться до этого адреса из под Virualbox'a?

Не мудрствуя лукаво спрашиваем у ifconfig наш IP адрес и быстренько меняем все так чтобы обращаться к нему. Ура!, наш немудреный сайтик с кнопочкой "запустить приложение" доступен и там и сям.

 

Результат:

в Ubuntu (Java 1.6, Chrome, FireFox) не ставится иконка на рабочий стол. При этом ругается нехорошими словами. Опера jnlp загружает, но джаву не запускает.

В WinXP (а другой у меня нету, Java 1.7, IE 6, Chrome) иконка ставится, в меню добавляется, но с кракозябрами вместо нормальных буков. Видимо не понимает кодировку UTF-8

В Ubuntu программа запускается и работает,

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

Update: размечтался... это просто кусок нижележащего окна выглядывает.

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

Обе твари напрочь игнорируют атрибут "os" у тега resources - пришлось делать два отдельных jnlp. Я знал! Т.е. os="windows" и os="linux" не работают. А если там нужно более конкретно указывать ось, то нафига тогда козе баян?

Update: они работают! Только надо писать с Большой Буквы. Linux... Windows... это вам не хухры мухры. Это звучит гордо!

Задавать codebase - обязательно полный адрес сайта, потому как все поголовно норовят загрузить jnlp как файл, а потом только скормить его джаве. Естественно после этого она пытается искать наши либы в папке загрузки - с понятно каким результатом.

Возможно сервер отдает неправильный mime, хотя я его прописал... Чертов firebug не показывает подобные сетевые запросы...

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

На том пока эксперименты с различными платформами я завершаю - ставить невиртуальную винду пока нет желания

Комментариев нет:

Отправить комментарий