Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=7)
-   -   НЕМНОГО О СЕДЬМОМ Flash (статья) (http://www.flasher.ru/forum/showthread.php?t=46942)

john 17.07.2003 21:03

НЕМНОГО О СЕДЬМОМ Flash (статья)
 
НЕМНОГО О СЕДЬМОМ FLASH

Хочу в одной статье зафиксировать мысли, которые возникли у меня при изучении неких материалов о седьмом Flash.

СРЕДА РАЗРАБОТКИ

С выходом семерки мы будем иметь два редактора Flash: для дизайнеров и для разработчиков.
В редакторе для дизайнеров, можно заниматься только графикой. Дизайнеру не нужно писать код, и он может пользоваться только готовыми решениями, которые будут храниться в специальном меню: «behaviors» (по принципу DreamWeaver)
Редактор для разработчиков(developers), создан уже для других задач и для других товарищей :). Он будет включать в себя все возможности «дизайнерской» редакции, но будет основан на «традициях» и наработках сообщества программистов.
Работа с кодом, с компонентами, с библиотекой будет реализована уже на другом уровне. Будут созданы специальные функции для управления проектом и командой разработчиков.
Пока не понятно, каким по счету будет заявленный недавно редактор Royale. Выскажу предположение. Судя по крупицам информации, которая доступна на данный момент, Royale будет еще одним шагом от «визуальной» и «дизайнерской» среды разработки в сторону общепринятых стандартов в профессиональных средах разработки приложений. То есть мы в будущем, возможно, будем иметь три варианта Flash редактора.

РАСШИРЯЕМАЯ СРЕДА РАЗРАБОТКИ

Выполняя пожелания разработчиков значительно упростится работа с рутинными операциями. Запись и воспроизведение макросов, создание собственных инструментов и меню. Создание специальных приложений для упрощение командной работы.
Разработчики смогут как обмениваться своими наработками, так и продавать их.
Для этого разработан специальный язык на основе JavaScript, из которого можно вызвать любую команду Flash редактора, и работать с каждым его объектом.
И если вас что-то не устраивает в вашем Flash-редакторе – перепишите это! :)

РАБОТА С ПРОЕКТАМИ

С некоторого времени стало очевидным, что разработка во Flash значительно упрощается и упорядочивается, если использовать компоненты. Опыт разработки показывает, что идеология разработки на основе компонентов постепенно превращается в главную и основополагающую стратегию разработки Flash-приложений (Component based strategy). Где каждый элемент приложения – компонент и само приложение – это компонент.
Личное мнение: идеология компонентов очень успешно может быть использована и в графическом дизайне (Component based design).
Очевидно, что в седьмой версии работа с компонентами значительно более развита.
В МХ компонент – это элемент библиотеки. В «семерке» компонент – это внешний, уже скомпилированный файл. Это как значительно убыстряет тестирование и компиляцию всего проекта, так и позволяет разработчиками «скрывать» реализацию своих компонентов. Выскажу предположение, что для новых компонентов будет использован подход из Java.
Не совсем понятно, как будут помещаться компоненты в конечный файл (или у разработчика будет выбор?). Либо код из компонента будет перенесен в конечный SWF? Или же компонент будет находиться «внешне» и будет «становится частью приложения» уже при его инициализации?
Очевидно, что разрабатывать «начинку» для компонентов будут программисты. Как следствие, значительно упрощена работа с компонентами для программистов. Работа с ними станет менее «визуальна», и настраивать параметры компонентов можно будет прямо в коде. Код хранится во внешних файлах, код для работы компонента легко может быть импортирован из другого компонента.

РЕВОЛЮЦИИ В СИНТАКСИСЕ AS

Что называется «допросились». И Макромедия дала нам то, что многие ее просили. «Хотели ООП – получите Java Style OOP». Вот примерно такие чувства вызывает у меня изучение новых возможностей ActionScript.
Пройдемся по главным нововведениям в синтаксисе.
Работа с классами как в Java
Пример, в котором используется синтаксис МХ и Семерки для создания класса:
Код:

//*************************************************************************
// шестерка

function ClassName()
{
        // код инициализации
}

ClassName.prototype = new MovieClip();

ClassName.prototype.counter = 12;

ClassName.prototype.method = function()
{
        // код метода
}

//*************************************************************************
// семерка

class ClassName extends MovieClip
{
        var counter = 12;
       
        function ClassName()
        {
                // код инициализации
        }
       
        function method()
        {
                // код метода
        }
}

Как видно из примера в «семерке», работа с классами практически повторяет синтаксис Java.
Отличие только в использовании ключевого слова «function» (сделано думаю для обеспечения преемственности)

