суббота, 8 августа 2009 г.

Flash | Flex Удоленный Debugger


Если вы Flash | Flex разработчик более полугода, то уже столкнулись с проблемой различного поведения Flash приложений на Development и Customer сервере. Не обязательно проблемы во флешке! Дефекты могут быть и на стороне сервера. Но, ответить на вопрос “Что сломалось?”, становится намного сложнее. “Начинается фантазия”. Отладочные поля поверх всего и вся, кучи проверок, обновления флешки на сервере заказчика, а главное потрачено много времени.


Все это в прошлом!


На горизонте появилось фришное приложение, под грозным названием De MonsterDebugger



Список возможностей:


Древовидная структура, позволяет пройти через весь код приложения на уровне
кода. Подробнее


Горячее редактирование, вы можете редактировать свойства и моментально видеть эффект в вашем приложение. Подробнее


Собственный метод trace(). Позволяет прослушать Объекты, Массивы, XML …. Лично я использую его чтоб просматривать каждый объект пришедший от сервера. Взял за правило пропускать такие объекты через MonsterDebugger.trace() в случае если во флеш-варсаx указан параметр testMode. Подробнее


Возможность вызвать пользовательский метод. Если у вас есть метод принимающий String, Number, Int, Uint то вы его можете испытать из MonsterDebugger. Подробнее



Установка:


1) Скачать и установить AIR. Можно здесь


2) Скачать и установить MonsterDebugger. Можно здесь


3) Экспортить пакет MonsterDebugger в ваше приложение. Это позволит соединить ваше приложение и MonsterDebugger. Соединение происходит по LocalConnection



4) Заимпортить класс MonsterDebugger в ваше приложение.


Flash example:


package {



import flash.display.Sprite;


import nl.demonsters.debugger.MonsterDebugger;



public class Main extends Sprite {



// Переменная для хранения MonsterDebugger


private var debugger:MonsterDebugger;



public function Main() {



// Инициализация


debugger = new MonsterDebugger(this);



// Использование метода trace


MonsterDebugger.trace(this, "Hello World!")


}


}


}


Flex example:



<?xml version="1.0" encoding="utf-8"?>


<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">


<mx:Script>


<![CDATA[




import nl.demonsters.debugger.MonsterDebugger;



// Переменная для хранения MonsterDebugger


private var debugger:MonsterDebugger;



private function onInit():void



// Инициализация


debugger = new MonsterDebugger(this);



// Использование метода trace


MonsterDebugger.trace(this, "Hello World!");


}


]]>


</mx:Script>


</mx:Application>


­­­