понедельник, 1 июня 2009 г.

Установка PHP Eclipse Plugin, локального сервера и AMFPHP

Мне необходимо обеспечить платформу для локальной работы с AMFPHP. Для этого нужны нормальная среда разработки и локальный вебсервер.

Среда разработки

Есть в рамках Eclipse такой проект: PHP Development Tools Project или просто PDT. Вот его страница: PHP Development Tools Project.

Зайдем в раздел Downloads и скачаем последнюю версию PDT All-In-One.

Пока идет закачка, смотрим PDT/Installation. Оказывается есть несколько способов установки, и всё скачивать вовсе не обязательно.

Попробуем пункт From Update Site. Добавляем в Help > Software Updates... > Available Software > Manage Sites две ссылки: dlk и pdt. Отмечаем галки как на картинке и инсталлируем. После инсталляции Eclipse рестартует.

Локальный веб-сервер

Теперь у нас появилась возможность создавать в Eclipse проекты PHP. Но для работы нам нужен сервер. Желательно легкий и не сложный в эксплуатации. Главные пертенденты на пост локального сервера под Windows:

Порыв интернет, обратил внимание, что AMFPHP и Denver никто не скрещивает, и даже ругаются, зато с XAMPP у них большая дружба на англоязычных порталах. Поэтому, не долго думая (эхх, а у Denver такой завлекательный и красочный сайт) беремся за XAMPP.

Тут же находим кучу туториалов по установке XAMPP и AMFPHP:

Идем качать на страницу XAMPP for Windows. Выбираем XAMPP.

Пока качается, качнем AMFPHP: Downloads. Странно, что последний релиз датируется сентябрем 2007го. Похоже что проект в запустении? Но в имя файла включена дата 2008 года. Как всегда в опенсорсе бардак.

Так, ставим XAMPP. Установился, всё волшебно, в трее появилась иконка, по нажатии на которую открывается симпатичная панелька, с которой можно управлять запуском Apache, MySQL, FileZilla (FTP-сервер) и Mercury (Mail-сервер).

Однако, Apache не стартовал! При запуске с панели вообще неясно почему, но если стартовать C:\xampp\apache_start.bat видно, что возникает ошибка: "make_sock: could not bind to address 0.0.0.0:80". Не беда, нам помогает FAQ: The apache does not start on my system!!! Из всех причин, мне подходят две: работающий firewall или Skype. Деинсталлировать COMODO Firewall желания у меня нет никакого, поэтому, начнем со скайпа. Вуаля! Всё заработало. а что ж со скайпом теперь? Следуем указаниям - в настройках скайпа "Дополнительно -> Соединение" снимаем галку с пункта "Использовать порты 80...". Теперь всё нормально работает.

Ставим AMFPHP

Далее следуем указаниям: создаем папочку "c:/xampp/htdocs/flashservices". Разворачиваем в нее архив с AMFPHP, указываем в gateway.php путь к нашей папке $gateway->setBaseClassPath ("C:/xampp/htdocs/flashservices/services");. Но стоп. Тут нет этого параметра. Ну тогда ничего не делаем :).

Проверяем: "http://localhost/flashservices/gateway.php". Всё становится ясно. Мануал наш староват. Всё уже отлично работает. И мы тоже можем приступить к пользованию локальным web-сервером и AMFPHP!

воскресенье, 31 мая 2009 г.

FlashDevelop RC4. Радостные заметки.

Наконец-то дошли руки обновить FD до последней версии (FlashDevelop 3.0.0 RC4 released).

Радости нет предела. Наконец-то FDTracer вошел (еще в версии RC2) в штатный состав. Теперь возни с переустановкой плагинов стало еще меньше.

Как всегда, ставим OpenTheDoc, находим последнюю версию. Старый файл с настройками лучше удалить - прии попытке ими воспользоваться, во время работы плагина я получал ошибки. Кроме того, окно с документацией открывается без списка содержания. Для этого, к плагину прилагается утилита TocGen, который генерирует TOC (Table Of Contents). Запускаем, добавляем в список путь к документации, генерируем. Теперь панель OpenTheDoc открывается со списком содержания.

