PDA

Просмотр полной версии : возможности языка as 3.0 и что нужно учить еще


Dr_Bra
25.02.2011, 17:40
Всем привет-привет!
Сосвем недавно стал разрабатывать приложение под iPhone, много пришлось оптимизировать, но результат есть.
Так вот, дошел до того момента, когда нужен совет товарищей. Скажите, можно ли только с помощью as 3.0 создавать на сервере XML файлы, например для того чтобы регистрировать игроков и сохранять их счет игры?

Bgg
25.02.2011, 17:47
Нельзя.

Psycho Tiger
25.02.2011, 17:53
Вместе с AIR можно =)
IPhone тянет AIR?

Dr_Bra
25.02.2011, 17:58
тянет (http://help.adobe.com/ru_RU/as3/iphone/WS789ea67d3e73a8b2-240138de1243a7725e7-8000.html)
судя по заголовку )

Psycho Tiger
25.02.2011, 18:06
Аха, ну вот и ответ. Значит, можно =)

shootkin
25.02.2011, 18:12
Интересно как это клиентское AIR-приложение на айфоне будет писать хмл на сервере?

Psycho Tiger
25.02.2011, 18:17
Кстати да, опешили. Подумал, речь о сохранении XML на клиенте.
В общем, всё же:
1) Да, на AIR можно написать сервер (но если Вы всерьез будете его на нём делать - сочувствую)
2) Да, на чистом AS3 можно сконнектится с сервером, где он любезно создаст XML файл по запросу.

Dr_Bra
25.02.2011, 18:21
А что лучше использовать для создания сервера в тандеме с as3? Скорее все это какой-нибудь PHP, а может и нет.. Вот нужен совет, ближайшее время хочу делать приложения для iOS.

wvxvw
25.02.2011, 18:51
Интересно как это клиентское AIR-приложение на айфоне будет писать хмл на сервере?

Можно по ftp послать, например. Но лучше так не делать. Если вам нужно писать серверную часть - есть много хороших серверных языков. У каждого из них есть свои недостатики (которых, как правило, больше чем достоинств, но других-то нет...) :)
Как правило, выбор языка определяется возможностями разработчиков или возможностями (арендованого) сервера, реже - какими-то специфическими требованиями (например, хочется и клиента и сервер писать на одном языке). И практически никогда язык не выбирают потому, что он лучше справляется с какой-то задачей.
Элементарно создание файлов на сервере можно решить с использованием любого скриптoвого языка запущенного через cgi. Технически, это может быть даже AS3, если вы напишите программу на нем, которую сервер будет вызывать используя этот интерфейс. Но вы будете первым, кто это сделал :) Т.е. если нужно выполнить какую-то совсем минималистичную работу, то, bash или sh очень бы даже подошли - ну а дальше - нет предела чего можно наворотить :)

Dr_Bra
25.02.2011, 19:00
спасибо

goodguy
25.02.2011, 19:15
Ну а какой смысл заморачиваться, когда для такого простого задания можно создать простую базу данных, такой же простой пхп скрипт, который отлично с этим справится. Если уж безопасность роли не играет, то написать такое можно очень быстро

Dr_Bra
25.02.2011, 19:25
вот и я думаю попробовать сделать это с помощью PHP

Добавлено через 42 минуты
Посоветуйте учебник или пособие по PHP .. кто, что читал?

Psycho Tiger
25.02.2011, 21:12
Пхп простой очень. Любой самоучитель чтобы получить старт. Для реализации такой штуки хватит первых страниц 40.

wvxvw
26.02.2011, 00:07
Если вы собираетесь только учить - не начинайте с плохого. Возьмитесь, ну, хотя бы за Пайтон или какой-нибудь Колдфьюжн / JSP. Не то, что бы они прям такие замечательные были, но это по крайней мере языки с намеком на логику и структуру. PHP никогда не задумывался для того, для чего его принято использовать сегодня. А используется так потому, что на начальном этапе он очень простой и не требовательный к ошибкам программиста. На сегодняшний день PHP в несколько тупиковой ситуации, примерно как AS был в версии 2 - куча разрозненных устаревших функций, не понятно почему и как собраных вместе. Скорее всего следующая версия, если и когда будет, вычистит очень много мусора из него, да и вообще, скорее всего очень изменит язык. Учится сейчас на PHP - это набираться плохих привычек и неправильного подхода к делу.