Доступ к классам

Нововведения при работе с классами не ограничены только появлением новой конструкцией для их создания. Вторая революция в синтаксисе, заключается в управлении доступа к методам и свойствам класса. Используя спецификаторы public, private и static, мы можем легко разрешить и запретить доступ к нашему классу «извне».
Пример:
Код:

class ClassName extends MovieClip
{
        static var counter = 12;
       
        // доступ к методу закрыт "снаружи"
        private function ClassName()
        {
                // код инициализации
        }
       
        // метод доступен "снаружи"
        public function method()
        {
                // код метода
        }
}

Серьезный подход из серьезных языков. Управляя и описывая доступ к классам мы на голову увеличиваем «объектность» наших приложений.

Типы данных

Тот же пример класса, но уже с типами данных:
Код:

//*************************************************************************
// семерка

class ClassName extends MovieClip
{
        static var counter:Number = 12;// указыавем тип Number параметру counter
       
        public function method(s:String)// указыавем типа "строка" аргументу s
        {
                trace(s)
        }
}

Немного огорчает, что для номеров и строк нет более простых типов, например, таких как целые числа и числа с плавающей запятой, но начало положено.
Будем надеяться, что указание данных должно ощутимо сказаться на производительности.

Общие данные для всех экземпляров класса

Почти неизведанные возможности для Flash разработчиков таятся в новом спецификаторе static. Точнее сказать так, подобные возможности можно было реализовать и раньше, но выглядело это так «криво», что почти никто подобным приемом не пользовался.
А все просто и удобно, например мы хотим знать количество всех экземпляра некого класса. И изменяя это поле, новое значение будет доступно всем экземплярам класса.
Два примера реализации одного и того же (в «шестерке» и в «семерке»)
Код:

//*************************************************************************
// 6 style
function className()
{
        // при создании экземпляра увеличить счетчик на единицу
        this.__proto__.counter++;
}


className.prototype.getCounter = function()
{
        return counter;
}
//*************************************************************************
// 7 style

class className
{
        static var counter;
       
        function className()
        {
                // при создании экземпляра увеличить счетчик на единицу
                counter++;
        }
       
        function getCounter()
        {
                return counter;
        }
}

Указывая спецификатор static мы гарантируем, то что каждый экземпляр будет «работать» не со своим полем, а общим полем для всего класса.

john 17.07.2003 21:04

Короткая жизнь метода «addProperty»

Просуществовав одну версию Flash, данный метод изжил себя, так как изменилась вся концепция ООП во Flash.
Данный код в полной мере иллюстрирует изменения в «семерке»:
Код:

//*************************************************************************
// 6 style
this.addProperty("testProp", function()
{
        return this.__testProp;

}, function(v)
{
        this.__testProp = v;
});

//*************************************************************************
// 7 style
function get testProp()
{
        return this.__testProp;
}

function set testProp(v)
{
        this.__testProp = v;
}

Очевидно что новый стиль значительно упрощает работу со свойствами.

Интерфейсы

Концепция ООП Java предполагает дополнительный подход для упорядочивания и структурирования работы классов. Этот подход предполагает то, что кроме наследования от класса к классу своего внутреннего устройства можно выделить специальные абстрактные описания интерфейсов классов (не путать с абстрактными классами). И классы не связанные между собой «узами наследования» могут иметь общие интерфейсы, которые они наследуют из одного общего для них шаблона.
Это новый путь для еще более развитой работы с классами.
Это действительно большая тема и здесь достаточно привести код:
Код:

// общий интерфейс работы с валютой
interface Currency
{
        // сигнатура (описание) метода интерефейса форматирования валюты
        // (например: 12.1 в вид "12.10"

        function formatCurrency(c:Number);
       
        // сигнатура метода конвертирования валюты

        function convertCurrency(from:Object, to:Object);
}


// некий компонет для отображения текстовых данных
class textDisplay extends Movieclip implements Currency
{
        // реализация метода formatCurrency
        function formatCurrency(c)
        {
                // ...
        }
       
        // реализация метода convertCurrency
        function convertCurrency(from, to)
        {
                // ...
        }
       
        // другие методы компонента
}

// некий компонет для отображения текстовых данных
class textLine extends Movieclip implements Currency
{
        // реализация метода formatCurrency
        function formatCurrency(c)
        {
                // ...
        }
       
        // реализация метода convertCurrency
        function convertCurrency(from, to)
        {
                // ...
        }
       
        // другие методы компонента
}

Директива import