Есть такой интересный плагин - ExportProject. Он собирает проект в некий архив и генерирует документацию проекта. После его установки, на панели добавляются две кнопочки - Create Documentation и Export Project. Попробовал создать архив проекта - действительно, в каталоге проекта появился ZIP, в котором лежат все файлы проекта и файлы, полученные из глобальных путей. Однако, в процессе экспорта, произошла ошибка и я обнаружил, что заархивировались не все файлы и не все пути. Плагин стоящий, но, чтобы его успешно использовать, надо понять в чем проблема.

Плагин Blueprint

Сегодня среди блогов, которые я регулярно просматриваю, увидел пост с заманчивыми отзывами о некоем плагине для FlexBuilder, именуемом Blueprint.

Попробуем его поставить. Следуем по ссылке на страницу инструкций по установке. У меня FlexBuilder 3 плагин под Eclipse. Возможно по этой причине приведенные в инструкции скриншоты несколько не похожи на то что я вижу на своем компьютере. Однако, логика остается та же:
Help -> Software Updates ->Available Software -> Add Site. Просто вставляем строчку http://download.macromedia.com/pub/labs/blueprint/, затем отмечаем галочкой появившийся в списке URL и жмем Install. После инсталляции предложили перезагрузить Eclipse.

Попробовал Blueprint в деле. Пока остаюсь в некотором недоумении. Во-первых, комбинация Ctrl+B вызывает Build All. Назначение других кнопок ни к чему хорошему не привело. Так что, только нажатие на появившуюся новую иконку дает результат - выводится окошко ввода. Если при этом был выделен фрагмент текста, с некоторым запозданием появляется здоровое окно с соответствующими ему примерами и кодом. Окно довольно косячное, без скроллбара. Как только я попытался мышкой изменить его размер, вылетела ошибка.

В общем, инструмент очень нужный и полезный, но, увы, до безобразия глючный. Может быть со временем его обновят и улучшат? Хорошо бы.

воскресенье, 5 апреля 2009 г.

Установка Red5 и всё что нужно для Red5-разработки

Ставим Red5 под Windows (XP).
Для начала, заходим на официальную страничку Red5 и качаем свежий релиз. Сегодня это Red5 v0.7.0 final 02.23.2008.
Запускаем инсталлер. Установка проходит без мудрёных вопросов, по завершении перезагрузка не требуется.

Red5 стоит. Попробуем его потестить.
Запускаем из стартового меню Start Red5. Открывается консоль сервера, в которой незатейливо отображается процесс запуска. Говорит - ...Startup Done...

Дальше будем действовать по Tutorials:Red5 and Flex 2 on Windows XP.
Проверить, что сервер работает, можно, обратившись к стартовой странице http://localhost:5080/. Она успешно открылась, и мы тут же переходим в раздел демок, где тестируем работоспособность сервера.
Лучше всего зайти на демку "Publisher" http://localhost:5080/demos/publisher.html и поразвлекаться с записью видео. Кстати, видео складывается в папочку "...Red5\webapps\oflaDemo\streams\".

Поставим софт, необходимый для разработки. Eclipse у меня уже установлен, если понадобится - можно взять тут: Eclipse IDE for Java EE Developers.

Анонсы Red5 Plugin для Eclipse IDE привели меня к следующему тутору. Попробуем по нему пройтись.
Кстати, ссылка http://www.red5.org/projects/red5plugin/ закрыта. А располагается он здесь: http://jira.red5.org/confluence/display/tools/Red5+Tooling+Support. Ага, значит сам плагинчик здесь: http://www.red5.org/projects/red5plugin/update_0.2.x/.