Gaen
26.02.2011, 00:51
Элементарно создание файлов на сервере можно решить с использованием любого скриптoвого языка запущенного через cgi. Технически, это может быть даже AS3, если вы напишите программу на нем, которую сервер будет вызывать используя этот интерфейс.

Экий вы, батенька, ценитель тонких извращений :) Как минимум еще понадобится cgi-обертка для флешплеера.

wvxvw
26.02.2011, 01:06
По непроверенным данным (которые вроде у всех есть, но не понятно откуда) существует "безголовая" версия флеш плеера (которую скорее всего используют поисковики типа Гугла). И технически, ее можно было бы использовать для таких целей (скорее всего даже как-нибудь так и используют). Но да, извращение :) Но я никогда не говорил, что это тру путь, более того, это совсем не тру путь, и ничего хорошего в итоге не получится :)
Кстати, я пробовал написать оболочку чтобы запускать AS3 таким образом (положить какой-нибудь cgi скрипт в, например, /usr/bin и из него запускать mxmlc, а за ним fdb с уже готовой флешкой, или просто firefox + tail -f $HOME/.macromedia/Log/flashlog.txt :) единственная проблема с передачей путей и относительными загрузками, но в принципе решаемо :) Для тестирования очень даже удобная фишка была бы.

alexcon314
26.02.2011, 09:23
Кстати, я пробовал написать оболочку чтобы запускать AS3 таким образом (положить какой-нибудь cgi скрипт в, например, /usr/bin и из него запускать mxmlc, а за ним fdb с уже готовой флешкой, или просто firefox + tail -f $HOME/.macromedia/Log/flashlog.txt единственная проблема с передачей путей и относительными загрузками, но в принципе решаемо Для тестирования очень даже удобная фишка была бы.
Для тестирования чего?:)

wvxvw
26.02.2011, 12:50
AS3 кода. В FD написать по быстрому тест - секундное дело, а в FB - долго. Поэтому иногда если просто хочется проверить как что работает -
#!/usr/bin/mxmlc-launcher --function
function foo():void { trace("bar"); }
А mxmlc-launcher возьмет заготовку класса, добавит туда функцию (из этого файла), скомпилирует и запустит в отладчике.
Или, другой вариант, писать автоматические тесты, где использовать какой-нибудь другой язык для генерации AS кода, тут же его компилировать и смотреть, что получается. Например есть класс, у которого есть 10 методов и их нужно попробовать вызвать во всех возможных комбинациях / последовательностях. Или тесты взаимодействия с JS и тому подобные.

goodguy
26.02.2011, 13:20
Учится сейчас на PHP - это набираться плохих привычек и неправильного подхода к делу.

У разных людей на этот счет разные мнения. Не такой уж он и простой, да и не такой уж плохой.

TanaTiX
26.02.2011, 16:20
У разных людей на этот счет разные мнения. Не такой уж он и простой, да и не такой уж плохой.
Пожалуй соглашусь с wvxvw
Надеюсь топикстартер не будет против небольшого офтопа.
wvxvw, как я могу судить из сказанного, вы считаете что для написания серверной части как правило используются не подходящие решения (тот же php). Интересно было бы услышать наиболее "подходящий" инсtrueмент для решения подобного рода задач различной сложности.
У каждого из них есть свои недостатики (которых, как правило, больше чем достоинств, но других-то нет...)
Хотелось бы узнать какие недостатки есть, скажем у Java и C#.

Котяра
26.02.2011, 16:53
php - зло, как и javaScript. Но к сожалению на них написано 90% веба.
java -требовательный к серверу. дорог специалистами.
с# - ещё более требователен к серверу. не кроссплатформенный. ещё более дорог специалистами.
Вообще сервер надо писать на c/c++. )))))
Поищите на форуме - тема серверных языков поднималась неоднократно.

TanaTiX
26.02.2011, 17:16
требователен к серверу
дорог специалистами
Можно расшифровать эти 2 фразы?

Котяра
26.02.2011, 18:31
"Требователен к серверу" - не на каждом сервере можно запустить java машину. В отличии от пыхи.
"Дорог специалистами" - java программисты стоят дороже и их сложнее найти, в отличии от пыхарей, коих вагон и малая тележка.