В МХ, для того чтобы использовать код из разных файлов мы использовали директивой #include. При компиляции Flash-файла код просто помещался на место строки с указанием нужного файла с кодом. Такой подход не всегда универсален. Например, два разных компонента используют одну и ту же библиотеку с кодом. Мы можем оказаться в ситуации, когда один и тот же код помещен в наш проект дважды. Поэтому приходилось идти на «визуальные» жертвы: использовать библиотеку Flash-редактора.
Директива import существует в Java, и во Flash она переместилась внешне без изменений. Возможно, данная директива будет обладать еще большими средствами для объединения библиотек. Возможно здесь даже речь идет о «настоящем» импорте как Java… Поживем увидим.
Похоже, «почти как Джава» – становится ключевой фразой при обзоре нововведений семерки.

Работа с ошибками

Теперь не нужно боятся что плеер «зависнет» выполняя ваш код. Нам больше не страшна рекурсия и деление на ноль. Используя try и catch мы сможем наши ошибки и отловить и обработать. Я лично пока не осознал всю мощь этого нововведения но есть утверждение, что подобные конструкции, будут даже поважнее изменений в ООП... Ну не знаю, не знаю :)

Это конечно почти как Джава, но это все-таки Скрипт

Заявленная макромедия армия Flash-разработчиков в размере 650 000 человек, конечно же не состоит из одних программистов, которым только и подавай ООП и которые Джавы не боятся. Поэтому новая редакция ActionScript , мягко скажем, гораздо «добрее» чем Джава. Во всяком случае создавать процедуру без класса можно :)
По мне, такие компромиссы конечно же нужны для массовости технологии, но для продвинутых разработчиков пора вводить несколько уровней при компиляции, когда разработчик сам укажет свой уровень и не будет плодится «грязь» в готовом байт-коде. Надеюсь, что так думают и разработчик от Макромедия… Ведь были в свое время намеки на директиву #strict…

НОВОСТИ О ПРАВОЙ КНОПКЕ

Возможно, что для «не флэшера» тот факт, что мы до сих пор не можем обрабатывать событии нажатия правой кнопки звучит как нонсенс. Но мы как то уже свыклись с данным постулатом. И вечные мольбы к Макромедия уже стали частью Flash-фольклора… Существует даже утверждение, что правая кнопка, и появления всем знакомой надписи, о том, что это Flash, было сильнейшим и удачным маркетинговым и рекламным ходом Макромедия. Ведь никто бы и не узнал что это Flash…
И вот случилось. У нас появилась правая кнопка! Да и колесико мышки в придачу.
И кроме этого мы можем не только совсем убрать контекстное меню правой кнопки, мы можем его настраивать под себя, добавляя новые элементы и т. д.
Счастье в которое просто не верится :)
А если серьезно, то мне данный факт указывает на то, что Flash перешагнул некую историческую черту, и сейчас не нужно подписывать каждый Flash ролик, всем и так понятно, что это Flash.

О ПОЛЬЗЕ ПЕТИЦИЙ

В свое время известный Flash-гуру КОЛИН МУК выступил с инициативой, и написал петицию от лица сообщества Flash-разработчиков к Макромедия, в которой слезно просилось наконец-то организовать процесс загрузки мувиклипов во Flash. Парадоксальная ситуация: «нормально» во Flash можно загружать все что угодно: и звук и видео и XML, но только не «родной» Flash-файл – SWF! Конкретно предлагалось включить в новую версию Flash класс MovieClipLoader, который будет обрабатывать все события связанные с загрузкой SWF.
И это произошло! Похоже, что под практику петиций от разработчиков заложена твердая основа!
Я, по своему опыту, конечно же уверен, в том что появление нового класса не изживет вопросов типа: «как сделать полосочку, пока мой ролик грузится». Но все равно все это очень приятно. Внимание к просьбам разработчиков очень обнадеживает.

ОБЩЕЕ ВПЕЧАТЛЕНИЕ

Общее впечатление, как всегда при знакомстве новой версии Flash: «Это просто невероятно! Ну удивили так удивили. Немного страшно».
Но закалка 2-3-4-5-6-7 – серьезный опыт. Вообще, похоже, такие резкие скачки, становятся уже привычкой. Разгрызаем до самой сути текущую версию, казалось бы, что мы все уже знаем, а тут и новая версия не за горами.
Общий вывод: поживем-увидим. Будет и Macromedia Central и Royal. Очевидно, что сейчас настало время перемещения готовых наработок из сообщества Java на Flash. Флэшерам стало тесно в рамках JavaScript, и Java в полной мере удовлетворяет наши растущие потребности. Думаю, что на пару версий Flash это точно :)

удачи,
Evgeniy Potapenko (aka john)

DeliMIter 17.07.2003 21:33

Йоу!!! try ... catch рулит :)))))

