PDA

Просмотр полной версии : Интересно: возможности FLASH


Поющий Птеродактиль
23.06.2006, 16:24
Я полный чайник в технологии Macromedia Flash
пожалуйста, просветите меня о возможностях Flash..

...Существует придуманная не мной связка в виде Client-side приложения на Delphi, выполняющего роль
визарда, заполняя страницы которого, пользователь создает на PHP-сервере мультимедийный Flash-сайт.
(По мере работы визарда, Delphi-приложение через сокеты обменивается XML-данными с PHP-сервером).

особенности Delphi-визарда

GUI интерфейс в виде форм с полями ввода
wav->mp3 encoding,
JPEG image resizing & cropping
обмен с server-side PHP скриптами данными, т.е. отсылка wav & images.
красивый skinnable-интерфейс, наличие его обязательное требование, это одна из причин почему я смотрю на FLASH


в то же время есть и значительные неудобства:

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


Задавая эти вопросы, я
а) выясняю целесообразность замены Delphi-wizard'а на некое решение,
б) выясняю как работают сайты построенные целиком на FLASH, и также например standalone Flash + внешние COM-компоненты.
(я рассматриваю не только Flash - самое разумное сделать обычные HTML-формы, но в данном вопросе я хотел бы узнать именно о Flash)
Всвязи с этим вопросы о возможностях FLASH-технологии:


можно ли динамически конструировать flash-апплет на server-side стороне? Не это ли Flex?
можно ли использовать некие темплейты для дизайна, (какими является в обычной жизни например HTML) но сами данные подкачивать из БД отдельно?
может ли flash коммуницировать с server-side DB?
почему _именно_ требуется middletier в виде PHP?
может ли отдавать данные назад, на сервер?
имеется ли стандартный GUI? Списки, скроллеры, поля ввода, кнопки... Как сложно он проектируется? Программируется?
и самое важное - можно ли из flash script'а использовать мой внешний custom-код (COM-серверы, DLL...)?

etc
23.06.2006, 16:34
1. Нет. Теоретически это возможно, на практике очень сложно.
2. Да.
3. Напрямую - нет. Только через скрипт.
4. Вопрос не понял.
5. Да.
6. Да. Несложно.
7. Нет.

aksios
23.06.2006, 16:53
Хороший у тебя визард. Чесное слово.
1. В принципе да, Flex для этого и нужон - серверная часть правда денежку стоит.
2,3 = __etc
4. В php есть необходимая библиотека для создания swf.
5,6= __etc
7. В чистом виде на прямую - нет.

Поющий Птеродактиль
23.06.2006, 17:01
жаль. 7-й пункт, о возможности вызова внешних DLL (ну или COM-серверов) полностью "убивает"
идею.

Мне нужно рипать CD-звук, энкодить mp3 и работать с jpeg-картинками. Я думал что из FLASH как-то можно работать с COM-объектами windows, также как это можно делать в DHTML.

etc
23.06.2006, 17:03
Никто не мешает написать оболочку для AX-компонента Flash-а и сделать взаимодействие с COM. Только не имеет смысла.

Поющий Птеродактиль
23.06.2006, 17:38
Можно подробнее? о:
"Никто не мешает написать оболочку для AX-компонента Flash-а".. - как доступ к интерфейсам Macromedia Flash player даст мне возможность использовать внутри ActionScript'а COM объекты?

А существует ли возможность использовать из FLASH ActiveX-контролы?

И еще важная деталь. Flash-applet будет запускаться только как standalone, не из browser'а. т.е. использовать Flash-applet как ActiveX Control. Отсюда, вопросы по безопасности не стоят.

В общем, думаю я следущее:
Если использовать Flash, то скорее всего придется программно осуществлять фетчинг данных из полей ввода, формировать XML, отправлять серверным скриптам...
"те же яйца", только немного в профиль что и с Delphi. Много custom-кода и негибко. Остается, видимо, только решение с HTML формами.
Вот бы еще можно было каким-либо макаром оформлять HTML-ный UI так, чтобы все строки вводились в красивые (skinnable) поля ввода, списки, combobox'es.. Все это было scriptable (чем собственно HTML и является) и само постило данные серверным скриптам :)

