Андроид игры и приложения на HTML+JS+CSS возможно ли?
- Подробности
- Категория: Разработка
- Опубликовано 18.09.2014 08:11
Интересует ли вас можно ли делать приложения и игры для Android на платформе HTML с помощью стилей CSS и вычислений Javascript? Ну раз вы сейчас читаете эти строки, то наверняка вам это интересно. Поехали...
В этом материале вы сможете узнать о том как делать HTML приложения и игры на Андроид, какими инструментами пользоваться. Плюсы и минусы и всё в этом духе.
Во-первых приложения и игры на HTML+CSS+JS очень даже можно делать для Андроида. Главное только захотеть.
Тут можно пользоваться либо готовыми фреймворками для построения игр на Android (+куча других платформ) ну или делать всё ручками. Как становиться понятно первый способ это такой более шаблонный путь с шаблонными настройками и отсутствием полного контроля происходящего. Грубо, дерзко, быстро. Как топором по хлебу. Второй способ лишён этих весьма ощутимых недостатков, но подразумевает потрату большего времени (с нами у вас много времени это не займёт), но финишный продукт будет на ПОРЯДОК качественнее, оптимизированнее и круче. А ведь ради качества всё должно делаться.
Давайте рассмакуем эти два пути.
1. Фрейморк + HTML + CSS + JS
Для того чтобы быстро портировать с HTML в APK игру можно использовать своего рода фрейморк для этого заточенный. Такими являются PhoneGap и IndelXDK. Первый мне к счастью не довелось опробовать, а вот второй к сожалению да.
Какие от этого всего впечатления? Сыро. Плохо. Очень плохо.
На самом деле я не знаю кто использует эти продукты, но они выдают в итоге намного меньшее качество, чем если бы я установил Android SDK и сам всё начал запиливать и разбираться в низкоуровневом устройстве создания APK приложений. Лучше потратить немногим больше времени и игра не будет тормозит будет меньше занимать объём, будет легче её обновлять, связывать с Android функциями и тд.
Как уже говорилось используя фреймворк работа более автоматизирована с первой секунды. И эта автоматизация порождает все минусы:
- Тормознутость. Из-за большого количества навешанных, но неиспользуемых библиотек производительность может весьма опечалить.
- Ограниченность. Вы всё время ограничены в кастомизации настроек вашего приложения. Хотите поставить рекламу? ОГРАНИЧЬТЕСЬ!
- Размер. Конечный APK файл с приложением HelloWord был больше 6Мб (IntelXDK)
Плюс только один
+ Разом на все платформы (Хоть криво и косо)
2. Android SDK + HTML + CSS + JS
Это уже совсем другой расклад. Хоть здесь придётся поработать ручками, зато вы получаете продукт совершенно другого качества. И это факт!
Итак, на чём же выполняется работа?
Для создания и связки проекта HTML с Андроидом используется Android SDK с Eclipse который туда входит. Если вы думаете что нужно быть каким-то JAVA-программистом чтобы делать таким образом приложения или игры - вы ошибаетесь. Достаточно практически копи-пастом определённые отрывки кода скопировать в Android-проект, понять зачем вы это скопировали (это нетрудно, мы объясним) и у вас получится что-то вроде шаблона куда вы потом можете вставлять любые игры и приложения написанные на HTML.
Как выглядит с технического окна весь процесс?
Как же это работает всё может возникнуть вопрос у человека, который задумал неладное создать своё игру на HTML под Android. Давайте разберёмся немного в последовательности действий:
1. Создание проекта в Eclipse (Ниже подробнее)
2. Создание проекта на HTML
3. Всовываем HTML в Android и отлаживаем
4. Экспортируем и подписываем приложение
5. Оптимизируем утилитой zipaling
6. Регистрируемся в Google Play
7. Там же опубликовываем приложение
Вот так делается игра без Android-фреймворков. От А до Я. Мы расписали самым подробным образом как сделать таким способом приложение или игру (фактически шаблон с Android стороны куда вы можете всовывать любой HTML проект попутно настраивая мелкие детали Android шаблона под нужды приложения/игры).
Если вы заинтересовались этой темой, значит вам интересно что поддерживает из HTML-технологий мобильная платформа и насколько успешно? Думаю я угадал, давайте коснёмся этой темы.
Итак, каким фреймворком и технологией делать игру или приложение на HTML?
Canvas
Очень глючен на андроиде любой версии. Мягкости нет никакой. Подёргивается порой даже на разрешении 320x480, не говоря уже о планшетах (с ростом разрешения производительность канваса теряется).
Однако на Canvas как раз делаются игры и есть очень хороший фреймворк под названием
SVG
Несмотря на то что технология поддерживается давно, а SMIL анимация с Android 3.0, нет тоже стабильности в работе. Много почему-то не работает. Ведёт себя порой загадочно. Для анимирования мало подойдёт.
JS
Подерживается всеми версиями андроида и очень на славу используется практически везде.
CSS
Начиная с Android 3.0 поддерживается CSS3 со всеми фичами. Анимация работает очень плавно и хорошо. На данный момент лучше всего анимировать обхекты и что-либо делать основываясь на возможностях CSS.