potapenko @potapenko read-only
Пользователь
22 сентября 2012 в 16:41

Разное → Мы сделали это! У Flash/Flex разработчиков будет livecoding

Это нужно видеть. Вы редактируете код и сразу видите результат, без перегрузки flash-приложения.
Мы показывали эту демку на ITSea 2012 в Черногории.



Если кратко — редактор запускает специальную сессию, когда все методы классов (или выборочно) трасформируются особым образом. При редактировании кода методов в редакторе в клиент доставляются крохотные swc с измененным кодом и рассылается событие о обновлении реализации класса. Так же есть специальная аннотация [Live], которой помечается специальный метод, обновляющий состояние экземпляра объекта.

image

Нет ожидания компиляции, не нужно востанавливать состояние приложения. Например, вы запустили игровой уровень, «наплодили» ботов и изменяете их реализацию на лету. Либо вы работаете с flex-формой — залогинились на сервере, окрыли форму и начинаете добавлять в нее поля или добавляете валидаторы. Круто?

Теперь не важно какой объем приложения. Повторная компиляция всегда будет занимать микроскопически мало времени. Сейчас мы компилим за 200 миллисекунд. При выходе ASC 2.0 в релиз мы можем сократить это время в несколько раз.

Плюс мы перехватываем исключения и обрабатываем «опасный» код. Если вы случайно добавили бесконечный цикл — вы получите сообщение в лог, но приложение не зависнет. Тоже самое с исключениями.

Версия нашего редактора (2.0) с таким функционалом выйдет в середине октября.
Плюс, если вы заметили мы сменили название — встречайте Code Orchestra 2.0!
potapenko @potapenko
карма
28,5
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разное

