Flash, Unity3D, HTML5, мобильные платформы, ад и разрушение


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

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

Итак, приступим.

Вводная

Данная статья будет полезна для инди-разработчиков, которые хотят выбрать с чем работать.

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

Особенно сейчас начинает быть интересен Android. Открываются новые фирмы, много где требуются разработчики и т.д. Но компаниям «легко» – они нанимают программистов, которые пишут на нативной платформе. Нужно под Android – будет отдел программистов на Java. Если нужен iOS, то будет отдел тех, кто может программировать на Objective C. Независимым же разработчикам приходится либо отдавать предпочтение какой-то одной платформе либо жертвоваться производительностью, но «покрывать все стадо», либо вообще отложить разработку под мобильные устройства до лучших времен.

Лично я преследую цель – не переучиваться и использовать текущие знания по максимуму. У читателя может быть иное мнение. Но, тем не менее, то, что я опишу дальше, даст некоторое представление о том, чем занимаются люди кругом, какие библиотеки и средства разработки пытаются создать. Даже если читатель будет учить Java или Objective С (не то, что я), то хотя бы ему станет понятно, что за ад и разрушения творятся вокруг.

Пациенты.

Кажется, что iOS и Android это такие Инь и Янь и не надо пытаться думать о кроссплатформенности своих приложений, а писать для каждой платформы отдельно… Но в мире нашлось достаточно «психов», которые своими разработками хотят стать для разработчиков «два и более в одном». У некоторых, внезапно получилось почти достойно, но и не обошлось без тех, кто начал открывать врата ада…

Adobe AIR

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

Версии AIR регулярно обновляются, и каждый раз приложения начинают работать чуточку быстрее. Это конечно хорошо, но сейчас этого не достаточно. Я, как AS3-программист в глубине душе верю, что будет AIR3 и FP11 и все будет летать, струится и наступит счастье и благодать. Но пока ждем до конца осени. Основным минусом AIR является недостаточное количество поддерживаемых устройств. Очень многим девайсам отказано банально из-за процессора. Тем, что минимальная версия Android 2.2 и нужен iPhone 4, в итоге можно и пренебречь.

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

Unity3D

Это самый бодрый пациент. За ним приятно наблюдать. Как он пьет лекарства, бегает по залу с фонариками в причудливо приплясывая… и под такую платформу можно скомпилировать, и под секую – Unity3D компилируется почти под все (засранцы, когда же вы сделаете поддержку Linux?) Демка, которая идет по умолчанию впечатляет. В маркете она идет под названием Angry Bots, но очень легко собрать самому. Если почитать мою прошлую статью про AIR, Box2D и 10 тормозящих квадратиков и кругов, а потом собрать эту демку и запустить ее, то от контраста впечатлений сразу хочется выпить водочки и 10 минут смотреть в небо. Там настоящее 3D, большая карта, освещение, текстуры, все дела. Бывает, что тормозит при скроллинге, но в целом бегает отлично. Сразу хочется программировать под Unity3D и улыбаться, но потом мы возвращаемся с небес на землю – мало того, что надо отдать 400$ за лицензию, так еще и количество поддерживаемых устройств не на много больше, чем у AIR.

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

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

Titanium Mobile (HTML5, JavaScript)

Данный пациент пациент был замечен валяющимся в углу бодро напичканный успокоительным. В карточке пациента было написано, что это чудо платформа использует ядро WebKit встроенное и в Android и iOS и призвана дарить людям блага HTML5 через JavaScript совместно с jQuery. Кроме богатого SDK в собственной IDE обещали гламурную поддержку командной работы, чат, архив приложений и другие вкусные плюшки. Сайт авторов богат красивыми словами о том, что все будет хорошо, что надо буквально записываться в добровольцы и раскручивать брэнд платформы на каждом углу. Мало того, про пациента уже пишут книги, хотя вменяемой версии SDK меньше года… Вот тут как раз стоило насторожиться, но я, заряженный имеющийся информацией и тем, что понаписали в книгах, бросился на амбразуру – стал пытаться что-то скомпилировать из демок на этом чуде.