Nirth
23.06.2006, 17:45
1. можно ли динамически конструировать flash-апплет на server-side стороне? Не это ли Flex?
Да можно, Игорь Агеев делал реалтайм парсер MXML, так же есть различные bean обработчики.
2. можно ли использовать некие темплейты для дизайна, (какими является в обычной жизни например HTML) но сами данные подкачивать из БД отдельно?
Можно.
3. может ли flash коммуницировать с server-side DB?
Да, на уровне HTML, или при наличии более навороченного хостинга, при помощи собственных протоколов.
4. почему _именно_ требуется middletier в виде PHP?
ПХП не обязателен это может быть ASP\CGI\C#\Java\PHP\ColdFusion\C++\OC и вообще любой язык который понимает сервер.
5. может ли отдавать данные назад, на сервер?
да
6. имеется ли стандартный GUI? Списки, скроллеры, поля ввода, кнопки... Как сложно он проектируется? Программируется?
Проектируются легче чем в C++\Java\C#, но их на порядок меньше.
7. и самое важное - можно ли из flash script'а использовать мой внешний custom-код (COM-серверы, DLL...)?
Нужна прослойка ввиде серверного скрипта, который будет осуществлять обмен.

bunker6
23.06.2006, 19:29
Я одного понять не могу. Зачем тут клиент-сервер? К чему эта суета с сокетами и прочей лабудой? Устанавливаем локальное приложение, подкачиваем с сервера темплейты, из них строим сайт, закачиваем на сервер. Или я не понимаю чего-то?

Поющий Птеродактиль
23.06.2006, 22:26
Нужно объяснить в чем дело.

Пара товарищей в виде PHP программиста и некоего Delphi-кодера (судя по всему, очень юного возраста) начали коммерческий проект. Проект они вели аж 5 месяцев. По истечении 5 мес, за отсутсвием каких-либо видимых результатов, от разработчиков освободились.
Ни документации, ничего после себя они не оставили. Кроме PHP и Delphi исходников. На контакт они не идут.
Проект должен в теории из себя представлять следущее:

Dedicated server.
Юзер покупает услугу.
Ему выдается домен + место на сервере + приблуда в виде Delphi application + username + pass.
Он пользуется приблудой, заполняет поля ввода, указывает файлы контента -тексты, mp3, свои фотки в виде jpg и прочее и создает "очень красивый сайт". Пример того что должно получиться - http://bionic.org.ua/work/templates/new4.html
- причем таких сайтов (вместе с приблудами) предполагается сделать много-много, каждый под свою задачу. Для музыкантов, для докторов, итп. Всего штук 10 и более темплейтов.

Мне в данный момент совершенно неясно, почему было выбрано столь дикое решение, как клиент на Delphi + серверные PHP скрипты. Казалось бы, сам бог велел построить всё сугубо на сервере, используя PHP или .NET плюс HTML формы и скрипты. Там где требовались cd-ripper, mp3 encoding и преобразование большх JPG картинок, можно было бы обойтись специально написанными ActiveX-серверами (контролами) поднимаемыми прямо на странице, или даже плагинами для browser'а.

Единственное предположение - разработчики владели только Delphi :)

Я проанализировал исходники всего этого добра и обнаружил что исходный Delphi-код весьма скромный, всего менее 1500 строк рабочего кода (это за все время-то!). Поэтому возникло предложение вразумить товарища ведущего проект и пока не поздно, создать нормальное решение. С моей точки зрения - полностью web-based.