Комментарии (35)

  • +2
    Нда… Руки чешутся попробовать.
    • 0
      Как будто ты не попробовал)
  • +3
    Вроде круто.
  • +2
    Забавно наблюдать, как идеи из языка программирования Smalltalk-80 постепенно реализовываются в современных системах. В Smalltalk понятие единого адресного пространства и изменения классов и объектов на лету — это норма. И виртуальная машина при выключении сохраняет своё состояние и восстанавливает при следующем запуске. Интересно, когда продолжения начнут набирать популярность.
    • 0
      Если я не ошибаюсь, сейчас в iOS есть возможность сохранять состояние программы: читать тут.
      • +2
        Эм, я iOS-разработчик и ни о чём подобном мне неизвестно ;-). Есть простой механизм hibernate — т.е. сбрасывание содержимого памяти на диск, и последующее восстановление — который ОС может применить, если программа занимает менее 16МБ в памяти. Если больше 16МБ, то просто terminate.
        • +1
          Согласен, не о том написал, но я в начале оговорился, что могу ошибиться. Получилось «слышу звон, да не знаю, где он». Прошу прощения.
  • +1
    А вот мой «лайвовый» режим разработки flash игр --> Workflow of flash gamedev.
    • 0
      Как у тебя происходит доставка изменений в работающее приложение?
      • +1
        Ну я написал лайвовый в кавычках. На самом деле происходит сборка и перезагрузка страницы по изменению кода. Компилятор используется haxe и для небольших проектов сборка намного быстрее чем у flex'a.
  • –20
    Флеш уже даже сами адобы закопали, а вы под него всё-ещё что-то пилите.
    • +6
      Начинается…
    • +2
      Ох нахапаешь сейчас в карму…
    • 0
      А мне, кстати, интересно. На сколько сейчас сложнее стало flash разработчикам? На сколько я понимаю — для создания интерактивных сайтов сейчас все используют html5 вместо flash, в смысле просят все создать на html5. Видео — тоже самое. Остается только enterprise? Меньше работы стало?
      • 0
        Меньше точно не стало.
      • +4
        Остались социльные игры и приложение. А это рынок по размерам даже близко не сравнимый ни с видеоплеерами, ни банерами и красивыми менюшками. Работы хоть попой ешь. Особенно если руки из плеч и голова там же.
        • 0
          Да, про это я совсем забыл, так как и не пользовался никогда. Понял, спасибо.
      • 0
        Да, на самом деле становится меньше работы. Даже если одни вакансии смотреть. Меньшу и хуже качество.
        А один заказчик, который до «священной войны» всё делал на флэше для крупных клиентов, в один момент целиком и полностью переключился на html5. Тренд.
        • 0
          Тренд — не тренд: недавно одному заказчику надо было сделать одну штуку на Flash. Получив встречное предложение, сделать эту штуку «на HTML5», согласился и сказал что это действительно будет лучше. Видимо, оценил плюсы и минусы.
      • +4
        Да ничего страшного. Меньше хайпа меньше залетных разработичков — вся накипь в html5 улетела. Flash стал использоваться сугобо по делу.
    • +6
      Адобы развивают флеш очень активно, закапывая только бесперспективные направления его развития.
      • 0
        Если не сложно, объясните вкратце перспективы Flash в свете HTML5?
        • +2
          1. 3D. Перспектива WebGL на IE непонятна. В Safari выключен по умолчанию, а значит для рядовых пользователей его просто нет. А на флэше это уже есть. Более того Unity3D сделал импорт в swf.
          2. Видео. Несмотря на победные реляции, В HTML5 бардак с кодеками до сих пор не решён. В HTML5 нет потокового видео. В HTML5 нет защиты контента (DRM), что не позволит правообладателям продавать мультимедийную продукцию через Интернет. Во флэше этих проблем нет. Более того, несмотря на громкие заявления видеохостинги используют флэшовый плеер в качестве основного.
          3. Игры. Флэш — это изначально была анимация, поэтому работа с мультимедийной информацией, анимацией во флэше устроена значительно проще, чем в HTML, который изначально был чисто текстовым форматом. Флэш — это классический ООП, т.е. не нужно ломать голову, как применить отработанные годами приёмы к JavaScript-у. Например, Гугл признал, что JavaScript не удовлетворяет их требованиям, поэтому они начали разрабатывать Dart.
          4. Работа с мультимедийными устройствами.
          5. Мобильные платформы. AIR позволяет легко портировать код под различные платформы. Мало того, он позволяет работать непосредственно с модулями на Java, C++, Objective C, что значительно повышает гибкость и увеличивает возможности программ на ActionScript3. В это время, Facebook признал, что создание клиента на HTML5 было ошибкой.

          Короче, многое из того, что флэш умеет уже сейчас, HTML5 или не поддерживает, или поддерживает лишь формально, т.е. либо реализовано не полностью, либо не всеми браузерами.
  • 0
    а можете дать исходник демки? Очень интересно, так красиво.
  • НЛО прилетело и опубликовало эту надпись здесь
  • +2
    Шикарная новость!
    1. Как я понимаю, это может привести к сложно отлавливаемым конфликтам при изменении интерфейса класса. Есть ли защита от дурака?
    2. Кстати, а в связи с чем изменили название?
    • 0
      1. Изменение наследования мы не поддерживаем в живую. Почти все изменения — добавление методов и полей, классов, переименование методов. Но структуру нет. В том случае если вы хотите сделать изменение, которое мы не передаем — на клиенте появится кнопка с предложением пеересобрать приложение заново.
      2. Code Orchestra отделилась в отдельную компанию и мы уже не Realaxy.
  • 0
    а можно подробнее, как такое сделать у себя и что для этого надо поставить или скачать (разу извиняюсь не совсем в теме? я простой флешер, и от высоких технологий далек)?
    • 0
      Релиз 24 октября. Скачаете, создадите проект с модулем и хотя бы одним классом и создадите run-configuration «livecoding». Нажмете зеленую кнопку «Run» и запустите приложение. Все — можете писать «живой» код.
  • 0
    Code Orchestra в отличии от Realaxy Editor не находится ни одним поисковиком.
    Странное решение с переименованием. Кустурицы переслушали на своих балканах? :)
    • 0
      Мы приняли решение о выделении проекта производства AS редактора в отдельную компанию.
      А Realaxy сейчас занимается тем, с чего собственно и начинали, пока не занырнули в AS редактор, а именно, производством онлайн 3D редактора объектов недвижимости.
    • 0
      Code Orchestra выйдет только в октябре. И как написал Иван мы уже не Realaxy.
      В поисковике информации нет, потому что мы сайт еще не выпустили. Ждите релиза :)
  • 0
    Ну разве, что Realaxy Code Orchestra, вместо Realaxy Editor.
  • 0
    Спасибо за новость.
    Интересно будет пощупать!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.