wvxvw
26.02.2011, 18:46
Java - рантайм долго загружается. И непосредственно только на Java практически не пишут, это как правило какой-то фреймворк типа J2EE / Spring и т.д. А это значит, что для простой задачи записи файла будет использовано ну неоправдано много ресурсов. Это начинает быть оправданым когда нужно построить что-то вроде банковской системы и т.п.
C# - примерно так же, только большинство продуктов для него или на нем написанные - платные.
C++ - непосвященным на нем лучше не писать. Чтобы стать посвященным нужно на нем писать как минимум 10 лет.
Perl - нереально сложный для восприятия язык. Кроме того - интерпретируемый, что значит определенные неудобства в плане безопасности.
Python - какое-то время был очень похож на PHP сейчас. Но его немного "облагородили" и систематизировали. Но это интерпретируемый язык со всеми вытекающими... (утиная типизация например, это еще хуже чем в JavaScript - минное поле наполненное приятными неожидонастями).
Ruby - примерно та же идеология, как и у Python, но синтаксис более странный.
ColdFusion - я еще не видел человека, который бы на нем писал. Язык выглядит как XML... JSP - примерно то же самое, только синтаксис другой. Оба на самом деле базируются на Java, хотя зачем на них писать, если уже есть Java - не понятно.
Haskell, Erlang, Lisp (и разновидности) и еще много-много разных других эзотерических языков, которые могут быть по-своему хорожими, но, как правило все упирается в отсутствие нужных библиотек, невозможность найти хоть какую-то документацию и т.д.
Можно работать через CGI интерфейс (великое множество языков, самые популярные из них, наверное bash и sh). Но это для ситуаций, когда сервер не (совсем) предназначен для показа HTML страниц. Как правило это для обслуживания каких-то корпоративных нужд типа отправить кучу файлов из одного офиса в другой, провести плановую архивацию базы данных, и т.п.
Так что наверное Java... потому что все "флагманы" рынка на ней пишут (кроме Майкрософт, естесственно). Но тут тоже ситуация такая... ее рекламируют потому, что на ней работают, а работают на ней потому, что проще найти специалистов, а специалистов проще найти потому, что рекламируют много.

Котяра
26.02.2011, 19:38
Я бы не сказал, что яверов много. Искали вменяемого спеца на проект больше 3 месяцев.
А с++ не так страшен как его малюют. Особенно если использовать qt.

etc
26.02.2011, 20:50
И непосредственно только на Java практически не пишут

Походу я уникален :D

Psycho Tiger
26.02.2011, 21:14
Походу я уникален :D
Ты бросил флеш? )

etc
26.02.2011, 21:22
Ты бросил флеш? )

Нет, просто сейчас не до него.

Jewelz
26.02.2011, 22:01
флеш может обидеться

alatar
27.02.2011, 02:52
ColdFusion - я еще не видел человека, который бы на нем писал.
Вот посмотрите http://injun.ru/ :)

alexcon314
28.02.2011, 12:36
AS3 кода. В FD написать по быстрому тест - секундное дело, а в FB - долго. Поэтому иногда если просто хочется проверить как что работает -
Код:
#!/usr/bin/mxmlc-launcher --function
function foo():void { trace("bar"); }
А mxmlc-launcher возьмет заготовку класса, добавит туда функцию (из этого файла), скомпилирует и запустит в отладчике.
Или, другой вариант, писать автоматические тесты, где использовать какой-нибудь другой язык для генерации AS кода, тут же его компилировать и смотреть, что получается. Например есть класс, у которого есть 10 методов и их нужно попробовать вызвать во всех возможных комбинациях / последовательностях. Или тесты взаимодействия с JS и тому подобные.
Долго курил... я не представляю, как это вообще может жить в одной голове.
C++ - непосвященным на нем лучше не писать. Чтобы стать посвященным нужно на нем писать как минимум 10 лет
Непосвященный - в твоих устах звучит очень пугающе. Хочется аж перекреститься..уу-уу.
Хорош пугать молодежь!!!

temofony
01.03.2011, 03:44
а почему бы вам не сохранять счет игроков,ники и т.п в мускул-базу(с пом. PHP)?

Dr_Bra
01.03.2011, 12:11
а почему бы вам не сохранять счет игроков,ники и т.п в мускул-базу(с пом. PHP)?
не совсем понял термины ), может – это и есть самый лучший вариан, просто я не знаю PHP и сейчас разбираюсь, какой бы путь выбрать с наименьшим сопротивлением