Джон, вопрос. Очень важный. Почти жизненный. Можно ли будет перегружать операвторы [+], [-],[*]... ну и тэдэ?

llllllllll 17.07.2003 21:37

Насколько я понимаю, все эти звери централы и рояли не будут уже в привычном понимание swf-файлами созданными в таком простом редакторе как Flash ...

Дениска 18.07.2003 00:09

у ММ есть практика выкидывать некоторые фичи из беты к окончанию тестирования.

бум надеятся что кое что они все таки оставят %)

mort 18.07.2003 14:02

А когда ОНО нас озарит своим божественным сиянием (это был первый вопрос) и есть ли слухи относительно скорости графики и самого скрипта (это, соответственно, второй)...
А-а-а? :)

Ales 18.07.2003 18:08

Так так... Разделение продуктов. А никакой очередной приблуды для создания три де для дизайнерской версии не ожидается?
Или отчаявшиеся флаш-разработчики уже решили в петицию таких требований не вносить? :)

Все это мне напоминает майку. Сначала была одна понятная хорошая прога, потом ее раскрамсали, написали кучу добавлялок и так далее. Теперь в принципе майка может все, но уследить за всеми приблудами для нее почти невозможно. Поэтому, в Школе по ней аж 5 курсов! :)

Spice 18.07.2003 18:16

возможность автоматической сборки
 
Привет все.
Интересует такой вопрос:
В будущей семерке обещают "телодвижения" в сторону более серьезной поддержки программных фич. Следовательно, компоненты будут писать
все более сложные и сложные.
Кому надо писать :), чтобы макромедиа добавила возможность автоматической сборки проекта из командной строки ?
И есть ли возможность реализовать это в MX ?
Для меня это актуальный вопрос.

llllllllll 18.07.2003 19:03

Чейто не нравится мне все это ...

Тем кто хочет писать серьезные вещи не нужен флеш, для серьезных вещей есть серьезные среды разработки.

Флеш приближается к Java - а не легче ли писать на Java?

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

Похоронены довольно мощные вещи вроде Директора, а один лишь imagingLingo из Директора заставил бы забыть о всяких мелочах ... ,
... mouseWheel, rightMouse - это какие-то объедки, кому они нужны, вот в Дире есть - ктонибудь пользуется? ...

3D естественно не будет ... во всяком случае онлайнового, а в оффлайне макромедии уже не тягаться с кучей конкурентов ...

А если еще посмотреть на статьи-трепыхания на Макромедии по поводу SVG и SWF - то складывается впечателение, что "Римская империя" Макромедии переваливает за свои лучшие годы ...

netstuff 21.07.2003 12:10

Цитата:

Такой продукт уже не будет иметь безоговорочного успеха в инете - для флеша инет - это главное, все его принципы разработки опирались на специфику интернета.
чё-т, я не понял... а что мешает семерке оставаться интернет-ориентированным приложением? исходя, естетственно, из тех данных, которые нам так любезно предоставил уважаемый john...

Sveta 22.07.2003 19:55

Цитата:

Оригинал написал(а) llllllllll
А если еще посмотреть на статьи-трепыхания на Макромедии по поводу SVG и SWF - то складывается впечателение, что "Римская империя" Макромедии переваливает за свои лучшие годы ...
Сорьки, а можно вкратце:) Что, SVG - такая забойная штукенция?:) А с чем ее едят?:) Она может быть полезна нам? Ой, еще простите за дурацкие как всегда вопросы:)

Смольный (Smolniy) 23.07.2003 05:26

ИМХО, SVG ничуть не страшен SWF-у...

llllllllll 23.07.2003 15:34

Цитата:

Оригинал написал(а) Смольный (Smolniy)
ИМХО, SVG ничуть не страшен SWF-у...
А никто и не говорил, что страшен :) - это разные вещи :) - но Макромедия такие статьи выложила, что складывается впечатление, что они оправдываются :)

john 23.07.2003 16:38

Цитата:

Тем кто хочет писать серьезные вещи не нужен флеш, для серьезных вещей есть серьезные среды разработки.
Флеш приближается к Java - а не легче ли писать на Java?
Наблюдается явная путаница: писать на Джава и писать под виртуальную машину Джава – в корне разные вещи…. Оставим этот удел Джава-программистам.



Тот же пример с технологией Curl. Великолепная технология, можно делать практически все. НО! Она сделана в первую очередь для программистов и программистами, поэтому не имеет средств разработки для дизайнеров, и как следствие не имеет заявленную 650 тысячную армию разработчиков на Flash. И замечательная технология задохнулась….
То же и на Джава (в смысле написание апплетов). Это уж точно не для дизайнера…

