Мысли вслух или трейс ковыряния редактора RASE (Realaxy ActionScript Editor)

Наслышан о RASE редакторе и потому решил посмотреть на него.
Сначала подумал о том чтобы поискать туториалы по нему, а то помню как один парень высказался типа «… у разных редакторов разный порог входа но у вас (rase) это не порог это двух метровый забор с колючей проволкой, с собаками и пулеметом», но тут решил что, а если сам то смогу разобраться или нет?
Вот и полез сам разбираться :)
Скачал, установил (build 9123) и понеслась… Установка прошла без всяких сюрпризов.
Запустил. Ну вроде нормально запустилось, вижу незамысловатое окно. Почему то при старте не выскочило окно Tip of day, хотя когда его открыл спецом то там стояла галочка Show tips on startup.
Попробую создать проект. Указываю «Создать с нуля», задаю имя проекта, указываю прожект фолдер, отказываюсь от создания модуля. Так как RASE построен на Idea идеологии, то тут тоже везде суют создание модуля, я лично это терпеть ненавижу. В основном Flash-проекты не такие как java-enterprise и этой дополнительной сложности они не требуют (в большинстве случаев). Также хочется отдельно сказать о указании Project path. Я хотел бы чтобы у меня был один workspace фолдер и туда ложились проекты, которые я создаю (конечно возможность в случае должна быть но по умолчанию должно быть место где хранятся проекты, чтобы я не думал куда он сохранился, а точно знал где он есть), в конце концов это просто удобно. Хотя тут конечно можно сказать «Да ладно, привык ты к своим Eclipse-like платформам..»

Я тут немного слукавил…

Я слежу за этим проектом с тех времен когда Дембицкий с Потапенком в подкастах показывали отличные зарисовки от Колина Мука :)
Тогда еще разговор шел что то типа создание кода без компиляции, то ли компиляция на лету. Ну да ладно, давно это было уже всего не помню.
Ага, вот нажал кнопку Finish. Мой комп изрядно попотел пока происходило создание проекта, потом индексация… В конце он скушал 355Мб памяти и вот я могу приступить работать дальше. Тут же вылезло окошко Tip of the day. Значит должно было тут вылазить ))
Ну значит проект создан.. Смотрю я туда и вижу что нельзя без модулей ничего сделать. То есть для начала работы надо создать модуль. Правой кнопкой по проекту и в конекстном меню я выбрал, почему то, «Organized Imports«. Как то неожиданно… Хотя нет ожиданно — я решил посмотреть что будет. Ведь никаких исходных файлов нету и я подумал, а для чего тогда присутствует эта опция?
Ну во общем нажал я и все как то повисло на секунд 5. Я думал что уже все, приехали. Ан нет, тут выскочило окно с значком информации, но самой информации небыло. Я нажал ОК и закрыл окно.

Кстати, когда я создал проект я оставил RASE открытым, а сам ушел на 6 часов. Придя обратно заметил что потребляемая память снизилась до 100Мб, хотя как только что то начал делать поднялась до 150. Интересно..

Ну вот создал модуль, потом пакет, и собственно класс. Надо сказать все культурно :) Все понятно и логично.
И вот я начал писать код… Забудьте, что это текстовый редактор!
Я минут 15 потратил на то, чтобы разобраться как написать var textField:TextField = new TextField();
Все передвижение по кнопке таб, вроде должно быть удобно и вот это var textField:TextField я вроде быстро написал, но когда писал тип класса опечатался и написал Textfield. Нажал Cntr+space мне говорит нет саггестов, потом нажал Alt+Enter мне предложило создать этот класс или интерфейс. И только когда набрал имя класса правильно (хотя оно и так правильное только один символ не в том регистре. Хотя хорошо что не заставило полное имя класса с пакетами :) ) и опять нажал Alt+Enter выпали две предыдущие опции и последней добавилась «Import class flash.text.TextField».
Интересно что почему эта опция добавилась самым последним пунктом, если логичнее чтобы это был первый пункт так как в 99% случаев если класс уже существует то скорее всего мы хотим добавить именно его? Ну вроде с этой задачей справился, хотя тоже это выражение new TextField(); уже было написано когда я добавлял импорт и почему то было подсвечено красным. Надо было установить курсор после TextField и нажать Ctrl+space. Что то сделалось и краснуха пропала.