Следуем действиям видео-туториала. Мда, всё идет четко по сценарию, только уж очень долго инсталлится - видимо много времени занимает закачка. Так, ну вот, говорят, надо рестартануть Eclipse. Так и делаем.
В процессе настройки параметров вновь создаваемого Red5 проекта, в списке JRE выбирается JVM 1.6.0. В моем случае, в этом списке такого выборе не было. Поэтому выбрал Default JRE. Долго искал, как же получить JVM 1.6.0, но так и не понял :(.
Плагин работает обалденно! Создает конфигурационные файлы Red5 (которые создавались вручную в статье Начало разработки с Red5), позволяет запускать Red5 прямо в рамках Eclipse (что у меня не получилось, скорее всего ввиду отсутствия JVM 1.6.0), и т.п.

Итак, создать проект Red5 удалось, теперь я задаюсь целью откомпилировать серверное приложение, лежащее в демках. Беру из ...\Red5\webapps\oflaDemo\WEB-INF\src\org\red5\server\webapp\oflaDemo\ исходники java и кладу себе в ...\FlexWorkspace\SoundRecorder\src\com\SoundRecorder\ , меняю в них имя package на com.SoundRecorder.
Компилятор ругается на отсутствие каких-то библиотек ...spring... я нахожу в папке ...\Red5\lib библиотечку spring-core-2.0.8.jar и копирую ее себе в ...\FlexWorkspace\SoundRecorder\WebContent\WEB-INF\lib\, перекомпилирую, остаются одни warning-и, на которые закрываю глаза - это уже на совести разработчиков демки :).
Теперь во вкладочке Servers, кликаю на Red5-сервере (если его нет - нужно добавить, и указать пути к папке Red5) правой кнопкой и в меню выбираю Publish. На сервере, в папке webapps, появляется мой SoundRecorder. Рестартую сервер.

Но, увы, приложение еще не будет цепляться демкой "Publisher", когда я указываю Location: rtmp://localhost/SoundRecorder. Выдается ошибка NetConnection.Connect.InvalidApp, что означает, что приложение на сервере не найдено.
Это потому, что не все файлы конфигурации настроены под наше приложение. Поэтому, беру файлы конфигурации "oflaDemo", копирую себе в "SoundRecorder", заменяю все названия и пути от "oflaDemo" на "SoundRecorder". Рестартую сервер.

Демка "Publisher" работает теперь и с моим приложением! Дело сделано, софт установлен, можно работать дальше!

суббота, 21 февраля 2009 г.

Уже давно пора перейти на FlashDevelop 3.0.0 RC1

Сегодня, после скоропостижной кончины HDD на моем ноутбуке (у кого на Sony Vaio стоит Fujitsu, не будьте столь же легкомысленны как я и заранее потратьте 2000 руб на Seagate или WD - будьте уверены, гром грянет внезапно и в самый неподходящий момент) , я переустанавливаю софт на новый диск и это хороший шанс с нуля поставить свежий софт.

И вот, смотрим, что у нас с FD. Прошлый раз, когда я обновлял его, у меня возникли серьезные проблемы с плагинами. Теперь всё изменилось: плагины обновились и можно смело переходить на новую версию 3.0.0 RC1.

  • Итак, качаем новый FDTracer. Встал отлично, работает превосходно.
  • Затем, ставим давно полюбившийся OpenTheDoc 2.0.0. Качаем последний выпуск. Ставится и работает без проблем.
  • Хочется еще разок попробовать fdbPlugin. Качаю, ставлю. Запустился без ошибок, но при выходе из FD дал эксцепшн. То же самое произошло при втором запуске FD. За то потом - успокоился. И даже дебажил. Попробую попользовать - первый раз был не очень удачным, возможно, со второго раза он у меня приживется - после Flex Builder уж больше не хочется возвращаться к отладке через trace(). Кстати, где-то промелькнуло, что этот плагин войдет (или уже вошел) в следующий выпуск FD.
  • Приятно удивил плагин FlexDesignView Plugin. Скачал я его, поставил - работает! И даже компилируется. Конечно, еще не всё гладко, но, при тесте, ошибок не было. Приятно видеть, как FlashDevelop потихоньку захватывает нишу FlexDevelop - два последних плагина реализуют ключевые элементы Flex-разработки.

Больше экспериментировать не стал - не хватило терпения. Но, думаю продолжить выявление других полезных плагинов - на форуме FD (Board index » Development » Plugins) столько заманчивых постов!