Рубрика: Полезные программы и утилиты
L'enfer du Nord: Paris - Roubaix Tour de Flex Tour de Flex
Кстати, на Flex.org появилось замечательное AIR-приложение, которое позволяет довольно просто и интересно изучать Flex. Оно содержит постоянно пополняемые примеры кода, организованного по разным темам и группам, которые довольно легко. наглядно и интересно изучать. Называется приложение Tour de Flex. Рекомендую к установке.
Также приложение может оказаться полезным, например, чтобы быстро показать вашему менеджеру проекта сколько всего крутого и интересного есть во Flex (с технической точки зрения) и склонить его к использованию этой технологии. Упражнение на дом: проделайте то же самое с заказчиком.
Как вы поняли, приложение может оказаться незаменимым, а в дополнение к нему имеется еще и Eclipse-плагин. который держит список примеров под рукой и позволяет быстро запускать приложение с нужным примером. Информация по плагину также на страничке приложения.
Пора работать дальше ![]()
Aptana Studio 1.0
Я уже как-то писал о том, что для создания HTML-ных AIR-приложений есть специальный плагин для Aptana IDE, Так вот. Теперь все изменилось.
Во-первых, Aptana IDE теперь не Aptana IDE. Она достигла совего первого релиза (версия 1.0) и стала называться Aptana Studio.
Во-вторых, теперь Aptana Studio не бесплатна. Не пугайтесь. Смысл в том, что теперь есть две версии Aptana Studio: Community Edition (бесплатная) и Professional Edition ($99). Теперь главное понять, можно ли разрабатывать AIR-приложения на Community Edition. А понять это можно тут. Как мы видим, тут все в порядке. AIR-разработка доступна в бесплатном варианте.
В-третьих, поддержка Eclipse Monkey (про который я уже писал) в Aptana Studio расширилась. Теперь скрипты для исполнения в IDE можно писать не только на JavaScript, но и на Ruby. Называется EclipseMonkey Ruby Extension. Это, кстати, интересно, так как при недостатках обоих языков Ruby немного мощнее. Теперь бы и в оригинальный плагин добавили эту поддержку. Больше информации тут.
Дальше предлагаю ссылку на сам анонс.
Запись видео с экрана
Довольно поздно пришел к осознанию того, что иной раз проще что-то показать, чем долго и упорно об этом рассказывать. Проще продемонстрировать как работать с какой-нибудь программой, чем долго все это описывать и делать кучу скриншотов. Поэтому мы положим правильное: молочное видо я иногда буду выкладывать видеотуторы. Если никто не возражает конечно.
Возможно, для кого-то окажется небесполезной информация о том, как делаю видео я. Возможно, кто-то поделится своими советами в комментариях. Во всяком случае моей целью было собрать полностью бесплатный (и, возможно, опенсорсный) инструментаоий для этого, что мне, собственно говоря, удалось.
Опишу его:
Собственно говоря запись. Для этого я использую бесплатную опенсорсную программку CamStudio, которая вполне неплохо справляется со своей работой. Она довольно простая, записывает ваши творения в avi с использованием кодеков, установленных в системе. Имеется ряд настроек видео, аудио, области захвата. Записывает голос с микрофона. Если записывать компилирующий Flex Builder, то начинает тормозить и видео со звуком рассинхронизируются. В программе имеется свой плеер и конвертор в swf. То есть она в принципе подходит для создания видео, готового к выкладыванию в сеть. Единственное, там очень много сложных специфических настроек при этом конвертировании. И если, скажем, я записываю 150-метровый avi, мне никак не удается адекватно его пожать. Не сильно большой я специалист в видео. Поэтому я использую инструменты, представленные дальше. Кстати, я вполне нормально использую представленную на сайте продукта бету версии 2.5. Ну а напоследок дам ссылку на блог продукта.
Конвертация avi в flv. Ну, собственно говоря, основной бесплатный способ заключается в использовании ffmpeg и следом flvtool2 (для вставки метаданных, необходимых для управления воспроизведением). Способ описан, например, тут. При всем моем уважении к командной строке, пользоваться ею каждый раз не очень-то удобно. Поэтому можно воспользоваться GUI над этими двумя утилитами (который, кстати, сделан на Flash с использованием v2 компонент и, очевидно, MDM Zinc) в виде Riva FLV Encoder. Достаточно много простых и удобных настроек. Абсолютно бесплатно, достаточно шустро. Мое четырехминутное видео в виде avi, весившее 150 метров, смогло дожать до семи с половиной метров. И оно вполне смотрибельно (сможете оценить сами).
- Теперь нужно сделать оболочку-проигрыватель для нашего flv. Насколько я понимаю, таких достаточно много. Но мне очень понравился FlowPlayer. Бесплатный, опенсорсный. Но интереснее всего используемый при его создании набор средств, все из которых тоже опенсорсные. Возможно, это и повлияло на мое решение. Итак, создан это плеер с помощью mtasc, swfmill, as2ant, as2lib, asunit, LuminicBox Log, Apache Ant, swfobject. Как много со всем этим связано! На странице проекта есть вся информация как пользоваться плеерами (по сути просто подправить код HTML).
Ну а чтобы вас добить, я выкладываю короткое четырехминутное видео, которое было произведено по этой технологии, и которое было ужато со 150 метров до семи с половиной (там просто обозревается довольно большая область экрана, так что не забудьте про прокрутку). Это видео демонстрирует процесс создания видео с вашего экрана: просто, бесплатно и доступно.
Спасибо за внимание ![]()
Генерация геттеров/сеттеров
Многие недовольны Flex Builder’ом. Не буду перечислять всего того, что мы хотели бы видеть в идеальной IDE. Упомяну один лишь аспект. Маленький, но неприятный. Во Flex Builder’е нет темплейтов. Это часто очень напрягает. А сильнее всего напрягает, когда приходится писать довольно одинаковый и однообразный код для get/set методов.
К своему счастью на днях я натолнулся на замечательный пост, в котором рассказывается, как с помощью плагина Eclipse Monkey это все можно реализовать.Мало того, там приводится простой скрипт для генерации простого варианта get/set методов.
Ну мне такой вариант не сильно подходил, ибо чаще всего я использую get/set методы с биндингом. А есть еще более навороченные варианты с теми же коллекциями, которые, тем не менее, встречаются часто.
В итоге я написал на основе приведенного в посте парочку своих скриптов, которые вместе с модифицированным оригиналом можно скачать.
Ниже приводится ссылочка на видео, в котором я демонстрирую как всем этим добром пользоваться. Там не описан процесс установки плагина, который (с картинками) можно найти тут. У плагина также есть документация (в системе помощи Eclipse). Дополнительную информацию можно найти на сайте Aptana, в плагинах которой Monkey активно используется.
Ну а видео смотрим тут (9.5 метров).
Update: Оказалось, что некоторым людям [skipped skipped skipped] мало сообщения о том, что в видео дается практически вся информация по использованию. Для них пишу отдельно: если у вас возникли какие-то проблемы, и вы жалуетесь на них не просмотрев видео, не расчитывайте на серьезное к себе отношение. Понятно, что если у вас нет физической возможности смотреть - помогу. Я планирую в будущем выкладывать больше видеотуториалов, которые, имхо, обладают большей информативной емкостью. Спасибо.
Думаю, вы будете это есть...
…и оно вам понравится. Это я все еще под впечатлением замечательного коммента ![]()
Смысл в том, что сервис Yourminis.com, который поставляет разного рода виджеты (для блогов и сайтов), решил использовать Apollo в качестве платформы для десктопных виджетов. Вы знаете как я отношусь ко всем этим новым громким сервисам и модным словам (типа слова “виджет“). Но в качестве примера Apollo-приложения я себе это скачал и установил. Поймите меня правильно. Я старый больной человек (Кстати, вот уже полгода как или больше стал часто простужаться. Сегодня, вот, опять весь кашляю. Может, я действительно старый? Что делать-то?), меня ничем уже не проймешь. Но тут я был поражен. Даже альфа смогла сотворить вполне функциональные, приятно выглядящие, кастомизируемые, расширяемые штуки:

Понятно, что лично мне это только для баловства и оценки возможностей технологии. Но возможности, я вижу, вполне неплохие. Попробуйте сами.
Кстати, фан еще в том, что там куча дополнительных виджетов, которые весьма легко и просто устанавливаются и добавляются в Widget Manager. Есть погода, тестовый редактор, видео (там просто какой-то хот в топах), биржевой виджет, часы, RSS и многое, многое другое. А остальным могу рекомендовать current music.
Оформление кода: правила хорошего тона
Все разработчики знают как приятно работать с хорошо и единообразно оформленным кодом. Где соблюдены все отступы, где все видно с первого взгляда. Иногда так приятно работать с таким кодом, что ради одного этого удовольствия ты делаешь все быстрее и качественней. И сам все делаешь красиво и понятно. Чтобы другие могли читать код.
В разных компаниях, разные люди придерживаются разных соглашений для отступов. Кто-то использует табуляцию (например, я), а у кого-то есть аргументы в пользу использования пробелов. Но если имеешь дело с чужим кодом, то можешь встретить что-то неожиданное. Например, в одном файле или месте используется два пробела как соответствие одному табу, а в другом - четыре. В третьем - все на табах. Но очень трудно понять сразу где что. И начинаешь работать с кодом, и уже сам не понимаешь, в чем там у тебя отступы: в табах или пробелах? Строчки становятся неровными, отступы прыгают, настроение незаметно портится.
В качестве волшебной пилюли для тех, кто работает с Eclipse, могу предложить отличный плагин AnyEdit tools plugin for Eclipse Андрея Лоскутова. Что он может делать? Многое! Но сначала установим его.
На странице продукта (бесплатного, если что) есть инструкция по установке. Но, если вкратце, то можно установить через Help>Software Updates>Find and Install… Там используете url http://andrei.gmxhome.de/eclipse/, а в списке доступных плагинов выбираете нужный вам (у Андрея есть и другие полезные плагины). Перегружаете Eclipse (в Eclipse >= 3.2.2 это не требуется) и можете наблюдать появившуюся в панели кнопок кнопку:
Если нажать на нее (это кнопка-триггер), то ваш редактируемый файл преобразится:

Зелененьким выделены пробелы, бирюзовым (возможно, я дальтоник) - табы. Как мы видим, в нашем файле пробелов больше, чем табов. Можно исправить положение и сделать все на табах. Контекстное меню:

Очень много полезных возможностей! Выбираем Spaces to tabs:

А можем следом выбрать Tabs to spaces:

Вот так все здорово. Но не забудьте покопаться в настройках (Window>Preferences…>General>Editors>AnyEdit Tools). По умолчанию при каждом сохранении файла совершаются операции удаления лидирующих пробелов/табов на пустых строчках. Вы можете настроить все, как вам удобно. Также можно установить, что мы понимаем под табом. В пробелах (а в попугаях он гораздо длиннее!).
Плагин одинаково хорошо работает в большинстве редакторов Eclipse’а. При использовании Flex Builder он превосходен в AS-редакторе. Но в редакторе MXML он не работает
В редакторе MXML, кстати, не работает довольно много плагинов. Жалко.
И еще. Многие жалуются, что в Eclipse отсутствует перенос по словам. Согласен, не очень удобно. Но не надо забывать, что этот перенос отсутствует и во многих других редакторах. Что из этого следует? Есть определенное правило: программист при написании кода сам регулирует длину строк чтобы они не уходили за экран. Просто переносом строк. Но как быть с экраном: его ширина у всех разная? Все просто. Идем Window>Preferences…>General>Editors>Text Editors. И включаем там опцию Show print margin. По умолчанию стоит значение ширины 80. Можете смело его оставлять: это стандартная ширина. Теперь во всех текстовых редакторах у вас появится вертикальная серенькая линия. За которую нельзя заступать. Неэтично. И пусть у вас на экране всегда будет эта серенькая линия. Многие вам скажут за это спасибо.
Удачи!
Вышла Omea 2.2
Не знаю как вы читаете этот и другие блоги (кстати, как?), а я использую Omea Pro. Программа вполне удобная и бесплатная. Ну а пишу я потому, что, как вы уже догадались, вышла новая версия. Качаем. Не забудьте сгенерить серийный номер на странице продукта.
Flex Compiler Shell
Вдогонку к предыдущему посту на Adobe Labs вышла еще одна утилита, которая называется Flex Compiler Shell. Те из вас, кто пользуется для компиляции приложений командной строкой в том или ином виде (например, в виде Ant), теперь могут получить прирост в скорости компиляции, который особенно заметен, по словам авторов, на больших проектах. Данная утилитка представляет из себя обертку компилятора комендной строки, заставляя его больше использовать оперативеую память и кэшировать в ней некоторые данные, что экономит время следующей компиляции.
Я пока утилиту не пробовал. Хочется надеяться, что это все правда. Непонятны три вещи:
- Почему данная утилита не встроена во Flex Builder?
- Сколько же она будет жрать памяти если у меня при трех гигах оперативки билдер иногда вываливается из-за недостатка памяти?
- Зачем адобовцы выпустили эту утилиту в один день с антовскими задачами? Ведь утилита эта в некотором смысле аннулирует хадачи.
Посмотрим. А пока ссылка по теме.
Flex Ant Tasks
Adobe Labs порадовали на новым полезным релизом. На этот раз это Flex Ant Tasks. Если вы помните, то под похожим названием (во всяком случае так назывались zip’ы) фигурировали задачи для FlexUnit от Питера Мартина. Задачи от Питера Мартина тоже полезны, но тут нечто гораздо большее!
Нам предлагается три задачи: mxmlc, compc и html-wrapper, которые занимаются, соответственно, компиляцией приложений, компиляцией компонент и созданием html-обертки приложения.
Для установки задачи надо просто скопировать flexTasks.jar в каталог ANT_ROOT/lib. После этого пишем билдфайлы следуя инструкции.
Если вы помните мою статью в Web Developer’s & Designer’s Journal, то там я использовал mxmlc и html-wrapper в собственном варианте (то есть средствами Ant). Сейчас я переделал пример под задачи от Adobe.
Так что качаем и смотрим.
Omea Pro теперь бесплатна
Несмотря на результаты опроса, по которому видно, что большая часть посетителей этого сайта заходят посмотреть новости просто браузером, многие продвинутые люди давно читают RSS. Omea Reader - очень удобное и бесплатное решение для этого. Рекомендую. Хотя нет. Раньше рекомендовал. Но теперь все изменилось.
Теперь команда разработки Omea объявила, что Omea Pro тоже становится бесплатной. К сожалению я не могу привести ссылку на данную информацию: получена по каналам RSS.
Что это нам дает помимо чтения RSS? Ряд полезных вкусностей: Newsgroups, организация контактов (в том числе и из Миранды!), таски и многое другое.
Но что интереснее всего, так это то, что продукт планирует стать опенсорсным. То есть каждый знакомый с C# может сделать интересное и полезное добавление.