Но язык то замечательный, и признан как один из лучших…, прост в изучении… И накоплено огромное количество наработок, концепций, библиотек, шаблонов. Написано масса литературы. Серьезной литературы по JavaScript я и не припомню…

Разговор не идет о том, чтобы усложнить жизнь дизайнеру, она только облегчится. Первоочередная задача семерки – сделать наконец работу над приложениями сложнее чем пара кнопок, нормальной.



Да и никто не заставляет писать кого-то в «стиле Джава», остаются все средства для продолжения работы в том же ключе. И не нужно боятся что в некоторые профессиональных кругах такой стиль будет считаться «убогим». Просто у вас другие профессиональные задачи и другие профессиональные круги.

Повторюсь. Новые возможности языка, в первую очередь решают задачу упрощения написания приложений (централ к примеру).

А по поводу SVG, так это вообще смешно. ИМХО.

llllllllll 23.07.2003 16:45

Ладно, поживем увидим, пока, что нечего обсуждать :) ... , меня лично ничего не смушает и соглашусь, что Java это не JS :) , но вот вопрос, а чем силен флеш? AS? Умопомрачительные прото конструкции? Компоненты? Много ли людей использует все то, что появилось в MX?

llllllllll 23.07.2003 16:51

Кстати, помниться, вы спрашивали кого-то о источниках его знаний и вследствии этого использовании таких конструкци как setProperty, getProperty ... теперь можно представить, что будет твориться в 7-ке :) - или вы считаете, что Макромедия пойдет на изменение SWF файл формата, и убьет этим поддержку предыдущих версий? :)

john 23.07.2003 17:06

Цитата:

но вот вопрос, а чем силен флеш? AS? Умопомрачительные прото конструкции? Компоненты?
Flash - это в первую очередь удачное стечение обстоятельств…
1. Появился в эпоху «войны браузеров», когда даже простейший ХТМЛ отображался криво либо в одном либо в другом…. И о интерактивности и мечтать не могли.
2. По всему ходу своего развития Flash отражал средний уровень подготовки вэб-разработчика. Сначала чистый визуал, потом немного кодинга и так далее…
3. Векторная графика позволяла значительно сократить файловый размер, всем это было очевидно, но только из-за нового формата графики никто бы не загружал новый плагин (каких на момент появления флэша было немало, та же Xara сделала свой…).
4. «Неудачи» конкурентов. Директор – «странный» язык, и большой на тот момент плагин. «Слишком профессионален» для своего времени. Джава – требуется высокий уровень программирования, отсутствует «дизайнерские» пакеты для разработки.
О Flash-е никогда нельзя было сказать, что он лучший в чем то конкретно. Но в комплексе он был всегда лучшим.

Usnul 24.07.2003 05:06

Ну чего, все одно - загнется флэш... не загнется, а нам-то какое дело? :) от нас не в коей мере, кроме как визуального стимулирования на приобретения флэш пакета, не зависит судьба этого, на мой взгляд, замечательного продукта.
"Поживем увидим..." :)

может кто-нибудь разтолковать, что такое "классы"? клип-контейнер, или что-то в этом роде?

PS
Кто как, а я рад что быдет 7.

NеoLeо 25.07.2003 11:44

что-то мне не нравится, что они язык к7ой версии стали под джаву косить, на кой хрен это надо? у флэша шесть версий был свой, ну и оставили бы, вот теперь перестариваться..

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

ну и наконец, зачем эти муты все с компонентами? что, они настолько популярны?

netstuff 25.07.2003 12:10

насчет разделений на дезигнеров и девелоперов...
 
думаю, что это есть гуд.

если рассматривать пример C# - то это очень удобно. по крайней мере если сравнивать ПХП + ХТМЛ vs С# - второе выглядит намного привлекательнее, ИМХО... :rolleyes:

всё-таки, когда код хранится отдельно от дезигна - это карошо, это удобно. а по поводу близости к Java - не знаю, Java не разу не видел, но AS - это, мягко говоря, примитив - скриптовый язык... а я давно мечтаю о том, чтобы во Флеше был язык посильнее :cool:

[pS] всё это говорил не программер, а дезигнер (для тех кто в таньке)...

CyberMax 25.07.2003 19:31

Цитата:

Оригинал написал(а) NеoLeо
что-то мне не нравится, что они язык к7ой версии стали под джаву косить, на кой хрен это надо? у флэша шесть версий был свой, ну и оставили бы, вот теперь перестариваться..
Не шесть, а четыре. И под жабу они начали косить ещё в пятёрке :)
Причём до четвёрки включительно это было полное угрёбище, а не язык. BTW, Neo, а ты хоть с четвёркой-то работал хоть чуть-чуть? Более-менее сложный алгоритм закодировать -- удавиться можно было :mad:
Цитата:


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

