Flex и RIA блоги
2010-01-11 |
Игра - помогите сделатьДоброе время суток!Сложилась не очень приятная ситуация для меня и я прошу Вас помочь мне. Что за игра-то?И так,Вы решили мне помочь (огромнейшее спасибо Вам!). Тут я опишу,как я вижу игру (квиз,типа "Кто хочет стать миллионером"): 1.Вступительный ролик (3-4 секунды, простой(типа,кто-то летает)) Читаем предисловие, жмем далее. Ссылки на 4 задания (Глобальное потепление, Озоновые дыры, Кислотные дожди) • Панель (проценты, информация) |
Игра - помогите сделатьДоброе время суток!Сложилась не очень приятная ситуация для меня и я прошу Вас помочь мне. Что за игра-то?И так,Вы решили мне помочь (огромнейшее спасибо Вам!). Тут я опишу,как я вижу игру (квиз,типа "Кто хочет стать миллионером"): 1.Вступительный ролик (3-4 секунды, простой(типа,кто-то летает)) Читаем предисловие, жмем далее. Ссылки на 4 задания (Глобальное потепление, Озоновые дыры, Кислотные дожди) • Панель (проценты, информация) |
2010-01-09 |
Приведение объекта к булеву значению, а так же к любому другому типу в Groovy Все мы знаем, о таком замечательном методе, как В этом отношении язык Groovy не стал исключением — в нем тоже все объекты имеют метод Рассмотрим для начала ситуацию приведения объекта к булеву значению. Все просто — берете и переопределяете в своем классе (или посредством поля GROOVY:
Ну и, как вы уже могли догадаться, аналогичным способом мы переопределяем метод GROOVY:
Вот такие очень гибкие возможности предоставляет нам Groovy. |
2010-01-08 |
Поддержка UML диаграмм для ActionScript/Flex-проектов в Intellij IDEA 9 Если кто не в курсе, то уже почти месяц как Intellij Idea 9 имеет возможность просмотра UML-диаграмм для ActionScript и Flex классов, а это значит, что у нас есть возможность анализировать код своих Flex проектов при помощи UML диаграм классов. |
2010-01-06 |
Знакомство с Mate Вступление. Этот пост начал свое существование 7 месяцев назад. Именно тогда я решил взять на вооружение Mate Flex Framework. Но злостный непрекращающийся дидлайн никак не давал мне закончить статью. Год выдался трудным и на работе и дома (в конце ноября у нас родился 3й ребятёнок). Сейчас, на праздниках (Всех с Новым Годом и Рождеством!) появилась свободная минутка, чтобы оглянуться назад. Начало этого поста писалось в режиме осваивания Mate, т.е. с распухающим мозгом, силящимся понять принципы фреймворка и пытающимся подстроиться под новый стиль программирования. Затем, втягиваясь, я понемногу добавлял небольшие комментарии (курсивом) и заметки. Сейчас я просто всё это немного причешу, добавлю небольшие комментарии, подведу итоги, и увидим, что получится. Забегая вперед, хочу с удовольствием отметить, что освоение прошло успешно и пол-десятка проектов были запущены на каркасе Mate. Теоретическое знакомство с Mate Наконец-то у меня появилось время копнуть Mate.
Для начала посмотрим видео: Mate Helloworld. Впечатления позитивные. Всё довольно очевидно и изящно. Здесь рассказывают про Mate на примере работы с простейшим сервисом при использовании AMFPHP. Мне это дело так понравилось, что я решил немедленно себе поставить эту штуку - но об этом позже. А пока - продолжаем изучать Mate. Читаем про Mate на Go!Verla Flex Blog:
Все эти статьи действительно здорово помогли освоить Mate, и особенно наличием исходного кода. На сайте Mate также есть куча примеров с исходниками, которые здорово помогли понять основы и принципы. Неудачно перехожу от теории к практике Пока изучал Mate, решил испробовать на реальном проекте (проект небольшой многослойной карты с маркерами и с подгрузкой данных). Подготовил все компоненты к виду Model/View и... всё получилось само собой, но только без Mate. На байндинге и событиях. Делаем вывод - Mate не для простых проектов. Точнее, не имеет смысла его использовать в простых проектах. Хотя, в примерах числятся очень простые приложения типа "Weather Widget". Сейчас, оглядываясь на этот проект, я понимаю, что сделать его на Mate было бы очень удобно и просто. Но принципы Mate требуют изменить свои устоявшиеся привычки разработки. На тот момент я еще не был готов к этому. Кстати, хочу отметить, что мое решение ничуть не проиграло бы Mate-решению. Чисто-Flex-разработка обладает богатым набором возможностей, и вовсе не обязательно всем сломя голову пересаживаться на Mate. Но попробовать, точно, стоит. Но меня просто переполняет желание освоить этот фреймворк. Попробую начать с нуля. Теперь хорошо бы создать структуру пакетов (проще говоря, папок) проекта. После обзора примеров, выявляется устоявшаяся структура: Основной пакет проекта помещается в папку: В проекте содержатся следующие пакеты:
Само собой разумеется, что каждый волен пользоваться собственной структурой. Но по мне, так лучше присоединиться к общественности и следовать какому-то общему правилу. Хотя бы самому обобщенно общему. Для лучшего понимания собственного и чужого кода. Такая структура хорошо подходит для относительно простого проекта. Однако, работая над крупным проектом, я убедился, что этого мало. Нужна также смысловая структуризация. То есть, в пакете проекта я располагаю пакеты функционально обособленных модулей, а уже каждый пакет модуля содержит обозначенную выше структуру. Общие для всех модулей сущности складируются в пакет "common". Такой способ особенно оправдан в проектах с использованием подгружаемых модулей.Первое Mate-приложение А о чем будет наше приложение? После некоторых изысканий, я окончательно убедился, что фреймворк рассчитан на работу с данными. Позже я делал настраиваемый анимационный движок для виджета, где данные играли не самую первую роль, но, всё же, в приложениях без необходимости обработки данных Mate действительно не нужен. И тут подвернулся как раз подходящий проект - еще одна интерактивная карта с подгружаемыми данными маркеров и списка объектов. Ну теперь нужно не облажаться и все-же применить новое учение. Опишу приблизительный процесс создания приложения с использованием Mate. Все действующие лица не вымышлены, но и приводятся не в полном составе, без усложнений, связанных с особенностями проекта. 1. Создаем все Views Их у меня получилось два:
Экраны оформляю так, чтобы все детали ушли в компоненты, а полученные компоненты "плавали на поверхности". Таким образом, InformationView содержит компоненты:
Каждый из них имеет dataProvider, в который передается список данных объектов карты informationDataProvider и список маршрутов routesDataProvider. А LayerView содержит компоненты:
Всё это лежит в папке views. 2. Создаем VO Теперь создадим объекты данных, которые будут выводить наши views. Это обычные потомки EventDispatcher с Bindable-свойствами:
Размещаем их в папке vos. 3. Создаем файлы данных Имея представление о данных, которые мы выводим, можно создать XML-файл с данными. Данные будем получать по HTTP-запросу, и нам не важно, будет ли их кто-то генерировать или это будет простой XML файл. Сейчас главное, чтобы наше приложение их получало, обрабатывало и выводило. Создаю в src папку data, в которой размещаю XML-файл с данными. Структуру выбираю произвольно - так как мне удобно - тех-требований на формат обмена данными нет, поэтому их диктую я сам. URL файла данных приложение получает через переменные FlashVars (без подробностей). 4. Создаем поставщиков данных InformationDataProvider - так я его назвал. Он получает загруженные данные, обрабатывает их и размещает у себя. Собственно, этим занимается его метод aquire(data:XML), который помещает данные в полях:
В случае ошибки при разборе данных, или сервер возвратил информацию об ошибке, поставщик генерирует событие, информирующее об ошибке - SettingsEvent.SETTINGS_ERROR. В случае успеха - событие успешного получения данных SettingsEvent.SETTINGS_SUCCESS. События из классов, не являющихся компонентами приложения, нужно генерировать через специальный, предусмотренный в Mate, класс Dispatcher. Тогда они будут отрабатываться в картах событий EventMap. Размещаем его в папке business. 5. Создаем события и карты событий В папке maps создаем InjectionMap.mxml, в котором размещаем теги Injectors, связывающие information (из InformationDataProvider) и informationDataProvider (из InformationView и LayerView), и аналогично для routes - routesDataProvider. Как только InformationDataProvider получит данные и установит их в information и routes - они тут же попадут по средством связывания (binding) в соответствующие поля InformationView и LayerView и будут отображены их компонентами в окне приложения. Другая карта событий - MainEventMap.mxml - содержит обработчики событий. Такие инструменты как HTTPServiceInvoker и т.п. прекрасно заменяют рутинные классы отправки/получения данных. Обрабатываются все основные FlexEvent-события, которые позволяют обрабатывать инициализацию приложения и его готовность к работе. Чтобы событие улавливалось картой событий, оно должно иметь параметр по умолчанию bubbles:Boolean=true. Итак, наша карта событий улавливает в контейнере EventHandlers событие FlexEvent.APPLICATION_COMPLETE и отправляет HTTP-запрос (HTTPServiceInvoker) на получение конфигурации. Не забываем указать resultFormat="e4x", чтобы полученные данные были представлены в виде XML. В разделе обработчиков resultHandlers помещаем MethodInvoker с вызовом нашего метода aquire, у которого resultObject указан в аргументах. В раздел faultHandlers помещаем обработчики ошибки запроса. Теги с картами событий InjectionMap и MainEventMap обязательно помещаем в корне приложения. Заметки Столкнулся со следующими проблемами: 1. id в Request. Если я хочу передать в HTTPServiceInvoker, в Request переменную id - у меня проблема. В MXML id - это имя инстанцируемого объекта. В обсуждении предлагается использовать для этих целей параметр _id, но это не помогает - с запросом отправляется чепуха. Выход - не именовать так переменные (даже сильно поругался из-за этого с сервер-разработчиком). 2. source в EventHandlers. Переменные с именем source ведут как-то странно в обработчиках событий. Несколько раз ловил в них не действительное значение, а что-то вроде строки "Event". Непонятна причина такой особенности, поэтому, опять-таки, лучше избегать таких имен. 3. События. Не сильно проблемная особенность, но все же - нельзя модифицировать параметры конструктора события - добавлять и менять порядок следования параметров. * * * Работая с flex-модулями (Module), убедился, что Mate следует использовать очень осторожно. Лично я так и не понял, как сделать так, чтобы модуль выгружался и убивался GC. Взаимодействие модулей с главным приложением производится успешно, однако, выгруженные модули продолжают ловить события. Следуя инструкциям и собственным экспериментам, я постарался сделать модули как можно более автономными и создал следующую структуру: 1. Каждый модуль имеет свои карты событий. По возможности, я старался сделать их локальными (LocalEventMap). Однако, карты, которые работают с событиями главного приложения не могут являться таковыми, да и вообще - не очень то с ними всё сложилось. 2. События, которые используются и основным приложением и модулями выделены в отдельный пакет. Обработка и отправка событий в/из модуля вынесены в отдельные карты событий. 3. Перекрыл класс Module - каждый модуль при удалении из Stage подчищает в своих картах событий все возможные связи. После таких действий, выгруженные модули теряют интерес к событиям приложения, однако, сомневаюсь, что они удаляются из памяти - есть угроза утечки памяти. Виновен ли в этом я, или Mate или вообще Flex - сказать трудно. Остается полагаться на то, что смена модуля не столь частая операция (я использую flex-модули в качестве "страниц" flash-сайта), чтобы съесть всю память во время просмотра сайта. * * * Общее впечатление Mate упрощает разработку, но усложняет логику. Многие вещи лучше визуализируются, работа с событиями выносится в отдельные блоки, повышается наглядность, а связность кода уменьшается. Превосходно решается задача отделения представления от логики - задача любого фреймворка, особенно для flash. Возможность легкого надстраивания приложения - огромный плюс Mate. Если работа с событиями в приложении изначально организована правильно, добавлять новые программные возможности легче простого. Я без труда добавил возможности дип-линкинга SWFAddress, или встроил приложение в Zinc. Однако, есть и обратная сторона. Логически связанные сущности разрываются, когда выносятся в карты событий. Рабочий процесс приложения рассредоточивается по файлам разного формата, в картах событий методы вызываются непривычным способом, имена их указываются как строки, а аргументы - как массивы, что мешает автокомплиту и компилятору помогать и контролировать процесс разработки. Да и на читабельности и понятности кода это сильно сказывается, и не в лучшую сторону. Я вообще молчу об удобстве отладки такого приложения. Всё построено на связывании (binding) и событиях, а всем известно - это злые враги дебагера. При попытке как-то сохранить связность сущностей, я стараюсь группировать классы в обособленные пакеты, общающиеся друг с другом посредством общих событий. Это помогает сохранить логически стройное представление сущностей, но увеличивает количество файлов. Зачастую, файлы при этом просто дублируются, лишь с заменой имен событий и переменных. Особенно это касается бурного размножения классов событий. В итоге, простой проект выглядит красиво, но сложный - громоздко. С другой стороны, простое приложение легче сделать красивым чем сложное, которое в любом случае будет громоздким и потребует больших умственных затрат. Итак, Mate - превосходный инструмент. Не скажу, что он сильно ускоряет разработку. Время, сэкономленное на рутине, легко тратится на вспухание мозга, пытающегося объять логику, заключенную в куче файлов, а так же на ловлю своих же багов (а иногда и багов Mate). Но, должен отметить, что всё зависит от опыта разработчика и правильного проектирования приложения. И главное - как и любой другой фреймворк, Mate дает прочный каркас приложению, быстрый старт разработки, помогает больше сосредоточиться на логике приложения, не отвлекаясь на рутину. |
Знакомство с Mate Вступление. Этот пост начал свое существование 7 месяцев назад. Именно тогда я решил взять на вооружение Mate Flex Framework. Но злостный непрекращающийся дидлайн никак не давал мне закончить статью. Год выдался трудным и на работе и дома (в конце ноября у нас родился 3й ребятёнок). Сейчас, на праздниках (Всех с Новым Годом и Рождеством!) появилась свободная минутка, чтобы оглянуться назад. Начало этого поста писалось в режиме осваивания Mate, т.е. с распухающим мозгом, силящимся понять принципы фреймворка и пытающимся подстроиться под новый стиль программирования. Затем, втягиваясь, я понемногу добавлял небольшие комментарии (курсивом) и заметки. Сейчас я просто всё это немного причешу, добавлю небольшие комментарии, подведу итоги, и увидим, что получится. Забегая вперед, хочу с удовольствием отметить, что освоение прошло успешно и пол-десятка проектов были запущены на каркасе Mate. Теоретическое знакомство с Mate Наконец-то у меня появилось время копнуть Mate.
Для начала посмотрим видео: Mate Helloworld. Впечатления позитивные. Всё довольно очевидно и изящно. Здесь рассказывают про Mate на примере работы с простейшим сервисом при использовании AMFPHP. Мне это дело так понравилось, что я решил немедленно себе поставить эту штуку - но об этом позже. А пока - продолжаем изучать Mate. Читаем про Mate на Go!Verla Flex Blog:
Все эти статьи действительно здорово помогли освоить Mate, и особенно наличием исходного кода. На сайте Mate также есть куча примеров с исходниками, которые здорово помогли понять основы и принципы. Неудачно перехожу от теории к практике Пока изучал Mate, решил испробовать на реальном проекте (проект небольшой многослойной карты с маркерами и с подгрузкой данных). Подготовил все компоненты к виду Model/View и... всё получилось само собой, но только без Mate. На байндинге и событиях. Делаем вывод - Mate не для простых проектов. Точнее, не имеет смысла его использовать в простых проектах. Хотя, в примерах числятся очень простые приложения типа "Weather Widget". Сейчас, оглядываясь на этот проект, я понимаю, что сделать его на Mate было бы очень удобно и просто. Но принципы Mate требуют изменить свои устоявшиеся привычки разработки. На тот момент я еще не был готов к этому. Кстати, хочу отметить, что мое решение ничуть не проиграло бы Mate-решению. Чисто-Flex-разработка обладает богатым набором возможностей, и вовсе не обязательно всем сломя голову пересаживаться на Mate. Но попробовать, точно, стоит. Но меня просто переполняет желание освоить этот фреймворк. Попробую начать с нуля. Теперь хорошо бы создать структуру пакетов (проще говоря, папок) проекта. После обзора примеров, выявляется устоявшаяся структура: Основной пакет проекта помещается в папку: В проекте содержатся следующие пакеты:
Само собой разумеется, что каждый волен пользоваться собственной структурой. Но по мне, так лучше присоединиться к общественности и следовать какому-то общему правилу. Хотя бы самому обобщенно общему. Для лучшего понимания собственного и чужого кода. Такая структура хорошо подходит для относительно простого проекта. Однако, работая над крупным проектом, я убедился, что этого мало. Нужна также смысловая структуризация. То есть, в пакете проекта я располагаю пакеты функционально обособленных модулей, а уже каждый пакет модуля содержит обозначенную выше структуру. Общие для всех модулей сущности складируются в пакет "common". Такой способ особенно оправдан в проектах с использованием подгружаемых модулей.Первое Mate-приложение А о чем будет наше приложение? После некоторых изысканий, я окончательно убедился, что фреймворк рассчитан на работу с данными. Позже я делал настраиваемый анимационный движок для виджета, где данные играли не самую первую роль, но, всё же, в приложениях без необходимости обработки данных Mate действительно не нужен. И тут подвернулся как раз подходящий проект - еще одна интерактивная карта с подгружаемыми данными маркеров и списка объектов. Ну теперь нужно не облажаться и все-же применить новое учение. Опишу приблизительный процесс создания приложения с использованием Mate. Все действующие лица не вымышлены, но и приводятся не в полном составе, без усложнений, связанных с особенностями проекта. 1. Создаем все Views Их у меня получилось два:
Экраны оформляю так, чтобы все детали ушли в компоненты, а полученные компоненты "плавали на поверхности". Таким образом, InformationView содержит компоненты:
Каждый из них имеет dataProvider, в который передается список данных объектов карты informationDataProvider и список маршрутов routesDataProvider. А LayerView содержит компоненты:
Всё это лежит в папке views. 2. Создаем VO Теперь создадим объекты данных, которые будут выводить наши views. Это обычные потомки EventDispatcher с Bindable-свойствами:
Размещаем их в папке vos. 3. Создаем файлы данных Имея представление о данных, которые мы выводим, можно создать XML-файл с данными. Данные будем получать по HTTP-запросу, и нам не важно, будет ли их кто-то генерировать или это будет простой XML файл. Сейчас главное, чтобы наше приложение их получало, обрабатывало и выводило. Создаю в src папку data, в которой размещаю XML-файл с данными. Структуру выбираю произвольно - так как мне удобно - тех-требований на формат обмена данными нет, поэтому их диктую я сам. URL файла данных приложение получает через переменные FlashVars (без подробностей). 4. Создаем поставщиков данных InformationDataProvider - так я его назвал. Он получает загруженные данные, обрабатывает их и размещает у себя. Собственно, этим занимается его метод aquire(data:XML), который помещает данные в полях:
В случае ошибки при разборе данных, или сервер возвратил информацию об ошибке, поставщик генерирует событие, информирующее об ошибке - SettingsEvent.SETTINGS_ERROR. В случае успеха - событие успешного получения данных SettingsEvent.SETTINGS_SUCCESS. События из классов, не являющихся компонентами приложения, нужно генерировать через специальный, предусмотренный в Mate, класс Dispatcher. Тогда они будут отрабатываться в картах событий EventMap. Размещаем его в папке business. 5. Создаем события и карты событий В папке maps создаем InjectionMap.mxml, в котором размещаем теги Injectors, связывающие information (из InformationDataProvider) и informationDataProvider (из InformationView и LayerView), и аналогично для routes - routesDataProvider. Как только InformationDataProvider получит данные и установит их в information и routes - они тут же попадут по средством связывания (binding) в соответствующие поля InformationView и LayerView и будут отображены их компонентами в окне приложения. Другая карта событий - MainEventMap.mxml - содержит обработчики событий. Такие инструменты как HTTPServiceInvoker и т.п. прекрасно заменяют рутинные классы отправки/получения данных. Обрабатываются все основные FlexEvent-события, которые позволяют обрабатывать инициализацию приложения и его готовность к работе. Чтобы событие улавливалось картой событий, оно должно иметь параметр по умолчанию bubbles:Boolean=true. Итак, наша карта событий улавливает в контейнере EventHandlers событие FlexEvent.APPLICATION_COMPLETE и отправляет HTTP-запрос (HTTPServiceInvoker) на получение конфигурации. Не забываем указать resultFormat="e4x", чтобы полученные данные были представлены в виде XML. В разделе обработчиков resultHandlers помещаем MethodInvoker с вызовом нашего метода aquire, у которого resultObject указан в аргументах. В раздел faultHandlers помещаем обработчики ошибки запроса. Теги с картами событий InjectionMap и MainEventMap обязательно помещаем в корне приложения. Заметки Столкнулся со следующими проблемами: 1. id в Request. Если я хочу передать в HTTPServiceInvoker, в Request переменную id - у меня проблема. В MXML id - это имя инстанцируемого объекта. В обсуждении предлагается использовать для этих целей параметр _id, но это не помогает - с запросом отправляется чепуха. Выход - не именовать так переменные (даже сильно поругался из-за этого с сервер-разработчиком). 2. source в EventHandlers. Переменные с именем source ведут как-то странно в обработчиках событий. Несколько раз ловил в них не действительное значение, а что-то вроде строки "Event". Непонятна причина такой особенности, поэтому, опять-таки, лучше избегать таких имен. 3. События. Не сильно проблемная особенность, но все же - нельзя модифицировать параметры конструктора события - добавлять и менять порядок следования параметров. * * * Работая с flex-модулями (Module), убедился, что Mate следует использовать очень осторожно. Лично я так и не понял, как сделать так, чтобы модуль выгружался и убивался GC. Взаимодействие модулей с главным приложением производится успешно, однако, выгруженные модули продолжают ловить события. Следуя инструкциям и собственным экспериментам, я постарался сделать модули как можно более автономными и создал следующую структуру: 1. Каждый модуль имеет свои карты событий. По возможности, я старался сделать их локальными (LocalEventMap). Однако, карты, которые работают с событиями главного приложения не могут являться таковыми, да и вообще - не очень то с ними всё сложилось. 2. События, которые используются и основным приложением и модулями выделены в отдельный пакет. Обработка и отправка событий в/из модуля вынесены в отдельные карты событий. 3. Перекрыл класс Module - каждый модуль при удалении из Stage подчищает в своих картах событий все возможные связи. После таких действий, выгруженные модули теряют интерес к событиям приложения, однако, сомневаюсь, что они удаляются из памяти - есть угроза утечки памяти. Виновен ли в этом я, или Mate или вообще Flex - сказать трудно. Остается полагаться на то, что смена модуля не столь частая операция (я использую flex-модули в качестве "страниц" flash-сайта), чтобы съесть всю память во время просмотра сайта. * * * Общее впечатление Mate упрощает разработку, но усложняет логику. Многие вещи лучше визуализируются, работа с событиями выносится в отдельные блоки, повышается наглядность, а связность кода уменьшается. Превосходно решается задача отделения представления от логики - задача любого фреймворка, особенно для flash. Возможность легкого надстраивания приложения - огромный плюс Mate. Если работа с событиями в приложении изначально организована правильно, добавлять новые программные возможности легче простого. Я без труда добавил возможности дип-линкинга SWFAddress, или встроил приложение в Zinc. Однако, есть и обратная сторона. Логически связанные сущности разрываются, когда выносятся в карты событий. Рабочий процесс приложения рассредоточивается по файлам разного формата, в картах событий методы вызываются непривычным способом, имена их указываются как строки, а аргументы - как массивы, что мешает автокомплиту и компилятору помогать и контролировать процесс разработки. Да и на читабельности и понятности кода это сильно сказывается, и не в лучшую сторону. Я вообще молчу об удобстве отладки такого приложения. Всё построено на связывании (binding) и событиях, а всем известно - это злые враги дебагера. При попытке как-то сохранить связность сущностей, я стараюсь группировать классы в обособленные пакеты, общающиеся друг с другом посредством общих событий. Это помогает сохранить логически стройное представление сущностей, но увеличивает количество файлов. Зачастую, файлы при этом просто дублируются, лишь с заменой имен событий и переменных. Особенно это касается бурного размножения классов событий. В итоге, простой проект выглядит красиво, но сложный - громоздко. С другой стороны, простое приложение легче сделать красивым чем сложное, которое в любом случае будет громоздким и потребует больших умственных затрат. Итак, Mate - превосходный инструмент. Не скажу, что он сильно ускоряет разработку. Время, сэкономленное на рутине, легко тратится на вспухание мозга, пытающегося объять логику, заключенную в куче файлов, а так же на ловлю своих же багов (а иногда и багов Mate). Но, должен отметить, что всё зависит от опыта разработчика и правильного проектирования приложения. И главное - как и любой другой фреймворк, Mate дает прочный каркас приложению, быстрый старт разработки, помогает больше сосредоточиться на логике приложения, не отвлекаясь на рутину. |
Grails-плагин Magic Numbers Вы все еще нежитесь на новогодних каникулах? А вот Бьёрн Вильмсман (Bj |
Книги по Flex 3 на русском Хочу составить список хороших книг по флексу на русском. Начну с этих: А у вас есть любимые книги по флексу? Пишите - соберем в этом посте коллекцию книжек! |
Книги по Flex 3 на русском - update 1 Хочу составить список хороших книг по флексу на русском. Начну с этих:
А у вас есть любимые книги по флексу? Пишите - соберем в этом посте коллекцию книжек! |
2010-01-01 |
Flex-баба пришла 1 января 2010: С Новым Кодом! День первого января 2010 года получился ярким и солнечным. К нам пришла баба Флексиха и разрешила с собой сфотографироваться: Мы взяли у флексной бабы короткое интервью, в котором выяснилось, что она пришла, чтобы вдохновить, испытать и защитить нас. В 2012 году - сказала баба Флексиса Мультиплееровна - вас ждет много нового, необычного и интересного кода. Будет и графика с сюрпризами. А уж анимация - станет такой подвижной, что в руках будет не удержать! Готовьтесь к самому, и да не облажается ваша методология! Да устоит ваша архитектура. Приведут вас к феерическому результату ваши гайдлайны. А потом мы еще немного покатались на горке: Мы с Флексихой надеемся, что ваш первый день нового года был клевым. С Наступившим! |
Flex-баба пришла 1 января 2010: С Новым Кодом! День первого января 2010 года получился ярким и солнечным. К нам пришла баба Флексиха и разрешила с собой сфотографироваться: Мы взяли у флексной бабы короткое интервью, в котором выяснилось, что она пришла, чтобы вдохновить, испытать и защитить нас. В 2012 году - сказала баба Флексиса Мультиплееровна - вас ждет много нового, необычного и интересного кода. Будет и графика с сюрпризами. А уж анимация - станет такой подвижной, что в руках будет не удержать! Готовьтесь к самому, и да не облажается ваша методология! Да устоит ваша архитектура. Приведут вас к феерическому результату ваши гайдлайны. А потом мы еще немного покатались на горке: Мы с Флексихой надеемся, что ваш первый день нового года был клевым. С Наступившим! |
2009-12-31 |
С Новым Годом! Всех с наступающим Новым Годом! Старый год был продуктивым! Пусть новый 2010 год будет еще лучше! Все здоровья, любви, удачи и отличного кода! |
2012 Один мужик потерял копейку и ходит, ищет ее, не находит. Ищет час. Ищет день и даже не пошел на работу, но не нашел. Ищет уже неделю, забывает есть и пить. Жена спрашивает - ты чего, это же всего копейка лишь? Да я знаю - отвечает он - но интересно же, куда она так закатилась! В 2009 году, спасибо судьбе, я перестал искать ту самую копейку. Я надеюсь, что так. И вам того желаю - увидеть главное и не беспокоиться слишком много о мелочах. Больше делать, меньше спорить. Глубже любить и мельче ревновать. Чаще строить и реже переделывать. Вовремя компилировать и двигаться дальше. 2009 год стал для меня годом семьи. Я ушел из офиса и стал много ездить, сочетая это с работой из дома. А мой дом теперь везде, и это везде теперь вездее, чем до этого. Это самое вездатое, что у меня было за всю взрослую жизнь. В этом году я узнал, что у меня есть вторая семья - это вы. Я прошел через многие испытания, реализовал задумки, учавствовал в столь интересных событиях - благодаря вашей помощи и поддержке. Надеюсь, я тоже кому-то помог. Кто-то писал в блог Потрошителя, пока меня не было. Кто-то помог устроить встречу флэшеров в своем городе. Кто-то подготовил доклад, а кто-то помог с онлайн-трансляцией. А другие ходили сюда, писали, спорили - и в этом, я верю, рождалась не одна истина. Ф. Потрошитель обрел новых авторов, и я теперь не один, кто пишет здесь. Нужно разрешить еще несколько важных технических и организационных моментов: например, нужны модераторы, которые смогли бы одобрять новые посты в мое отсутствие. Мне нравится, что я теперь не автор-одиночка. Я рад своим соседям и темам, что они поднимают, я бы сам не поднял. А вместе легче. Пишите еще! В уходящем 2009 я в полной мере ощутил полезный эффект наших встреч, проходящих в разных городах. Сейчас у меня везде есть друзья. В четвертом квартале 2009 года я сорвался с места - сначала во Львов, а потом стал колесить по Украине и я еще не знаю, где остановлюсь. Да я и не собираюсь пока - в 2010 буду много путешествовать. Буду посещать разные места России и не только. В этом году я понял, как важно чаще встречаться. Технологии, ставшие поводом к нашему общению, важны, сложны и увлекательны - но еще интереснее вы - те люди, которые стоят за всем этим. Я хочу, чтобы больше наших встреч. В 2009 у меня появился ноутбук и скоро будет годный, мобильный нет. Я понял, что нужно было обзавестить ноутом намного раньше, он изменил мои условия работы - теперь я могу плодить символы из любого места. В 2010 выйдет релиз Flex 4 и от этого платформа флэша расцветет так, как мы не могли себе представить. Позвольте поздравить вас с наступающим 2012 годом! Это не опечатка. На два гjда вперед увезет флэш плтаформа тех, кто имеет к ней отношение. И чем большее отношение, тем больше в будущее. И это все несмотря на то, что на флэше программировать невозможно, а про флекс я уж и не говорю. Несмотря на то, что мы топчемся на такой ужасной, глючной, бажной платформе, лушчей платформы нет. И нет платформы веселее 2009 год дал нам культовую секту чернофлэшеров, и я уверен, что тенденция продолжится. Довольно сидеть на месте - нас ждет неизвестное, ждет нас тут и там. И поскольку тут вы всегда оказаться успеете, каждый уже в своем тут, есть смысл поэкспериментировать с "там". И это "там" не означает только географическое положение. "Там" - это что-то настолько другое, что вы и представить себе не могли, что с вами такое может быть. А вы его пустите к себе, будет интересно. Ведь наступает год Чорной Тигрицы, а это необычное животное. Будьте необычны ми вы. Смелы, щедры вы, остроумные. Вы все молодцы и хорошо поработали в этом году, несмотря на то, что вы реальные бездельники. Я говорю "спасибо" за ваше наличие! Желаю в 2010 году вам здоровья, любви и денег - в таком порядке. В 201о году будет изобретена беспроводная технология двух проводков, с помощью которой мы сможем писать друг другу и компилятору, почти не касаясь клавиатуры! Флэш-плейер будет читать наши мысли и сразу же компилировать их в оптимизированный четрыехмерный многопользовательский гипертекстовый модульный монетизатор. Затем очень быстро выйдет и сильверлайт-версия, а может наоборот, и обязательно будет реализация на Javascript. Название этой технологии еще не названо, но это будете вы, кто сделает ее. В сети всем будет хорошо, а кому будет плохо, то тут Чорна Тигрица видит два варианта: это или не в сети, или в сети, но не по настоящему. Значит, тот что плохо кому пусть учится на программиста или кого угодно связанного с интернетом и начинает делать дела так, как всегда хотел, так, чтобы другим показывать хотелось. С наступающим 2010/2012 годом! |
2012 Один мужик потерял копейку и ходит, ищет ее, не находит. Ищет час. Ищет день и даже не пошел на работу, но не нашел. Ищет уже неделю, забывает есть и пить. Жена спрашивает - ты чего, это же всего копейка лишь? Да я знаю - отвечает он - но интересно же, куда она так закатилась! В 2009 году, спасибо судьбе, я перестал искать ту самую копейку. Я надеюсь, что так. И вам того желаю - увидеть главное и не беспокоиться слишком много о мелочах. Больше делать, меньше спорить. Глубже любить и мельче ревновать. Чаще строить и реже переделывать. Вовремя компилировать и двигаться дальше. 2009 год стал для меня годом семьи. Я ушел из офиса и стал много ездить, сочетая это с работой из дома. А мой дом теперь везде, и это везде теперь вездее, чем до этого. Это самое вездатое, что у меня было за всю взрослую жизнь. В этом году я узнал, что у меня есть вторая семья - это вы. Я прошел через многие испытания, реализовал задумки, учавствовал в столь интересных событиях - благодаря вашей помощи и поддержке. Надеюсь, я тоже кому-то помог. Кто-то писал в блог Потрошителя, пока меня не было. Кто-то помог устроить встречу флэшеров в своем городе. Кто-то подготовил доклад, а кто-то помог с онлайн-трансляцией. А другие ходили сюда, писали, спорили - и в этом, я верю, рождалась не одна истина. Ф. Потрошитель обрел новых авторов, и я теперь не один, кто пишет здесь. Нужно разрешить еще несколько важных технических и организационных моментов: например, нужны модераторы, которые смогли бы одобрять новые посты в мое отсутствие. Мне нравится, что я теперь не автор-одиночка. Я рад своим соседям и темам, что они поднимают, я бы сам не поднял. А вместе легче. Пишите еще! В уходящем 2009 я в полной мере ощутил полезный эффект наших встреч, проходящих в разных городах. Сейчас у меня везде есть друзья. В четвертом квартале 2009 года я сорвался с места - сначала во Львов, а потом стал колесить по Украине и я еще не знаю, где остановлюсь. Да я и не собираюсь пока - в 2010 буду много путешествовать. Буду посещать разные места России и не только. В этом году я понял, как важно чаще встречаться. Технологии, ставшие поводом к нашему общению, важны, сложны и увлекательны - но еще интереснее вы - те люди, которые стоят за всем этим. Я хочу, чтобы больше наших встреч. В 2009 у меня появился ноутбук и скоро будет годный, мобильный нет. Я понял, что нужно было обзавестить ноутом намного раньше, он изменил мои условия работы - теперь я могу плодить символы из любого места. В 2010 выйдет релиз Flex 4 и от этого платформа флэша расцветет так, как мы не могли себе представить. Позвольте поздравить вас с наступающим 2012 годом! Это не опечатка. На два гjда вперед увезет флэш плтаформа тех, кто имеет к ней отношение. И чем большее отношение, тем больше в будущее. И это все несмотря на то, что на флэше программировать невозможно, а про флекс я уж и не говорю. Несмотря на то, что мы топчемся на такой ужасной, глючной, бажной платформе, лушчей платформы нет. И нет платформы веселее 2009 год дал нам культовую секту чернофлэшеров, и я уверен, что тенденция продолжится. Довольно сидеть на месте - нас ждет неизвестное, ждет нас тут и там. И поскольку тут вы всегда оказаться успеете, каждый уже в своем тут, есть смысл поэкспериментировать с "там". И это "там" не означает только географическое положение. "Там" - это что-то настолько другое, что вы и представить себе не могли, что с вами такое может быть. А вы его пустите к себе, будет интересно. Ведь наступает год Чорной Тигрицы, а это необычное животное. Будьте необычны ми вы. Смелы, щедры вы, остроумные. Вы все молодцы и хорошо поработали в этом году, несмотря на то, что вы реальные бездельники. Я говорю "спасибо" за ваше наличие! Желаю в 2010 году вам здоровья, любви и денег - в таком порядке. В 201о году будет изобретена беспроводная технология двух проводков, с помощью которой мы сможем писать друг другу и компилятору, почти не касаясь клавиатуры! Флэш-плейер будет читать наши мысли и сразу же компилировать их в оптимизированный четрыехмерный многопользовательский гипертекстовый модульный монетизатор. Затем очень быстро выйдет и сильверлайт-версия, а может наоборот, и обязательно будет реализация на Javascript. Название этой технологии еще не названо, но это будете вы, кто сделает ее. В сети всем будет хорошо, а кому будет плохо, то тут Чорна Тигрица видит два варианта: это или не в сети, или в сети, но не по настоящему. Значит, тот что плохо кому пусть учится на программиста или кого угодно связанного с интернетом и начинает делать дела так, как всегда хотел, так, чтобы другим показывать хотелось. С наступающим 2010/2012 годом! |
2009-12-30 |
AirMiniBuilder Мне по почте Елена сообщает хорошую новость: Еще раз — AirMiniBuilder. Рост, этот парень (Виктор Драмба) реально крут! В то время, как два кроссплатформенных конкурента FlashDevelop (axdt и FlexBean) застряли на разных стадиях сырости, красавец MiniBuilder набирает обороты. Что он уже умеет?
Это пока — всего лишь третья альфа. Моя незначительная личность пытается приспособить сейчас всякие милые мелочи, типа автоматическую запись папки с проектом в Flash Player Trust или командных файлов для создания и тестирования air аппликух — больше я тут все равно ни на что не гожусь. Короче, я полагаю, что MiniBuilder — не "интересный изврат", а неожиданно и быстро выросший AS3-редактор, обещающий стать кроссплатформенным, с уровнем комфорта, сравнимым с моим любимым (и, к сожалению, не портируемым на другие операционные системы) FD. Вот так. |
AirMiniBuilder Мне по почте Елена сообщает хорошую новость: Еще раз — AirMiniBuilder. Рост, этот парень (Виктор Драмба) реально крут! В то время, как два кроссплатформенных конкурента FlashDevelop (axdt и FlexBean) застряли на разных стадиях сырости, красавец MiniBuilder набирает обороты. Что он уже умеет?
Это пока — всего лишь третья альфа. Моя незначительная личность пытается приспособить сейчас всякие милые мелочи, типа автоматическую запись папки с проектом в Flash Player Trust или командных файлов для создания и тестирования air аппликух — больше я тут все равно ни на что не гожусь. Короче, я полагаю, что MiniBuilder — не "интересный изврат", а неожиданно и быстро выросший AS3-редактор, обещающий стать кроссплатформенным, с уровнем комфорта, сравнимым с моим любимым (и, к сожалению, не портируемым на другие операционные системы) FD. Вот так. |
2009-12-27 |
Небольшой стране требуются граждане со знанием ActionScript Утверждая права и свободы программистов, соединенные Дембицким и Потапенко на земле Черногории, сохраняя исторически сложившееся комьюнити, исходя из превосходства программистов над человечеством, веры в ActionScript 1234 и создавая суверенную государственность флешеров и обеспечивая благополучие && процветание, исходя из ответственности за своё семейство перед женой и тёщей, а также из отказа от любой другой отвественности, кроме отвественности перед ним, сознавая себя частью мирового Flash-комьюнити, Флэш разработчики принимают КОНСТИТУЦИЮ ФЛЭШОВОЙ СТРАНЫ и приглашают вас |
Небольшой стране требуются граждане со знанием ActionScript Утверждая права и свободы программистов, соединенные Дембицким и Потапенко на земле Черногории, сохраняя исторически сложившееся комьюнити, исходя из превосходства программистов над человечеством, веры в ActionScript 1234 и создавая суверенную государственность флешеров и обеспечивая благополучие && процветание, исходя из ответственности за своё семейство перед женой и тёщей, а также из отказа от любой другой отвественности, кроме отвественности перед ним, сознавая себя частью мирового Flash-комьюнити, Флэш разработчики принимают КОНСТИТУЦИЮ ФЛЭШОВОЙ СТРАНЫ и приглашают вас |
Типы HTTP-запросов Вдруг кто-нибудь из вас подзабыл или до сих пор не знал различия между типами запросов |
2009-12-26 |
Партнерство с Pho.to: пользовательские фотоколлажи на вашем сайте
Начиная с этого момента сайты на Fuzzle CMS можно сделать не только красивыми, удобными, содержательными, но еще и... развлекательными! Ведь нам всегда приятно испытывать чувство радости. Теперь мы совместно с проектом Pho.to предлагаем вам открыть на Fuzzle-сайте лабораторию по производству забавных фотоколлажей. Или, как говорится, вставить фото в рамку, что умеет делать далеко не каждый при помощи известной программы Photoshop. Чем рассказывать о достоинствах такого севиса на сайте, лучше посмотрите как это работает. Кликаешь, загружаешь свою фотографию и — бац! — теперь твоя фотография внутри горящей рамки. Посмотрите еще 5 возможных эффектов для создания фотоколлажей. И еще 200 фотоэффектов, любые из которых вы сможете разместить на своем сайте =)) В наличии эффекты на тему Нового Года, Любви, Природы, со Знаменитостями и куча других категорий. При этом фото может быть просто вписано в рамку, а можно вписать сразу несколько фото в один коллаж. К вписываемым фото в части шаблонов применяется реалистичое 3D преобразование, а благодаря интеллектуальному алгоритму распознавания лиц, лицо с портретной фотографии можно легко вставить в специальные «лицевые» коллажи. Но и это еще не все. Для рекламных агентств и других заинтересованных лиц мы открыли специальную программу, в рамках которой:
Цена программы начинается с 7000 рублей. Заинтересовались? Свяжитесь с нами прямо сейчас! |
2009-12-23 |
Пресловутая слава или Благополучие? Дилемма разработчика игр В 2007-ом году я поднимал тему об отсутствии духа независимой разработки и "русской гордости" в разработке игр. С тех пор много игр из России получили высшую степень признания на фестивале независимых игр. Не трешем единым... Российское инди-флеш поприще тоже не осталось без внимания. На SocialPlay.ru, крутейшем блоге о новостях индустрии социальных игр (и, замечу, не имеющем РАВНЫХ в мире), происходит редкая по своему объёму, сплетням и подробностям беседа об успехе разработчика. Король инди-флэшеров Вадим Старыгин подвергается своеобразным гонениям со стороны представителей большой индустрии за своё инди мировозрение. Очень хочется попросить вас высказаться о дилемме независимого разработчика. Является ли абсолютный успех совокупностью критериев качества продукта, его коммерческой успешности и сомнительного коеффициента "ROI" (возврат инвестиций), или же говноигры и чуток бабла - уже epic win? |
Пресловутая слава или Благополучие? Дилемма разработчика игр В 2007-ом году я поднимал тему об отсутствии духа независимой разработки и "русской гордости" в разработке игр. С тех пор много игр из России получили высшую степень признания на фестивале независимых игр. Не трешем единым... Российское инди-флеш поприще тоже не осталось без внимания. На SocialPlay.ru, крутейшем блоге о новостях индустрии социальных игр (и, замечу, не имеющем РАВНЫХ в мире), происходит редкая по своему объёму, сплетням и подробностям беседа об успехе разработчика. Король инди-флэшеров Вадим Старыгин подвергается своеобразным гонениям со стороны представителей большой индустрии за своё инди мировозрение. Очень хочется попросить вас высказаться о дилемме независимого разработчика. Является ли абсолютный успех совокупностью критериев качества продукта, его коммерческой успешности и сомнительного коеффициента "ROI" (возврат инвестиций), или же говноигры и чуток бабла - уже epic win? |
2009-12-18 |
Prezi.com - другой движок для создания и просмотра презентаций Для создания презентации на встречу флексеров во Львове Ростислав Сирык использовал движок от Prezi.com. Нужно отметить этот инструмент: на наш взгляд, его разработчики сумели сказать действительно новое слово в создании и просмотре презентаций. В чем же новизна Прези? В отличие от многих доступных сегодня аналогичных ресурсов для создания презентаций онлайн, разработчики Прези.ком не стали создавать очередной клон Powerpoint'а, а пошли в своем, ортогональном направлении. Вся Prezi-нтация представляет из себя один большой виртуальный стол, на котором тут и там расположены презентуемые объекты: тексты, картинки, видео, флэшки - что еще нужно? Затем создатель презентации может прочертить траекторию движения камеры через презентацию - и готово. В результате получаем динамичный, хорошо анимированный сюжет, от которого не так просто уснуть, как от традиционных слайдов: Что я хочу сказать. Флексеры! Флэшеры! У вас в руках огромной силы инструмент, с помощью которого вы можете "а ну кто лучше" клонировать существующие технологии и разработки, а можете - включить воображение и сделать нечто действительно новое, стать действительно уникальными и креативными. Идите по пути своего сердца, и классных выходных вам! |
Prezi.com - другой движок для создания и просмотра презентаций Для создания презентации на встречу флексеров во Львове Ростислав Сирык использовал движок от Prezi.com. Нужно отметить этот инструмент: на наш взгляд, его разработчики сумели сказать действительно новое слово в создании и просмотре презентаций. В чем же новизна Прези? В отличие от многих доступных сегодня аналогичных ресурсов для создания презентаций онлайн, разработчики Прези.ком не стали создавать очередной клон Powerpoint'а, а пошли в своем, ортогональном направлении. Вся Prezi-нтация представляет из себя один большой виртуальный стол, на котором тут и там расположены презентуемые объекты: тексты, картинки, видео, флэшки - что еще нужно? Затем создатель презентации может прочертить траекторию движения камеры через презентацию - и готово. В результате получаем динамичный, хорошо анимированный сюжет, от которого не так просто уснуть, как от традиционных слайдов: Что я хочу сказать. Флексеры! Флэшеры! У вас в руках огромной силы инструмент, с помощью которого вы можете "а ну кто лучше" клонировать существующие технологии и разработки, а можете - включить воображение и сделать нечто действительно новое, стать действительно уникальными и креативными. Идите по пути своего сердца, и классных выходных вам! |
100% Pro Flex: доклады со встречи UAFPUG-13 во Львове 24 октября 2009 года во Львове мы реализовали давно созревавшую идею конференции опытных флексеров с докладами по практикам разработки больших флекс-приложений на реальных проектах, наладить общение людей, которые уже знают флекс, имеют свои наработки в этой технологии и хотят знать, как другие делают это.
На этой встрече были представлены четыре доклада, пойдем по порядку. 1. Лучшие практики разработки Flex 3Первым выступил ведущий разработчик флекс-проекта Андрей Табачин из львовского EPAM Systems. Его трехчасовый, сложный и глубокий доклад стал концентрированным набор лучших практик, выработанных командой под его руководством на протяжении двух лет создания сложного проекта. Стоит отметить, что в самом начале работы команда не имела большого опыта с Flex, но имела хороший опыт в других технологиях от Delphi до .NET, таким образом они прошли путь от самых азов флекса до состояния завершенного большого проекта, с включением практик XP и Agile. Наработки изложены Андреем в PDF-документе Flex3bestpractices.pdf, который можно скачать со страницы Flex3 development best practices на свежеоткрытом блоге Андрея Табачина. 2. Создание компонентов на базе архитектуры Spark (Flex 4)Второй доклад был представлен Андреем Проциком из львовского EPAM Systems. Помимо самой презентации, к докладу прилагаются исходные файлы проекта, демонстрирующего разработку UI-элемента для Flex 4 качайте файл custom-flex-4-spark-components.zip. Если вы еще не знаете, Flex 4 реализует более эффективное разделения логики и вида - это новое скинование. Теперь совместный труд дизайнера с кодером и его результат стройнее. Каждый UI-компонент приложения по умолчанию реализуется в SDK двумя файлами: классом бизнес-логики (это "модель" из MVC) и классом скина с описанием вида и поведения компонента, включая состояния, эффекты и т.д. (это - "вид" из MVC). В результате мы имеем во Flex 4 еще одну разновидность Code Behind, на мой взгляд - вполне стройную, и теперь она поддерживается средствами разработки, чего не было во Флекс 3, об этом мы еще поговорим позднее. А сейчас достаточно сказать, что за этим подходом - ближайшее и интересное будущее флекса, так что стоит хорошо вникнуть в исследование Андрея Процика - Создание компонентов на базе архитектуры Spark (Flex 4) - custom-flex-4-spark-components.zip 3. Управление рискамиТретьим докладом стал экспромт от Олега Керницкого, он рассказал об управлении рисками для разработчиков. А поскольку к экспромту презентация не прилагается, то мы здесь просто скажем Олегу наше спасибо - было классно. 4. Чему я научился от команды Flex-разработчиковЧетвертая презентация от Ростислава Сирыка была попыткой в сжатой, динамичной форме рассказать о том лучшем, что он узнал за два месяца работы в команде толковых флексеров львовского EPAM Systems. У нее есть постоянный адрес: Чему я научился от команды Flex-разработчиков. Мы хотим еще раз поблагодарить всех, кто помог состояться этой встрече флексеров - нам удалось заставить заговорить тех, кто много умеет, но мало об этом говорит |
100% Pro Flex: доклады со встречи UAFPUG-13 во Львове 24 октября 2009 года во Львове мы реализовали давно созревавшую идею конференции опытных флексеров с докладами по практикам разработки больших флекс-приложений на реальных проектах, наладить общение людей, которые уже знают флекс, имеют свои наработки в этой технологии и хотят знать, как другие делают это.
На этой встрече были представлены четыре доклада, пойдем по порядку. 1. Лучшие практики разработки Flex 3Первым выступил ведущий разработчик флекс-проекта Андрей Табачин из львовского EPAM Systems. Его трехчасовый, сложный и глубокий доклад стал концентрированным набор лучших практик, выработанных командой под его руководством на протяжении двух лет создания сложного проекта. Стоит отметить, что в самом начале работы команда не имела большого опыта с Flex, но имела хороший опыт в других технологиях от Delphi до .NET, таким образом они прошли путь от самых азов флекса до состояния завершенного большого проекта, с включением практик XP и Agile. Наработки изложены Андреем в PDF-документе Flex3bestpractices.pdf, который можно скачать со страницы Flex3 development best practices на свежеоткрытом блоге Андрея Табачина. 2. Создание компонентов на базе архитектуры Spark (Flex 4)Второй доклад был представлен Андреем Проциком из львовского EPAM Systems. Помимо самой презентации, к докладу прилагаются исходные файлы проекта, демонстрирующего разработку UI-элемента для Flex 4 качайте файл custom-flex-4-spark-components.zip. Если вы еще не знаете, Flex 4 реализует более эффективное разделения логики и вида - это новое скинование. Теперь совместный труд дизайнера с кодером и его результат стройнее. Каждый UI-компонент приложения по умолчанию реализуется в SDK двумя файлами: классом бизнес-логики (это "модель" из MVC) и классом скина с описанием вида и поведения компонента, включая состояния, эффекты и т.д. (это - "вид" из MVC). В результате мы имеем во Flex 4 еще одну разновидность Code Behind, на мой взгляд - вполне стройную, и теперь она поддерживается средствами разработки, чего не было во Флекс 3, об этом мы еще поговорим позднее. А сейчас достаточно сказать, что за этим подходом - ближайшее и интересное будущее флекса, так что стоит хорошо вникнуть в исследование Андрея Процика - Создание компонентов на базе архитектуры Spark (Flex 4) - custom-flex-4-spark-components.zip 3. Управление рискамиТретьим докладом стал экспромт от Олега Керницкого, он рассказал об управлении рисками для разработчиков. А поскольку к экспромту презентация не прилагается, то мы здесь просто скажем Олегу наше спасибо - было классно. 4. Чему я научился от команды Flex-разработчиковЧетвертая презентация от Ростислава Сирыка была попыткой в сжатой, динамичной форме рассказать о том лучшем, что он узнал за два месяца работы в команде толковых флексеров львовского EPAM Systems. У нее есть постоянный адрес: Чему я научился от команды Flex-разработчиков. Мы хотим еще раз поблагодарить всех, кто помог состояться этой встрече флексеров - нам удалось заставить заговорить тех, кто много умеет, но мало об этом говорит |
Juick Теперь я тоже на жуйке |
2009-12-17 |
В Калининграде нужен разработчик игр на Actionscript 2.0 или 3.0 Компании "Wheemplay" требуются программисты actionscript для разработки флэш-игр. Работа в офисе, г. Калининград. Требования 1: Либо Требования 2: Приветствуется: Условия: Присылайте свои резюме: |
В Калининграде нужен разработчик игр на Actionscript 2.0 или 3.0 Компании "Wheemplay" требуются программисты actionscript для разработки флэш-игр. Работа в офисе, г. Калининград. Требования 1: Либо Требования 2: Приветствуется: Условия: Присылайте свои резюме: |
Хорошая подборка AS3-библиотек Пишет Максим Фирсов: С уважением, Firsoff. |