Попытался я этот объект textField добавить в список отображения.. Господи, ничто так не раздражает как когда среда не понимает слова в регистрах отличных от оригинала. addch при Ctrl+space не шарит, а вот addCh это уже другое дело, сразу понимает что мне надо addChild, а в первом случае мне наверное надо было addchukchu… Это такая бомба-фича наверное во всех продуктах JetBrains — пробовал и в Idea и в Astella - та же фича :)
Ну ок. Теперь хочу запустить. Просто никак запустить не получится. Для начала надо класс сделать запускаемым. На классе правой кнопкой и выбираем «Make Class Main». Потому надо создать конфигурацию запуска. Ок, там понятно, создал конфигурацию, вот только одно нифига не понял — как же установить нужный мне браузер. Как сделать, например, чтобы я могу запускать и дебажить в Firefox?? Эту же задачу я не смог сделать в Astella. Может там все очевидно, а я просто туплю жестко? (если откровенничать то я не смог эту же задачу сделать и в FlashDevelop. Потратил кучу времени, экспериментировал, инет рыл и так не получилось. Удивительно но во FlashBuilder это делается настолько просто и очевидно, что я начинаю присматриваться к себе :) )

И вот наконец УРА!!! Я запустил!
Конечно открылось в standalone flash player но и это уже радует.
Надо отметить что многие диалоги, окна со свойствами и т.д. в RASE намного лучше чем например в той же Astella или Idea, что конечно порадовало.

Это никакой не обзор или заключение по редактору, просто трейс работы.
Одно можно точно сказать этот редактор не похож на другие редакторы. Тут абсолютно другая парадигма работы. Очень много если не все автоматизированно. Однозначно этому редактору надо обучатся, но я думаю это того стоит.
Конечно теперь надо почитать статьи, туториалы как и чего надо делать в RASE, чтобы понять эту среду.
Пока как то так…

Поделиться в соц. сетях

