Содержание:
Вы захотели разрабатывать приложения под Android? Отлично. Но с чего начать? Какой язык учить? По каким источникам? И где применять полученные базовые навыки? Наша статья поможет получить ответы на эти вопросы.
С каждым языком и фреймворком связаны свои сложности и нюансы, достоинства и недостатки. Рассмотрим основные языки для написания .
Официальный язык программирования, поддерживаемый средой разработки Android Studio. По данным ежегодного опроса ресурса Stackoverflow, в 2019 году Java вошёл в пятёрку самых популярных языков программирования. Большая часть приложений для Android, созданных в компании Лайв Тайпинг до 2019 года, написаны на Java.
Сделать первый шаг к освоению Java — это установить Android Studio. Это тип программного обеспечения под названием IDE — Integrated Development Environment, или встроенная среда разработки. В комплекте с Android Studio идёт Android SDK — набор инструментов для разработки под Android и всё, что нужно для надёжного старта.
На Java ссылается большинство официальной документации Google, а найти платные и бесплатные библиотеки и руководства не составит труда — их великое множество.
Большая часть приложений для Android, созданных в компании Live Typing до 2019 года, написаны на Java. Это позволило нам реализовать самые разнообразные проекты, используя возможности системы Android в полном объёме. Сейчас владение языком Java позволяет работать с имеющимся исходным кодом проектов, пришедших в Лайв Тайпинг на поддержку, но в последствии мы готовы перевести их на Kotlin, речь о котором пойдёт ниже. Если ваше Android-приложение написано на Java и нуждается в команде поддержки, оставьте нам заявку.
К сожалению, сложность Java мешает программировать на нём всем желающим. Как у языка программирования у него куча особенностей в виде конструкторов классов, исключений, приводящих к падению приложений во время работы и других моментов, которые всегда необходимо учитывать при разработке. Впрочем, код на Java легко читается и структурируется, особенно при соблюдении принятых стандартов его оформления.
При разработке на Java под Android используются не только , содержащие код, но также файлы манифеста на языке XML, предоставляющие системе основную информацию о программе, и системы автоматической сборки Gradle, Maven или Ant, команды в которых пишутся на языках Groovy, POM и XML соответственно; по умолчанию в проектах используется Gradle, а на начальных этапах обучения разработке на Java править файлы, написанные на Groovy, практически не придётся. Для вёрстки обычно также используется язык XML.
Android Studio, в декабре 2014 года признанная Google официальной средой разработки под ОС Android, совершенствуется год от года, чем облегчает жизнь . Такие её возможности, как визуальный и автодополнение кода, помогают сделать процесс разработки более комфортным.
Тем, кто готов к полному погружению в , Java рекомендуется в первую очередь. Однако если вы почуствуете сложности специфики языка, то начните с попроще и возвращайтесь, когда почувствуете уверенность.
Kotlin
Язык был официально представлен в мае 2017 года на Google I/O. Уже в 2019 году Google признали его предпочтительным для , отодвинув Java на второй план. Это в том числе значит, что создание новых стандартных инструментов (библиотек, функций Android Studio) будет в первую очередь нацелено на Kotlin.
С 2019 года Лайв Тайпинг пишут исключительно на Kotlin. Такие проекты, как Кинологик, Лояка, LIME, Юрист в Кармане, Kaspersky Security Pulse, Superbro и Мой Доктор написаны на этом языке, а Sephora и ИЛЬ ДЕ БОТЭ постепенно переводятся на него.
Kotlin включил в себя лучшее из современных языков программирования, таких как Java, Scala, TypeScript. Среди основных преимуществ — автоматическое выявление типов данных, поддержка функциональной парадигмы, . В то же время язык получил защиту от ряда масштабных проблем, например, «ошибки на миллиард», или NullPointerException. Всё это объясняет его популярность — по данным опроса StackOverflow 2019 года Kotlin вошёл в пятёрку самых любимых сообществом языков.
Основой для Kotlin является Java, поэтому переход для бывалых разработчиков облегчён. Если же Java вам незнакома, советуем сначала поработать с ней. Крупные проекты с большим количеством legacy кода, скорее всего, написаны на Java. То есть в коммерческой разработке могут возникнуть задачи, где знание Java будет обязательно.
Более низкоуровневые языки, которые также поддерживаются Android Studio с использованием Java NDK. Это позволяет писать нативные приложения, что может пригодиться для создания игр или других ресурсоёмких программ. Android Studio предлагает поддержку C/ через Android NDK (Native Development Kit). Это значит, что код будет запускаться не через Java Virtual Machine, а непосредственно через девайс, что даст вам больше контроля над такими элементами системы, как память, сенсоры, жесты , а также возможность выжать из максимум ресурсов. Это также означает, что пользоваться вам придётся библиотеками, написанными на C или .
В свою очередь, он сложен в настройке и не слишком удобен, поэтому рекомендуется использовать его для написания только тех модулей программы, где необходимо быстро производить сложные операции: обработку и рендеринг графики, видео и сложных .
Python
Тот факт, что Android не поддерживает использование Python для создания нативных приложений, ещё не означает, что это невозможно. Любители этого языка разработали множество инструментов, позволяющих скомпилировать код на Python в требуемое состояние, а наличие различных библиотек позволит строить даже нативные интерфейсы с соблюдением гайдлайнов Material Design. Самым популярным фреймворком является Kivy, который позволит вам создать приложение для Play Market на чистом Python.
BASIC
Благодаря своей простоте и дружелюбности BASIC является оптимальной точкой входа для начинающих программистов.
Плохая новость: он не поддерживается Android Studio и не подходит для сред Unity и Xamarin. Хорошая новость: для BASIC есть специальная среда разработки B4A, в которой можно создавать . B4A воплощает концепцию визуального прототипирования RAD, которая подразумевает быстроту и удобство программирования. Здесь много удобных мелких дизайнерских решений, а отзывчивое сообщество поможет с любой проблемой.
Свой минус вносит и то, что ресурсоёмкие игры на BASIC не создать и на поддержку от Google в силу неофициального статуса ПО рассчитывать не стоит. Это значит, что приложения не будут соответствовать Material Design, а вы со знанием одного лишь BASIC не можете расцениваться как профессиональный разработчик. И среди всего списка языков и сред в этой статье, этот — единственный платный.
Lua (с использованием Corona SDK)
Баланс между простотой изучения и чувством контроля со стороны разработчика. На языке Lua основан кроссплатформенный графический движок Corona. LUA значительно проще Java, а Corona SDK сделает работу с этим языком лёгкой и приятной. Он поддерживает все нативные библиотеки, позволяя тем самым писать под множество платформ.
Чтобы писать код, вам понадобится Notepad++, а чтобы его запустить без предварительной компиляции, нужен эмулятор. Если APK собран и программа готова к развёртыванию, то запустить приложение можно через . С базовыми навыками программирования осилить через Corona можно без особых трудностей.
Без ограничений не обошлось, и ограничений таких, которые делают невозможным разрабатывать серьёзные вещи и утвердиться в статусе профессионала. Если в приложении вам нужна функциональность вроде внутренних покупок, то за возможность её разработать придётся платить, как и за использование нативного Android API.
PhoneGap
Если вам уже известно о вообще и HTML, CSS и JavaScript в частности, то эти знания пригодятся вам для создания элементарных кроссплатформенных приложений с помощью фреймворка PhoneGap. Это последний в нашем списке, но далеко не последний по значимости, способ покорить .
PhoneGap, по сути, позволяет разрабатывать силами . Ваше приложение будет отображаться через WebView, но как бы в обёртке мобильного приложения. Для разработчиков PhoneGap — это вроде моста для доступа к нативным функциям смартфона или планшета вроде акселерометра или камеры. Чтобы лучше в этом разбираться, читайте нашу недавнюю статью об отличии кроссплатформенной разработки от нативной, PhoneGap и других инструментах и платформах.
Основными причинами использовать PhoneGap для разработки приложений в компании Live Typing были:
- сокращение сроков и стоимости разработки приложения для нескольких платформ сразу (приложение для получения абонемента в спортивные заведения города Classboom);
- возможность использовать уже имеющийся сайт клиента и его фрагменты (приложение для оплаты услуг и ВсеПлатежи).
Заключение
В целом, приложения под Android можно создать практически на любом популярном языке — фреймворки и утилиты найдутся под всё. Однако если вы хотите стать профессиональным , использовать все возможности операционной системы и иметь доступ к самым новым функциям Android, то вашими верными спутниками станут Java или Kotlin. Даже если эти языки вам не знакомы и кажутся сложными, их стоит изучить, чтобы писать разнообразные, красивые и функциональные приложения для операционной системы Android.
А начать знакомиться с теоретической стороной нужно с нашей статьи, в которой мы собрали весь минимум знаний и источников информации для начинающих разработчиков.
А если вы решили создать мобильное приложение, но не знаете, с какой платформы начать, то начните с Android. Количество скачиваний Android приложений на 65% выше, чем на iOS, а дизайн и проектирование Android-приложений обходятся дешевле. Ищете надёжную студию мобильной разработки? Оставьте заявку, и мы с вами свяжемся.
Поэтому давайте сразу перейдем к делу и кратко ответим на самый простой вопрос по теме: «Какие бывают виды мобильных приложений?»:
Веб-приложения. Иначе говоря, мобильные версии сайтов, запускаемые напрямую через браузер вашего устройства. Здесь царят те же законы, часто ограничен функционал, часто трудятся те же самые разработчики, что и над полноценными версиями.
Нативные приложения. Здесь речь идет о приложениях, разработанных под «родную» платформу, то есть Android, iOS или Windows. Они загружаются напрямую из местного магазина, оптимизированы с точки зрения взаимодействия с системой, расхода батареи и полноценного использования возможностей устройства.
Гибридные приложения. В данном пункте есть некоторое расхождение во мнениях: кто-то считает гибридные приложения веб-сайтами, разрабатываемыми по универсальной схеме для десктопов и мобильных устройств. Яркими примерами являются страницы Google или Amazon. Но в данном тексте будем придерживаться несколько другой версии, при этом не исключающей первую: гибридные приложения — это некий компромисс между веб-приложениями и нативными, то есть загружаемые из магазина, имеющие оболочку, написанную на платформенном языке, но имеющие в той или иной степени веб-функционал.
Приложения-эксперименты. Это когда разработчик просто хотел реализовать свою задумку, плевав на правила и целевую аудиторию. Популярностью такие приложения по понятным причинам не пользуются, потому в стандартные классификации обычно не включаются.
Приняв это деление за основу, перейдём непосредственно к языкам.
Веб-приложения
Откровенно говоря, если вы только начинаете свой путь в мобильную разработку, то веб-приложения — прекрасный выбор. Во-первых, с точки зрения языков, вам здесь вполне хватит «больших» HTML5 и JavaScript. Выучить их придётся на хорошем уровне, чтобы пробелы в образовании не приводили к серьёзным багам. Но в остальном даже с точки зрения литературы вполне хватит прочтения двух книг: «Основы разработки веб-приложений» или «HTML5. Разработка приложений для мобильных устройств».
Во-вторых, вам не надо придерживаться никаких норм по платформам и устройствам. Всё что от вас требуется — запихнуть большой сайт в маленькую красивую оболочку. Полученных знаний о языках и более-менее здравого представления о работе подобных приложений на мобильных устройствах хватит для плодотворной работы.
Правда минус такой специализации очевиден — приготовьтесь к тому, что большие деньги на веб-приложениях вы заработаете только имея большое количество заказов от проверенных клиентов и, как следствие, мало свободного времени. И конечно запросы от этих самых клиентов будут самые невероятные.
Нативные приложения
Когда речь заходит о разработки мобильных приложений, все в первую очередь думают именно об их нативном виде. Сразу вспоминается приверженность платформ своим языкам, требования к оформлению и внешнему виду приложения, чтобы оно было загружено в официальный магазин, и примеры того, как делать не надо, хотя формально всем требованиям такое приложение соответствует. С точки зрения погружения в профессию и требований к исполнителю это уже продвинутый уровень.
Базовые языки для iOS — ObjectiveC и Swift. Если вы никогда не сталкивались с первым, то я просто не вижу доводов для его изучения в качестве первого языка. Всё дело в том, что Swift создавался с целью закрыть все недостатки ObjectiveC и не отвергнуть уже состоявшихся разработчиков. В итоге, на сегодняшний день это один из самых прогрессирующих языков, как с точки зрения популярности, так и качественного развития. Для изучения предмета с нуля прекрасно подойдёт книга «Swift. Основы разработки приложений под iOS» или интенсив «Основы языка Swift».
В Android-е вам придётся поработать с Java. Сколько бы там не прошло судов, призывающих Android признать нелегальное использование этого языка, сколько бы не было угроз о принципиальной смене курса, стоит признать, что сотрудничество с Java не утратило своей актуальности. В качестве литературы советую «Android 4. Программирование приложений для планшетных компьютеров и смартфонов». Книга не самая свежая, но новичку больше информации и не надо. Про бесплатный курс «Android. Быстрый старт» от GeekBrains тоже не забывайте.
Ну а платформа Windows проповедует язык С#. С точки зрения разработки именно нативных приложений для WP, ценность изучения C# сомнительна, так как рынок необычайно мал. Но во-первых, C#, как любой популярный язык, всё же помогает создавать достойные кроссплатформенные приложения, например на Xamarin, а во-вторых перспективы роста от мобильных устройств к десктопным — тоже неплохая мотивация. Для вводного начала хватит курса «C#. Быстрый старт».
Кстати, о кроссплатформенности. Большинство по-настоящему крутых нативных приложений не создаётся с использованием только одного языка программирования. В простейшем случае имеет место быть компилирование исходного кода в требуемый, а уже на месте «допиливаются» возможности родной платформы. Но в этом есть определённые сложности, связанные с избыточностью выходного кода и появлением плавающих ошибок, да и с точки зрения вхождения в профессию такого рода рассуждения пользы не принесут.
Уровень знания языков напрямую зависит от сложности желаемого приложения. Помимо указанных в тексте курсов GeekBrains по некоторым языкам, вы можете посетить и другие, например, по созданию конкретных приложений. А дальше, если подобное направление завлечёт, уже сами подберёте удобный только для вас путь развития.
Гибридные приложения
Несмотря на все кажущиеся преимущества данного вида приложений, подводных камней здесь тоже немало. Но касательно сегодняшней темы расскажем о приятном. Языки вы можете использовать любые, в зависимости от того, что у вас за приложение. В простейшем случае, для создания интерфейсной части вы используете нативную часть (Swift, Java, C# и т. д.), а внутренности создаются на HTML5, JS, да и вообще на чем угодно. То есть для того, чтобы перейти на другую платформу, вам придётся потратить куда меньше времени, чем при создании стандартного нативного приложения. В помощь вам специальные фреймворки. вроде PhoneGap или Eclipse. Опять-таки компиляция из любого другого места, в случае чего, поможет.
С точки зрения адаптации под требования платформ тоже никаких проблем. Сделаете кнопку «назад» для iOS, будет она и на Android, пусть даже там она никому не нужна. Просто стандарты здесь совсем другие. Создание гибридного приложения делает акцент именно на идее, остальное — вторично.
Минусы же очевидны — сниженное по сравнению с нативными приложениями быстродействие, меньше возможностей для взаимодействия с устройствами, больше вероятность появления ошибок.
Впрочем, к выбору языка это не имеет никакого отношения, а кажется именно за этим мы здесь собрались.
Во второй части тяжкого выбора первого языка программирования мы затронем тему разработки мобильных приложений. Данное направление ещё не достигло пика своего популярности, да и вообразить тот момент, когда все мы станем менее зависимы от подручных гаджетов, пока представить невозможно.
Поэтому давайте сразу перейдем к делу и кратко ответим на самый простой вопрос по теме: «Какие бывают виды мобильных приложений?»:
Веб-приложения. Иначе говоря, мобильные версии сайтов, запускаемые напрямую через браузер вашего устройства. Здесь царят те же законы, часто ограничен функционал, часто трудятся те же самые разработчики, что и над полноценными версиями.
Нативные приложения. Здесь речь идет о приложениях, разработанных под «родную» платформу, то есть Android, iOS или Windows. Они загружаются напрямую из местного магазина, оптимизированы с точки зрения взаимодействия с системой, расхода батареи и полноценного использования возможностей устройства.
Гибридные приложения. В данном пункте есть некоторое расхождение во мнениях: кто-то считает гибридные приложения веб-сайтами, разрабатываемыми по универсальной схеме для десктопов и мобильных устройств. Яркими примерами являются страницы Google или Amazon. Но в данном тексте будем придерживаться несколько другой версии, при этом не исключающей первую: гибридные приложения — это некий компромисс между веб-приложениями и нативными, то есть загружаемые из магазина, имеющие оболочку, написанную на платформенном языке, но имеющие в той или иной степени веб-функционал.
Приложения-эксперименты. Это когда разработчик просто хотел реализовать свою задумку, плевав на правила и целевую аудиторию. Популярностью такие приложения по понятным причинам не пользуются, потому в стандартные классификации обычно не включаются.
Приняв это деление за основу, перейдём непосредственно к языкам.
Веб-приложения
Откровенно говоря, если вы только начинаете свой путь в мобильную разработку, то веб-приложения — прекрасный выбор. Во-первых, с точки зрения языков, вам здесь вполне хватит «больших» HTML5 и JavaScript. Выучить их придётся на хорошем уровне, чтобы пробелы в образовании не приводили к серьёзным багам. Но в остальном даже с точки зрения литературы вполне хватит прочтения двух книг: «Основы разработки веб-приложений» или «HTML5. Разработка приложений для мобильных устройств».
Во-вторых, вам не надо придерживаться никаких норм по платформам и устройствам. Всё что от вас требуется — запихнуть большой сайт в маленькую красивую оболочку. Полученных знаний о языках и более-менее здравого представления о работе подобных приложений на мобильных устройствах хватит для плодотворной работы.
Правда минус такой специализации очевиден — приготовьтесь к тому, что большие деньги на веб-приложениях вы заработаете только имея большое количество заказов от проверенных клиентов и, как следствие, мало свободного времени. И конечно запросы от этих самых клиентов будут самые невероятные.
Нативные приложения
Когда речь заходит о разработки мобильных приложений, все в первую очередь думают именно об их нативном виде. Сразу вспоминается приверженность платформ своим языкам, требования к оформлению и внешнему виду приложения, чтобы оно было загружено в официальный магазин, и примеры того, как делать не надо, хотя формально всем требованиям такое приложение соответствует. С точки зрения погружения в профессию и требований к исполнителю это уже продвинутый уровень.
Базовые языки для iOS — ObjectiveC и Swift. Если вы никогда не сталкивались с первым, то я просто не вижу доводов для его изучения в качестве первого языка. Всё дело в том, что Swift создавался с целью закрыть все недостатки ObjectiveC и не отвергнуть уже состоявшихся разработчиков. В итоге, на сегодняшний день это один из самых прогрессирующих языков, как с точки зрения популярности, так и качественного развития. Для изучения предмета с нуля прекрасно подойдёт книга «Swift. Основы разработки приложений под iOS» или интенсив «Основы языка Swift».
В Android-е вам придётся поработать с Java. Сколько бы там не прошло судов, призывающих Android признать нелегальное использование этого языка, сколько бы не было угроз о принципиальной смене курса, стоит признать, что сотрудничество с Java не утратило своей актуальности. В качестве литературы советую «Android 4. Программирование приложений для планшетных компьютеров и смартфонов». Книга не самая свежая, но новичку больше информации и не надо. Про бесплатный курс «Android. Быстрый старт» от GeekBrains тоже не забывайте.
Ну а платформа Windows проповедует язык С#. С точки зрения разработки именно нативных приложений для WP, ценность изучения C# сомнительна, так как рынок необычайно мал. Но во-первых, C#, как любой популярный язык, всё же помогает создавать достойные кроссплатформенные приложения, например на Xamarin, а во-вторых перспективы роста от мобильных устройств к десктопным — тоже неплохая мотивация. Для вводного начала хватит курса «C#. Быстрый старт».
Кстати, о кроссплатформенности. Большинство по-настоящему крутых нативных приложений не создаётся с использованием только одного языка программирования. В простейшем случае имеет место быть компилирование исходного кода в требуемый, а уже на месте «допиливаются» возможности родной платформы. Но в этом есть определённые сложности, связанные с избыточностью выходного кода и появлением плавающих ошибок, да и с точки зрения вхождения в профессию такого рода рассуждения пользы не принесут.
Уровень знания языков напрямую зависит от сложности желаемого приложения. Помимо указанных в тексте курсов GeekBrains по некоторым языкам, вы можете посетить и другие, например, по созданию конкретных приложений. А дальше, если подобное направление завлечёт, уже сами подберёте удобный только для вас путь развития.
Гибридные приложения
Несмотря на все кажущиеся преимущества данного вида приложений, подводных камней здесь тоже немало. Но касательно сегодняшней темы расскажем о приятном. Языки вы можете использовать любые, в зависимости от того, что у вас за приложение. В простейшем случае, для создания интерфейсной части вы используете нативную часть (Swift, Java, C# и т. д.), а внутренности создаются на HTML5, JS, да и вообще на чем угодно. То есть для того, чтобы перейти на другую платформу, вам придётся потратить куда меньше времени, чем при создании стандартного нативного приложения. В помощь вам специальные фреймворки. вроде PhoneGap или Eclipse. Опять-таки компиляция из любого другого места, в случае чего, поможет.
С точки зрения адаптации под требования платформ тоже никаких проблем. Сделаете кнопку «назад» для iOS, будет она и на Android, пусть даже там она никому не нужна. Просто стандарты здесь совсем другие. Создание гибридного приложения делает акцент именно на идее, остальное — вторично.
Минусы же очевидны — сниженное по сравнению с нативными приложениями быстродействие, меньше возможностей для взаимодействия с устройствами, больше вероятность появления ошибок.
Впрочем, к выбору языка это не имеет никакого отношения, а кажется именно за этим мы здесь собрались.
Разработка приложений под Android – одно из очень популярных направлений в программировании. И рынок продолжает только расти. Это и понятно, ведь около 2/3 мобильных устройств в мире сегодня работают на Android. Для этой операционной системы разрабатывают игры, различные сервисы и другие стартапы. Крупные компании вместо мобильных версий сайта все чаще предлагают пользователям сервисные приложения. А программисты-одиночки вполне успешно зарабатывают на создании небольших программных продуктов (коммерческих или со встроенной рекламой).
Сегодня мы предлагаем вам ТОП 10 языков программирования, востребованных среди Android- разработчиков.
Лидирует в этой сфере, конечно, Java. Этот язык можно смело назвать основным официальным языком разработки Android. По крайней мере, все официальные курсы и образовательная документация по Android-программированию основана на этом языке.
На Java можно увидеть огромное количество исходников на GitHub, да и сами разработчики отмечают, что этот красивый и мощный язык очень удобен для написания мобильных приложений. Конечно, это не самый быстрый и простой процесс. В конце концов, языку уже 22 года, а простота никогда не была его преимуществом. Также бытует мнение, что при желании можно обойтись более современными аналогами. Но практика показывает, что без Java добиться успехов в сфере создания приложений под Android еще никому не удалось.
Вопреки распространенному и вполне обоснованному скептическому отношению к решениям Microsoft, язык C# заслуживает пристального внимания. Эта разработка вобрала в себя все лучшее, что есть в Java. Одновременно были устранены многие недостатки.
Для работы под Android были созданы функциональные и очень удобные среды программирования Visual и Xamarin Studio. Также C# вам пригодится и станет большим плюсом, когда вы начнете использовать Unity 3D. Такой набор расширяет ваши возможности практически до безграничных.
Python
Удивлены? Да, конечно, для создания нативных ndroid приложений язык Python считается неподходящим, так как Android его не поддерживает. Но на самом деле, нет ничего невозможного. Ценители языка Python создали много инструментов, которые помогут скомпилировать программы Python в нужный код.
Одним из наиболее востребованных фреймворков считается Kivy. В этой среде вы сможете создать полноценное приложение для Play Market полностью на языке Python. В профессиональных сообществах Python всегда найдутся добрые люди, которые помогут овладеть этим инструментом и подскажут нестандартные решения.
Kotlin
Kotlin – один из молодых языков, уже заслуживших популярность. Он действительно достоин пристального внимания и сам по себе, и в связке с Java. Несмотря на юный возраст программисты не сумели найти в Kotlin практически никаких недостатков.
В его родной среде IntelliJ IDEA вы сможете быстро и комфортно создавать нативные полноценные Android-приложения. Сегодня знатоков Kotlin очень мало, да и спрос на них только формируется. Но язык явно очень перспективный, и его изучение станет прекрасным «вложением» в будущее.
HTML, CSS и JavaScript
Разработчиками мобильных решений также очень рекомендуется освоить языки веб-программирования. Как минимум, стандартный базовый набор, состоящий из HTML, CSS и JavaScript. Без них ваши возможности будут сильно ограничены разработкой узкоспециализированных приложений. А как ни крути, в большинстве случаев нужны гибридные решения, в том числе, под Web.
Для работы с веб-версиями можно применять среду PhoneGap Build или, в отдельных случаях, Adobe Cordova. Глубоких знаний в этой сфере от разработчика мобильных приложений обычно не требуется. Но все же определенная база – очень важна.
Язык программирования Lua – старше популярного Java. И считается, что Lua постепенно уходит в прошлое. Тем не менее, сегодня в среде разработки под Андроид, он все еще востребован. Среди преимуществ Lua специалисты подчеркивают динамическую типизацию, а также простой и понятный синтаксис. Применяют Lua большей частью в игровых приложениях. Он очень удобен для создания прослойки программного кода между оболочкой и движком. А потому он традиционно применяется для адаптации игровых проектов для мобильных устройств.
Наиболее популярная среда разработки мобильных приложений при помощи Lua – это Corona SDK. Распространяется она полностью бесплатно (с 2015 года) и считается очень удобной для начинающих разработчиков. По ней много документации и полезных советов от специалистов, в том числе, в Рунете.
Мощные универсальные языки C/C++ и сегодня являются основными нативными языками при разработке многих приложений. Например, Google предлагает для работы с C и C++ специальную среду NDK. Конечно, написать полноценное приложение только средствами C/C++ будет сложно. Чаще на этих языках создаются специальные библиотеки и решения, которые к основному «телу» программы подключаются с помощью Java.
На самом деле, о возможностях и преимуществах NDK знает сравнительно небольшое число программистов. И большинство разработчиков его игнорирует. Но если вам нужны повышенные результаты по экономному использованию ресурсов и производительности, язык C станет оптимальным решением. А для Android-устройств и сегодня сочетание скорости с экономией ресурсов – очень важное конкурентное преимущество.