Ну так никто ж тебе не будет запрещать в Developer среде работать! У меня, к примеру, редактор Action Script всегда в Expert mode, а вот начинающему проще работать в Normal mode.
Считай, что Developer -- суть продвинутый Designer.

Цитата:

ну и наконец, зачем эти муты все с компонентами? что, они настолько популярны?
Ты это что, всерьёз спрашиваеш?
О code reuse слышал ?
Hint: Macromedia позиционирует Flash MX как средство разработки frontend интерфейсов.
А без применения компонентов написать более-менне приличную морду будет занимать много больше времени.

Да хоть на тот же http://exchange.macromedia.com/ посмотри.

Надеюсь, что MM таки добавит в семёрке возможности для нормальной демонстрации работы компонента без открытия его исходника. Что бы можно было платные компоненты делать без выкрутасов типа смотрите демо -- покупайте исходник на CD. Вот тогда наступит эра компонентов.



NеoLeо 25.07.2003 19:37

угрёбище, а не язык. BTW, Neo, а ты хоть с четвёркой-то работал хоть чуть-чуть? Более-менее сложный алгоритм закодировать -- удавиться можно было :mad:

нет, я начал с пятерки

mode.
Считай, что Developer -- суть продвинутый Designer.

ну если так, то зашибись. я подумла другое будет

разработки frontend интерфейсов.
А без применения компонентов написать более-менне приличную морду будет занимать много больше времени.

фронтенд? это ты что имеешь в виду?

CyberMax 25.07.2003 19:51

Цитата:

Оригинал написал(а) NеoLeо
разработки frontend интерфейсов.
А без применения компонентов написать более-менне приличную морду будет занимать много больше времени.

фронтенд? это ты что имеешь в виду?

Интерфейс пользователя. Для базы данных, например.
Вот, к примеру, есть MP3 Encoder LAME, с интерфейсом в виде коммандной строки, а есть Razor Lame -- frontend с виндовым интерфейсом для этого самого LAME.

NеoLeо 25.07.2003 19:58

а, в этом смысле ,понял

Смольный (Smolniy) 27.07.2003 16:13