Опубликовать в LiveJournal
Опубликовать в Google Plus
  • deep

    Жаль после отличных статей о nape, увидеть у вас такую бестолковую статью о rase и продуктах jetbBrains. Трейс трейсом, но местами явные пробелы в матчасти.

    Что касается смены браузера: в Astella это делается не сложнее других, а может и проще. Начнем с главных настроек http://pix.am/PiAb/ и переходя к настройкам запуска http://pix.am/GCWU/ (зацените какие иконки тут).

    Да и вообще Astella очень круто развивается и тот функционал по сборке и запуску модулей, что есть в ней, нет нигде. Чего только стоит несколько билд конфигураций на один модуль (моя давняя мечта) и несколько run конфигураций на одну билд конфигурацию :)

    Что касается rase, то вам возможно пригодится Ctrl+R комбинация клавиш. Да и туториалы походу стоит перечитать.

    И да, насчет модулей. Относитесь к проекту в IDEA, как к воркспейсу в Eclipse, а модули соответственно проекты :) Когда начинаешь мыслить модулями, то даже маленький проект начинает занимать 2-3 модуля, 1-2 из которых собираешь в swc и они просто подключаются, не пересобираясь каждый раз.

  • VirtualMaestro

    Ну во первых это не статья о продуктах JetBrains :)
    Во вторых никакой матчасти тут нету — это все дело знания пользования продуктом.
    Дело только в том насколько все сделано простым и очевидным и в последствии насколько быстро можно разобраться в продукте.
    Я не вчера сел за программирование и потому опыт кое-какой имеется (когда то еще работал с Idea 4 версии в годы java программирования).
    Учитывая свой опыт я быстро не нашел решения, пусть и в новой среде, и это для меня что то да говорит.
    Я уверен, что продукты JetBrains одни из самых мощных и интеллектуальных. Но с тем же они несут сложность в освоении.
    Напр. eclipse-like платформы куда проще. Да, они не являются настолько мощными как платформа Idea, но вопрос стоит в том, а нужна ли эта мощь жертвуя той простотой пользования (тем более в Flash проектах)?
    Я писал код в Idea, Astella, FlashDevelop, FlashBuilder, FDT (в RASE не писал :) ) и как не пытался не смог уйти от FlashBuilder.
    Да, он простой как дерево, я бы даже сказал против Idea это блокнот, НО он делает все что мне нужно и делает это просто! Тут ключевое слово «просто».
    Я сейчас заканчиваю один большой проект и за все время проекта (11 месяцев) мне ни разу не понадобилось больше того, что дает FB.
    В заключении этой небольшой дискуссии хочу сказать — кончено это все дело привычки. Очень многие пользуются FlashDevelop и говорят, что это самая лучшая среда в мире, хотя до недавна там даже рефакторинга нормального не было, без которого я жить не могу (кстати, на FlashDevelop тоже пытался перейти на протяжении таки долгого времени).
    На счет RASE я сказал, что надо обучаться этой платформе. И не надо говорить, что это настолько просто, быстро и интуитивно начать работать в RASE :)

  • deep

    Ну что вы, я напротив попытался подсказать где искать и что находится все в местах, явно для этого предназначеных. Матчасть это как раз места где искать и кнопки, что жать. В том же rase импорт класса делается по ctrl+r, о чем было написанно в первом же туториале. Astella вообще отдельная история, тут как минимум 10 рабочих комбинаций клавиш и еще с 20 дополнительных, для рефакторинга, сборки, работы с контролем версий и т.д.

    Что касается rase то тут все очень и очень сложно, много непривычного синтаксиса и ограничей, не привычных и даже не понятных. Многие вопросы я смог решить только после личных бесед с Женей Потапенко. Ни один мануал и даже новая документация не давали мне ответов на некороные вопросы. В добавок некоторые баги, которые легко выявить, но надо ждать след билда, чтобы их закрыли.
    Как я выше упоминую, в rase появилась документация, плюс сайт с табличками подсказками http://onepicturetutorial.com/ (очень рекомендую пролистать все).

    За свой опыт я тоже перепробовал все редакторы, но у меня было важное ограничение, я работал в Linux и из-за этого лучшим вариантом стала IDEA, о чем я ни секунды не жалею, сейчас возвращаясь к FD для haxe, я конечно же чувствую простоту последнего, но и явную нехватку функционала IDEA.

    С Eclipse работал мало, с год не более, но на счет ее простоты по сравнению с idea я был бы даже готов поспорить, если бы не было лень ;)

  • deep

    offtop: Заголовок поправить стоит «Мысди»

  • VirtualMaestro

    Да, спасибо, поправлю. Вчера ночью писал ))
    И забыл сказать спасибо за ссылки по Astella, а то действительно не нашел где почитать. А за эту среду хотел бы зацепится.
    Для haxe лучше FD пока к сожалению нету.
    Хотя делались первые потуги поддержки в FDT, но как я читал пока все печально.
    Последнее время активизировалась работа над проектом eclihx — http://code.google.com/p/eclihx/

    На счет Astella.. Когда скомпилировал проект и попытался запустить flash player выдал стандартное окно с параметрами, мол запускается не с трастед места, хотя галочка стоит Place SWF file in a local-trusted sandbox. Может это баг? Ну вообщем пока вручную не добавил фолдер в траст пока не запускалось.

  • deep

    Про haxe стоит капнуть сюда http://youtrack.jetbrains.net/issue/AS-168 и глядишь скоро будет в Astella и haxe :) Точнее уже точно будет, по крайней мере обещали.

    eclihx у меня в подписке на изменения, до чтото они там пишут, но ему далеко даже до FD, так что пока без вариантов. FDT сам пробовал, у него даже run конфигураций не было тогда, сейчас вроде как уже прикрутили.

    В Astellа все еще есть баги, если не лень попробуй еще пару раз, на чистых проектах и если бага повторить — отпиши авторам в жиру (линк выше) и все поправят :)

  • deep

    offtop: странно, тему поправил, а заголовок страницы прежний. В добавок «в слух» вроде слитно пишется.

  • VirtualMaestro

    Да спасибо, все просмотрел))

    Вот залез к ним в баг трекер и нашел ))
    http://youtrack.jetbrains.net/issue/AS-435?projectKey=AS

  • deep

    Жмите кнопку вверх под норванием бага. Это очень помогает.

  • VirtualMaestro

    deep, есть такой вопрос по Astella.
    В главном классе модуля я использую команду для компилятора
    [SWF(width=800, height=600, backgroundColor=0x000000, frameRate=30)]

    Все эти свойства работают, кроме backgroundColor.
    Какой бы цвет я не менял бекграунд при запуске всегда белый. Сама флешка имеет черный цвет (как и задаю), но в html-врапере установлен белый.
    Я не знаю, это баг или в Astella цвет бекграунда как то по другому устанавливается ?
    Напр. в FlashBuilder этот параметр автоматом прописывает в html-wrapper и результат видно сразу.

    (кстати, уже пофиксили http://youtrack.jetbrains.net/issue/AS-435?projectKey=AS :) )