Как оказалось, когда пациент приходит в себя от успокоительного, он начинает вести себя как капризная малолетняя сука – то одно ему не так, то другое, то версии требуемых либ не те, то не все зависимости оказывается стоят, то просто валятся какие-то ошибки, которые фиг знает как исправить – при чем при переустановке SDK и IDE ошибки могут быть совершенно разные. С каждым разом жар от открывающихся ворот ада был все сильнее. И промчавшись несколько дней с разными версиями Windows и Linux, я не смог скомпилировать абсолютно ничего. После этого пациент был отправлен на процедуры и поспешно забыт, но расстройство и грусть от разбитых надежд, кажется, еще долго будут жить в моем сердце.

Надеюсь, пациента когда-нибудь приведут в чувство и все же выпишут.

PhoneGap (HTML5, JavaScript)

Очередной спокойные пациент, которого даже выписать хочется уже, но все равно как бы еще рано. После Titanium Mobile проект PhoneGap показался каким-то Люком Скайвокером, «надеждой светлой стороны силы бл*ть!» Скромная библиотечка, зато получилось скомпилировать примеры уже через пол часа. Делается небольшое Android-приложение в Eclipse, в отдельную папочку складываются html-файлы, js-скрипты и картинки. Далее в любом html-редакторе мы работаем с этими файлами, словно делаем обычное HTML5-приложение для браузера. Есть и API, чтобы достучаться до функций телефона. Хотя функций там маловато, но зато есть такие возможности, которых нет у Adobe AIR. Да и пойдет этот креатив везде.

Из минусов пациента можно выделить не особо насыщенный API, а так же производительность. Пациент проходил испытание системами частиц и Box2D. Результаты, конечно лучше, чем у Adobe AIR. Но вот физических игр пока на этой платформе лучше не делать – все еще далеко до идеала. Не получится сделать игру подобную Angy Birds (которая тоже написана с использованием Box2D), так, чтобы не тормозило.

Вердикт

Flash, увы, покуривает в сторонке и ждет обновления и чуда. Unity3D хорошая штука, но мне она банально не подходит из-за задач, но другим запросто может приглянуться – программировать обучиться легко, большое комьюнити, но надо быть «богатым». На мобильных устройствах HTML5 чувствует себя лучше, чем Flash – идет везде из-за WebKit (чуть ли не единственная связь Android и iOS). По производительности так же выигрывает, пусть и не с большим отрывом. Правда придется ограничить для себя круг задач. Аркаду можно сделать, но с трудом, физическую игру делать я не рискну, с кучей эффектов, тоже. А вот социальные игры делать можно в полный рост. Осталось только попробовать испытать PhoneGap изометрическим движком и все станет яснее. Библиотек подобных PhoneGap и Titanium на самом деле мого. Но все они примерно одинаковые, так как JavaScript и в африке JavaScript.

Лично я отдал предпочтение PhoneGap, хотя свято верю в чудо для Flash. Время покажет, ну а пока мы имеем вот такой вот обезьянник.

Похожие записи:


7 Responses to Flash, Unity3D, HTML5, мобильные платформы, ад и разрушение

  1. Дмитрий Reply

    Джяваскрипт язык будущего!


  2. Олегий Reply

    Я за джяваскрипт, я за будущее!


  3. jenya Reply

    Хорошая статья. Спасибо!


  4. Дмитрий Reply

    Ищем phonegap разработчика
    Пишите на


  5. scythian Reply

    я просто оставлю это здесь…
    [ссылка]


  6. St.Pashik Reply

    А я всё таки верю в AIR и Flash. Так что выкладывай оставшиеся статьи. Очень интересно почитать продолжение.


    • ekeeper Reply

      Я сейчас пытаюсь запустить приложения на Starling под Android и если это будет работать быстро – будет просто прекрасно – напишу статьи – так как это уже актуальнее – делать на AIR 3.1 со stage3D. Осталось одно – чтобы заработало.

      А вообще я обратно перелез на Web стандартный и ковыряюсь в Starling – скоро напишу о нем и буду вести дневники разработчиков одного проекта.

Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">