Существуют и "маркетинговые стратегические" требования. ;)
Визард почему-то всенепременно должен быть Windows Executable. Через browser - ну никак. :)
Ладно... Можно сделать встроенный HTML Browser контрол в виде окна никак не напоминающего IE и таким образом, симулировать Windows Application :)
Все это должно обладать красивым Skinnable UI. Для этого они использовали в Delphi SuiSkin (еще к тому же не имея его сорцов).
Ну и наконец, требуется оперировать с картинками, осуществлять Mp3 authoring, итд. итп. - Я пока не в курсе, можно ли посредством HTML+картинки+стили+flash/скрипты создавать очень кастомизированный GUI. Пока выясняю это. Автор, когда я ему предложил решение с HTML поморщился и выдал что html ugly.. - Отсюда я смотрю что может Flash.
Кроме того, визард содержит встроенный чат realtime общения с поддержкой (который тоже был зачем-то запрограммирован на Delphi).

Вопрос насчет CMS - мне совершенно пока еще неясен. Как будет бегать сам готовый сайт - неясно. Похоже что никакой CMS и соответсвенно backend'a не запланировано- только Flash + PHP скрипты, а роль CMS backend'a выполняет этот Delphi application (визард клиента).

так что вот - отсюда прощупывание в том числе и Flash'а и Flex'а и выбор технологии под которой будет работать как визард, так и сами сайты.

Мне нужно хотя бы выполнить эстимацию времени разработки проекта (который по моему скромному мнению было/будет безумием выполнять силами двух девелоперов)...

aksios
23.06.2006, 23:23
Еще раз пачитал, в принципе все это можно и нужно сделать одним флешом с технической частью на ком нибудь дружественном серверном языке - от флеша следует отказаться только по причине низкой производительности, но тут это не актуально. Сайтик на выходе - не весть шо, обычно интерес представляет только правка текста и загрузка графики и звука на худой конец. Все это можно сделать флашем+серверные скрипты. Конвертнуть звук - тоже можно (к самому флешу это правда не относиться - поскольку нужон сервер). Редактить в основной проге юзеру картинки и mp3 - уже перебор - имхо это не его проблема. - Хотя флешом для флеша это сделать можно. Есть еще момент: лично меня плющит от систем работающих только на платформе виндов. В случае с флашем, от этого можно уйти. По поводу исполнимого файла Windows Executable с конектом в инет - проще, чем сделать во флаш, ну я ваще не знаю как. В общем, два продвинутых девелопера - один по флаш/флекс, другой по серверной части - при сильном желании все сделают за недель 5 работы.
Кстати, я бы сюда (https://www.sephiroth.it/) для начала зашел.

Поющий Птеродактиль
24.06.2006, 13:36
За ссылочку спасибо! Great!

Homo Sapiens
24.06.2006, 14:54
Ммм, делать подобное на PHP + Delphi это полный бред.
По поводу "html ugly", значит мало сайтов видел... Очень мало вещей можно сделать исключительно на Flash, и нельзя сделать JS.

Проект такого уровня стоит писать на asp.net 2.0 в формате web-проекта, тогда будет и общедоступность и персонализация и встроенная поддержка тем и многое другое.
Красота пишется на JS, асинхронность поможет сделать Atlas...

А Flash? Сделать можно, но неоправданно сложно и не слишком быстро...

Homo Sapiens
24.06.2006, 14:59
К плюсам такого подхода относится минимальные системные требования у клиента. Ему не надо ничего устанавливать, достаточно просто иметь веб-броузер...

Поющий Птеродактиль
28.06.2006, 10:22
Я полностью разделяю мнение, что это бред. Осталось убедить заказчика.
Для этого мне нужны аргументированно, предметно подтвержденные ссылки и URL сайтов.

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

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

...а также познакомиться бы с конкретными личностями. (в команду понадобится freelance PHP или ASP-программист (при условии что этот проект будет запущен)).
Стукните мне в аську 35 25 35 23. Пообщаемся...

Поющий Птеродактиль
28.06.2006, 10:23
Хорошо бы посмотреть красиво (нестандартно) оформленные WEB-сайты.
Никто не вспомнит, на вскидку?

Homo Sapiens
30.06.2006, 02:31
ASP? ASP - отстой. Или ты имел в виду ASP.NET?