Честно говоря, программерские новшества, описанные выше, меня не восхищают - вызывают сдержанный оптимизм, но не восхищение. Это все здорово, это все ценно, но это все не критично. Нормальное наследование классов, приватность данных, конструкторы и деструкторы, даже переопределение операторов - это все ЦЕННО, но реализуемо и другими средствами. Честно говоря, я пока не сделал НИ ОДНОГО проекта полностью под 6-ку! Пока что заказчик больше склонен требовать 5-ку. Вообще, ООП-шные фишки полезны, но применимы ограниченно, ибо толку в них мало, до тех пор пока все это эмулируется. Зачем мне операторы двоичного сдвига, если при компиляции они превращаются непонятно во что и не выполняются на уровне процессора? Это конечно все теоретические споры, потому что (повторяю) в массовых заказах эти вещи попросту не нужны. Они облегчают жизнь, но они не критичны. Вот если бы ММ в очередном плеере сделали аппаратную акселерацию 2Д графики - вот это была бы революция. А до тех пор пока Флаш тормозит на банальном тексте, который в дремучем и кривом от рождения HTML-е показывается в десятки раз лучше - Флаш много, много, МНОГО теряет... :(:(

З.Ы. насчет "зачем флаш приближать к java, не лучше ли писать на самой java" - флаш все-таки мультимедиа-компилятор, среда полувизуального проектирования векторной анимации. До тех пор, пока анимация "прямоугольник->овал" делается руками за 10 секунд, а на языке программирования - за несколько часов, до тех пор "приближение Flash к Java" имеет больший смысл, чем переход на Java. Это даже если забыть о сложной истории Java и спорах о поддержке Java (например, эскападе Microsoft против Java, например, о наличии минимум 2-х версий Java, от Microsoft и Sun)...

llllllllll 27.07.2003 16:37

Цитата:

Оригинал написал(а) Смольный (Smolniy)
Вот если бы ММ в очередном плеере сделали аппаратную акселерацию 2Д графики - вот это была бы революция. А до тех пор пока Флаш тормозит на банальном тексте, который в дремучем и кривом от рождения HTML-е показывается в десятки раз лучше - Флаш много, много, МНОГО теряет... :(:(

Понятно что следующее всем известно ..., но ...

Код:

The Macromedia Flash file format (SWF) delivers vector graphics and
animation over the Internet to the Macromedia Flash Player. The SWF file format is designed to
be a very efficient delivery format, not a format for exchanging graphics between graphics editors.
It is designed to meet the following goals:

On-screen display

The format is primarily intended for on-screen display and supports antialiasing,
fast rendering to a bitmap of any color format, animation, and interactive buttons.

Extensibility

The format is a tagged format, so it can be evolved with new features while
maintaining backward compatibility with older Flash Players.

Network delivery

The format can travel over a network with limited and unpredictable
bandwidth. The files are compressed to be small and support incremental rendering through
streaming. SWF is a binary format and is not human readable like HTML. SWF uses techniques
such as bit-packing and structures with optional fields to minimize file size.

Simplicity

The format is simple so that the Flash Player is small and easily ported. Also, the
Flash Player only depends upon a limited set of operating system features.

File independence

The files display without any dependence on external resources such as
fonts.

Scalability

The files work well on limited hardware, and can take advantage of better hardware
when it is available. This is important because computers have different monitor resolutions and
bit depths.

Speed

The files render at a high quality very quickly.

Scriptability

The format includes tags that provide sequences of byte codes to be interpreted by
a stack machine. The byte codes support the ActionScript language. The Flash Player provides a
runtime ActionScript object model that allows interaction with drawing primitives, servers, and
features of the Flash Player.

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

Смольный (Smolniy) 28.07.2003 04:30

Это все, безусловно, концептуальные рассуждения, и ценность их заключается не в строжайшем следовании им, а в рациональном (я бы даже сказал, в предельно прагматичном) рассмотрении концепций с течением времени. Иначе мы получаем ортодоксов и нежизненные проекты (даже церковь признала ошибочность гонений на ведьм - иначе слишком уж непросто ей было жить).
В свое время ММ круто изменили концепцию Flash, перенеся упор с графической составляющей на программерскую, и это был блестящий шаг.

Simplicity

The format is simple so that the Flash Player is small and easily ported. Also, the Flash Player only depends upon a limited set of operating system features.

Да, мы все имеем прекрасную возможность видеть, как Flash player "легко" и весьма быстро (вовремя) портируется на различные новые платформы (напр. наладонники различных производителей) и с какой помпой эти события обставляются. Несложно понять, что легкое портирование "на любые системы" решений, касающихся такого ОС- и железозависимого процесса, как визуализация, есть не иначе как миф. Даже Джава, пропогандируемая как "платформонезависимое решение" базируется на JVM, ИНДИВИДУАЛЬНОЙ для каждой ОС! Не говоря о том, что действительно машинонезависимыми проще всего сделать алгоритмические процессы, а не визуальные. Именно поэтому при каждом "легком" портировании Flash player на новую платформу, выходит громкий пресс-релиз. Если бы по поводу каждого портирования, например, bind на очередную *NIX-платформу, выходил пресс-релиз, то их, я полагаю, можно было бы считать формой спама.

И вообще, использование аппаратной акселерации не влияет на формат SWF, оно затронет только плеер и может быть выполнено без обновления версии Flash. Очень сильно уверен, что визуальная составляющая Flash не менялась версии эдак с 3-ей, и если бы при выходе, например, 5-й версии ММ удосужились бы в виндовом плеере (ведь под каждую ОС и даже под различные архитектуры браузеров клепается индивидуальный плеер) был бы задействован DX, то жизнь и перШпективы Flash значительно бы укрепились.

Speed
The files render at a high quality very quickly.

Это даже комментировать не хочется... Very quickly... Это может у них там на девелоперских машинах так...
Я знаю людей, которые делали комбинированный онлайн- и оффлайн проект, и были вынуждены использовать для онлайна Flash, а для оффлайна - С++. В конце концов, ММ могла бы сделать аппаратное ускорение только для SAFPlayer, он все равно значительно отличается от браузерного (например, размером - 800Кб!). В общем, это конечно, все мое IMCO, но отмазки ММ для меня неубедительны.

З.Ы. Кстати, и совместимость между плеерами не соблюдается, думаю, это все знают. В нюансах, но всеж-таки...

lexass 30.07.2003 14:23

ИМХО
 
главное чтоб графика меньше тормозила
а программинга 5-ки хватает (хотя есть приятный фишки в МХ, но заказчик) :rolleyes: :cool:

NеoLeо 30.07.2003 14:52

графика действтельно тормозит :rolleyes:

llllllllll 30.07.2003 16:38

Цитата:

Оригинал написал(а) Смольный (Smolniy)
И вообще, использование аппаратной акселерации не влияет на формат SWF, оно затронет только плеер и может быть выполнено без обновления версии Flash. Очень сильно уверен, что визуальная составляющая Flash не менялась версии эдак с 3-ей, и если бы при выходе, например, 5-й версии ММ удосужились бы в виндовом плеере (ведь под каждую ОС и даже под различные архитектуры браузеров клепается индивидуальный плеер) был бы задействован DX, то жизнь и перШпективы Flash значительно бы укрепились.

... З.Ы. Кстати, и совместимость между плеерами не соблюдается, думаю, это все знают. В нюансах, но всеж-таки...

Да соглашусь - могли бы юзать, и это стоило бы того, но только вопрос нужно ли это им, когда и так можно бабки грести :)

ку:зы: а что там у них такого не соблюдается в совместимости? :)

djfox 31.07.2003 14:05

а трейс многоколорный можно делать?
а то в больших проектах не красиво, когда все одним цветом :(

5-ка - рулит, и будет рулить еще года два - это факт...
а я бы добавил набор инструментов... например текст вдоль кривой.. для этого и плагин не нада переделывать :D

или я что-то упустил?

NеoLeо 31.07.2003 14:25

боюсь, что многоцветный трейсер будет крайне коряв. лучше руками раскрасить, если что

Useless 31.07.2003 14:26

Лично мне от флеша нужно совсем немного:
Код:

aTextField.antiAlias = false;
aBitmap.antiAlias = false;
aMask.useGradient = true;

Ну и ещё:
Код:

Bitmap.buggyRendering = false;
Player.slowRendering = false;
Player.setNumberOfBugs(0);

Только я этого, наверное, не дождусь никогда :( :mad:

Ales 31.07.2003 15:06

Цитата:

Оригинал написал(а) djfox
а трейс многоколорный можно делать?
а то в больших проектах не красиво, когда все одним цветом :(


Знаешь как. Трейси строчку:
trace("< font size=1 color=#FOFOFO>"+имя переменной+"</font>");

И смотри в хтмл-е!
:D :D :D :rolleyes:

netstuff 31.07.2003 16:22

Цитата:

Player.setNumberOfBugs(0);
а так?

Код:

Player.setNumberOfBugs(getTimer());

TTS 01.08.2003 14:22

Прогресс не стоит на месте.
 
Хватит жаловаться! Прогресс не стоит на месте.
Вот и ММ переходит с мегагерц на гигагерцы, с килобит на мегабиты, и с затырканного веб-дизайнера на группу разработчиков. Флэш становится серьезным средством.
Нам остается только работать, работать, работать... Все равно мы этот паровоз не остановим. Мы только пользуемся благами (благами?) этой чуждой цивилизации, и, надо признать, зачастую нахаляву.
Сегодня заказчик хочет, чтоб под пятерку, вчера хотел, чтоб под четверку, завтра захочет под шестерку, а ведь послезавтра захочет...
Так что нефига плакать, следите за ру... тьфу за прогрессом. И вот вам прогноз: в последующих версиях естественно ожидать поддержку баз данных, управления внутренними настройками сервера и протоколов...

Только вот интересно, придется ли делать по две версии сайтов - до 6 и старше....

CyberMax 01.08.2003 17:53

Re: Прогресс не стоит на месте.
 
Цитата:

Оригинал написал(а) TTS
И вот вам прогноз: в последующих версиях естественно ожидать поддержку баз данных, управления внутренними настройками сервера и протоколов...
Базы данных держатся уже в шестёрке. См. Flash Remoting, Data Connection Kit и иже с ними.

Цитата:

Только вот интересно, придется ли делать по две версии сайтов - до 6 и старше....
Ты что, издеваешся ? Нафиг две версии ? Делай под минимально требуемую. Сейчас же никто две версии под 5 и 6 флэш не делает.

CyberMax 01.08.2003 18:02

Re: Прогресс не стоит на месте.
 
Цитата:

Оригинал написал(а) TTS
И вот вам прогноз: в последующих версиях естественно ожидать поддержку баз данных, управления внутренними настройками сервера и протоколов...
Базы данных держатся уже в шестёрке. См. Flash Remoting, Data Connection Kit и иже с ними.

Цитата:

Только вот интересно, придется ли делать по две версии сайтов - до 6 и старше....
Ты что, издеваешся ? Нафиг две версии ? Делай под минимально требуемую. Сейчас же две версии не делаеш.

Ales 04.08.2003 17:41

Ну вот и бетта плеера вышла.
http://www.macromedia.com/software/f...r/public_beta/

{ШамаН}; 07.08.2003 07:15

НАРОД!!!! ЭТО ЧУДО ПОЯВИТСЯ В НОЯБРЕЕЕ !!!! УРА!!!!


Часовой пояс GMT +4, время: 02:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.