какие языки программирования используются для создания мобильных приложений
Как выбрать язык программирования для создания Андроид — приложения
Привет, Хабр! представляю вашему вниманию перевод статьи «Top Programming Languages for Android App Development» автора Mohit Maheshwari.
Бурное развитие информационных технологий в последнее время привело к появлению множества новых различных устройств и технологий, в том числе планшетов, смартфонов, смарт-часов и других гаджетов. Они все более прочно входят в нашу жизнь и становятся привычным делом. Лидирующей платформой среди таких устройств является операционная система Android.
Выбор языка программирования
В настоящее время Java является самым популярным языком программирования для мобильной разработки на Android. Хотя Google активно продвигает Kotlin как язык, который должен будет заменить Java. Также приложения под Android пишут и на других языках.
Изучение разных видов языков поможет Вам сформировать четкое представление о том, какой язык программирования необходимо выбрать для создания определенных видов приложений.
Ниже кратко описаны языки программирования, которые используются для разработки Android:
Java является официальным языком для разработки Android и поддерживается Android Studio.
Kotlin является официальным и самым последним введенным языком Android; он похож на Java, но во многих отношениях немного легче.
Также Android Studio поддерживает C++ с использованием Java NDK, что может быть удобно для игр.
C# несколько удобнее для начинающих в отличие от C или C++. Он поддерживается некоторыми очень удобными инструментами, например Unity и Xamarin, которые отлично подходят для разработки игр и кросс-платформенных приложений.
BASIC невероятно приятен в использовании и является идеальным началом для обучения кодированию.
Corona — еще один кроссплатформенный инструмент, использующий язык Lua (скриптовый язык программирования, по идеологии и реализации ближе всего к JavaScript) для реализации логики приложений, он значительно упрощает процесс сборки приложений и позволяет вызывать собственные библиотеки.
PhoneGap (HTML, CSS, JavaScript) — если Вы знаете, как создавать интерактивные веб-страницы, то можете использовать эти знания с PhoneGap для создания простого кросс-платформенного приложения.
Ознакомимся подробнее с инструментами и языками
Android Studio
Лучший способ разработать приложение для Android — это пойти и установить Android Studio. Android Studio — это интегрированная среда разработки (IDE) для работы с платформой Android.
Android Studio, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains, — официальное средство разработки Android приложений. 17 мая 2017, на ежегодной конференции Google I/O, Google анонсировал поддержку языка Kotlin, используемого в Android Studio, как официального языка программирования для платформы Android в добавление к Java и С++.
Android Studio это часть программного обеспечения, называемая IDE, или интегрированной средой разработки. Он предлагается в виде пакета с Android SDK, который представляет собой не что иное, как набор инструментов, используемых для облегчения разработки Android. Здесь сосредоточено все, что требуется, чтобы начать создавать приложения под Android. Такие функции, как визуальный конструктор, делают процесс более плавным, в то время как расширенные, мощные функции добавляются все время, чтобы предоставить разработчикам доступ к таким вещам, как облачное хранилище.
Для любого разработчика мобильных приложений на Android, первым и наиболее предпочтительным языком программирования пока остается Java, так он поддерживается компанией Google и большинство приложений в Google Play построены именно на нем.
Сама Java была разработана компанией Sun Microsystems (в последующем приобретённой компанией Oracle) еще в 1995 году, и она до сих пор используется для широкого спектра программных приложений. Код Java выполняется виртуальной машиной, которая работает на устройствах Android и интерпретирует код.
Для новичков Java может показаться немного сложным. Это становится препятствием, с которым сталкиваются люди, которые планируют попасть в разработку приложений для Android.
Но, если Вы новичок, и с нетерпением хотите сделать игру, или просто начать учиться ради обучения, то лучше начать с чего-то проще, но вернуться к Java, как только вы получили немного больше опыта.
Kotlin
Kotlin недавно появился в качестве «другого» официального языка для разработки Android. Как и Java, Kotlin работает на виртуальной машине Java. Он полностью совместим с Java и не вызывает никаких препятствий или увеличения размера файлов.
Основное отличие заключается в том, что Kotlin требует меньше «шаблонного» кода, т.е. более простая для чтения система. Он также устраняет такие ошибки, как исключение нулевого указателя, и даже освобождает Вас от необходимости заканчивать каждую строку точкой с запятой. Это отличный язык программирования, если вы только учитесь разрабатывать приложения для Android.
Kotlin является более легкой отправной точкой для начинающих, и тот факт, что можно использовать Android Studio, является большим плюсом.
Что действительно не стоит выбирать новичку для разработки приложения для Android так это C / C++. Android Studio поддерживает C / C++ с помощью Android Native Development Kit. Это значит, что написанный код будет работать не на виртуальной машине Java, а на самом устройстве и даст больше контроля над такими вещами, как память. Например для 3D-игр, это позволит выжать дополнительную производительность с устройства.
C# — это более простая, чисто объектно-ориентированная версия разработки C и C+ от Microsoft. Основная цель Microsoft заключалась в том, чтобы объединить мощь C++ и простоту Visual Basic. Этот язык для разработки Android-приложений часто приходится по вкусу многим разработчикам, особенно сочетание C# и Unity.
Unity
Unity — межплатформенная среда разработки компьютерных игр. Unity позволяет создавать приложения, работающие под более чем 20 различными операционными системами, включающими персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие. Выпуск Unity состоялся в 2005 году и с того времени идёт постоянное развитие.
Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами и затруднения при подключении внешних библиотек.
Это инструмент с открытым исходным кодом, который позволяет невероятно легко создавать свои собственные игры. С помощью всего лишь нескольких строк кода, у вас есть игра написанная менее чем за час.
Кроме того, разработка таким образом обеспечивает очень практичный способ изучения объектно-ориентированного кодирования, потому что объекты в этом случае фактически являются объектами большую часть времени.
C# также можно использовать с Xamarin через Visual Studio. Это похоже на традиционную разработку Android с преимуществом кросс-платформенности, которая имеет кодовую базу для Android и iOS.
BASIC
То, что мы узнали о C#, было попыткой соединить силу C с легкостью Visual BASIC. Это потому, что BASIC (Beginners All-Purpose Symbolic Instruction Code) невероятно приятен в использовании и является абсолютно идеальной отправной точкой для обучения кодированию.
К сожалению, он официально не поддерживается Android Studio, и его нельзя использовать в Unity. Но есть менее известный вариант для разработки приложений для Android в BASIC под названием B4A (BASIC 4 Android), который позволяет создавать приложения для Android с помощью BASIC.
Corona
Corona предлагает еще один простой вариант для разработки приложений для Android. Вы будете кодировать в LUA, который уже намного проще, чем Java. Он поддерживает все собственные библиотеки, что позволяет публиковать данные на нескольких платформах.
Corona подходит для тех, кто хочет создать что-то относительно простое и не так озабочен развитием своих навыков кодирования или становлением профессионалом. Если вы хотите использовать такие функции, как покупка в приложении, то вам нужно будет заплатить. То же самое касается использования собственных API для Android.
PhoneGap
Наконец, последний простой вариант, который вы можете выбрать для разработки Android-приложений, — это PhoneGap.
PhoneGap работает на Apache Cordova и позволяет создавать приложения, использующие код, который вы обычно используете для создания веб-сайта: HTML, CSS и JavaScript.
Пришло время, чтобы сделать собственный выбор!
10 лучших языков для мобильной разработки
Прошли те времена, когда владение мобильным телефоном ограничивалось только так называемым элитарным и финансово компетентным сегментом общества. Но сценарий радикально изменился с технологическим прогрессом за последнее десятилетие. Сегодня у всех есть смартфон. Прямо от учеников-подростков до людей преклонного возраста — у каждого есть смартфон, независимо от его возраста, социального положения, экономического устройства и географического положения. Это всестороннее владение мобильными телефонами привело к увеличению спроса на эффективные и исключительно оперативные мобильные приложения. Для создания этих высококачественных приложений требуются опытные специалисты мобильной разработки.
Таким образом, если вы хотите реализовать себя в индустрии разработки программного обеспечения в качестве специалиста мобильной разработки, что, безусловно, является многообещающей карьерой, тогда вам следует рассмотреть возможность изучения этих 10 лучших языков разработки мобильных приложений в 2020 году.
Android (Java)
JAVA (wiki) — один из самых популярных языков программирования, который предлагает широкий спектр функций. JAVA (doc) считается лучшим языком для разработки под Android (wiki).
То, что делает JAVA динамичным, это объектно-ориентированная парадигма, которой она следует. Гибкость, универсальность, мобильность и независимость от платформы — вот некоторые из характеристик, которые работают в поддержку JAVA. Это хорошо работает и для кроссплатформенной разработки приложений. Он также имеет эффективные инструменты мобильной разработки с открытым исходным кодом.
Kotlin
Kotlin (wiki) — это язык программирования со статической типизацией, разработанный для преодоления недостатков разработки приложений JAVA для Android (сайт). Kotlin (сайт) можно использовать в сочетании с JAVA для создания более эффективных и высокопроизводительных приложений.
У Kotlin очень чистый синтаксис и простой код. Он совместим и универсален. Он генерирует компактный и чистый код по сравнению с JAVA. Таким образом, это самый популярный язык, используемый для разработки приложений для Android.
Swift
Swift (сайт) был сделан Apple (см. Apple Developer Documentation) с открытым исходным кодом и доступен для сообщества разработчиков. Специалисты Apple проводят огромную работу и делают Swift таким, каким его хочет видеть сообщество, и это несомненный плюс. Большинство Open Source проектов перешли на Swift, из-за чего найти актуальную и поддерживаемую библиотеку на Objective-C становится все сложнее.
Xcode — это приложение для Mac, предназначенное для разработки других приложений для Mac и iOS. В Xcode есть все инструменты, необходимые для создания потрясающих приложений. Его можно загрузить бесплатно из Mac App Store.
React Native (Javascript)
Javascript называют тараканом IT-индустрии. Как и таракан, Javascript, как ожидается, никогда не умрет. React Native — это основанная на Javascript инфраструктура, которая широко используется для разработки межплатформенных мобильных приложений. Он использует те же компоненты пользовательского интерфейса, что и родные приложения для iOS или Android.
Это фреймворк с открытым исходным кодом, имеющий обширное технологическое сообщество. React Native предлагает возможность повторного использования кода и помогает создавать более быстрые и недорогие приложения. Кроссплатформенная разработка помогает сэкономить время и затраты на кодирование.
Dart (wiki) — это быстрый, объектно-ориентированный язык программирования, основанный на парадигме, который используется для разработки кроссплатформенных приложений. Этот язык программирования, созданный Google, позиционируется в качестве замены/альтернативы JavaScript. Один из разработчиков языка Марк Миллер (Mark S. Miller) написал, что JavaScript «имеет фундаментальные изъяны», которые невозможно исправить.
Вы можете использовать Dart для написания простых фрагментов кода и полнофункциональных приложений. У Dart есть решение практически для всего — от разработки приложений для настольных компьютеров до веб-приложений, мобильных приложений, сценариев командной строки и серверных сценариев.
Dart (сайт) поставляется с гибкой технологией компилятора, позволяющей запускать код и создавать его в соответствии с целевым требованием. Dart предоставляет среду разработки мобильных приложений под названием Flutter, о которой подробнее — дальше в статье.
C-Sharp
C #, произносится как «C-sharp «, является еще одним объектно-ориентированным языком, который широко используется для мобильной разработки. Он в основном используется для платформы Windows Mobile. Кроссплатформенная разработка — еще один атрибут C #, который делает его пригодным для мобильной разработки. Технически, C # позволяет нам делать практически все, что мы можем достичь, используя Swift, JAVA и Objective-C (wiki). Когда вы знакомы с C # и можете с легкостью программировать в нем, вы можете легко разрабатывать мобильные приложения, настольные приложения, игры и веб-приложения. Таким образом, учитывая динамизм, который предлагает C #, он станет одним из лучших решений для разработчиков мобильных приложений.
Переходя к разработке приложений для Android, C ++ считается лучшим выбором. То, что прочно удерживает рынок мобильной индустрии, это системы на базе Android. Таким образом, становится достаточно важным быть в курсе C ++, чтобы преуспеть в этой области.
Синтаксическая аналогия с C # и C — это то, что делает C ++ хорошим вариантом. C ++ в основном используется для разработки 3D-игр. Кроме того, C ++ дополняет Objective-C (wiki-2), делая его пригодным для разработки под iOS, а также экономит время на разработку. Он широко используется для приложений с графическим интерфейсом и 3D-графики для игр. Такие свойства, как обработка исключений, собственный набор средств разработки и соответствие с объектно-ориентированной парадигмой — это дополнение, которое предлагает этот язык.
Это были хорошие языки разработки для мобильных устройств, которые в основном использовались либо для кроссплатформенной разработки, либо для Android и iOS независимо. Теперь мы будем обсуждать некоторые среды разработки мобильных приложений. Фреймворки — это новая тенденция. Изучение языка программирования может быть ужасным, потому что вы должны быть знакомы со всеми его тонкостями. Но изучение фреймворка, основанного на языке программирования, довольно просто и интересно.
Итак, давайте рассмотрим некоторые фреймворки, которые произвели революцию в процессе разработки обычных мобильных приложений.
Flutter
Flutter — это кроссплатформенная среда разработки, основанная на языке программирования Dart. Это было разработано Google. Flutter предоставляет нам инструменты для создания приложений для iOS и Android с использованием единой кодовой базы.
Flutter — отличная альтернатива для бесчисленных фреймворков на основе Javascript, которые меняются каждый день. Кроме того, приложения на основе Flutter практически идентичны родным приложениям для iOS / Android с точки зрения внешнего вида.
Ionic
Ionic — идеальный выбор для разработки гибридных мобильных приложений. Это SDK с открытым исходным кодом, который использует пользовательский интерфейс для конкретной платформы. Ionic — единственный стек мобильных приложений, который позволяет веб-разработчикам создавать приложения для всех основных магазинов приложений и мобильного Интернета из единой кодовой базы.
Xamarin
Xamarin обеспечивает функциональность для непосредственного вызова программ, написанных на других языках, таких как библиотеки Objective-C, Java, C и C ++, что позволяет вам использовать широкий спектр стороннего кода.
8 языков программирования для Android-разработчика
Авторизуйтесь
8 языков программирования для Android-разработчика
Android-разработчики пишут не только на Java и Kotlin: в этой статье разберём 8 популярных языков программирования, которые подходят для разработки Андроид-приложений, расскажем, насколько востребована профессия и где её освоить.
Это официальный язык для разработки под Android, который поддерживается Android Studio и является основой для изучения Kotlin.
Вообще, когда начинаются споры о том, что лучше, Java или Kotlin, следует помнить, что Kotlin — это обёртка над Java. Чтобы понять документацию Kotlin и получить помощь в процессе разработки мобильных Android приложений, следует знать именно Java.
Kotlin
Ещё один официальный и не менее популярный язык. Также поддерживается Android Studio, характеризуется синтаксическим сахаром и предоставляет корутины, что упрощает асинхронную работу.
Синтаксис Java заочно предполагает более громоздкий код, чем в случае с Kotlin. Например, так Android-разработчик будет присваивать текст полю на этих двух языках программирования:
Java
Kotlin
helloTextView.text = «Hello world»
Как видим, Kotlin позволяет написать то же самое, но гораздо быстрее, с использованием меньшего количества строк.
Главные преимущества Kotlin в разработке под Android:
Примечание Следующие языки рекомендуем рассматривать как альтернативные варианты, а не базу для Android разработки.
Python
Да, энтузиастам удалось приспособить один из самых популярных языков программирования под Андроид разработку. Реализовано это с помощью Kivy и BeeWare:
Будем откровенны, Android-разработчик, который пишет мобильные приложения на языке программирования Python, — большая редкость. В основном это что-то для себя или проекты молодых амбициозных фирм.
Если вы знаете Python, попробовать определённо стоит.
C-языки позиционируются как высокопроизводительные, и это важно, особенно если мы говорим о чём-то тяжеловесном вроде мобильной 3D-игры.
Но стоит сразу оговориться, что прибегнуть к Java всё-таки придётся: без этого языка вам не создать полноценное мобильное приложение. Android NDK позволит написать на C/C++ только часть приложения, например библиотеку, которую через Java можно подключить к программе.
JavaScript
А вот Android-разработка на JS более жизнеспособна.
С фреймворком React Native вы можете создавать мобильные приложения с многофункциональным мобильным UI. При этом такие программы полностью нативны, то есть не являются мобильными веб-приложениями. Всё потому, что React Native использует те же компоненты, что и простые приложения для Android.
Flutter — относительно новая технология от Google, полноценный SDK, выпущенный в 2018 году.
По ряду параметров считается более удачным решением, чем React Native. Позволяет писать кроссплатформенные приложения, поэтому эффективен в разработке приложений для Android с общей базой кода на языке Dart.
Dart позиционируется как альтернатива JavaScript. Он компилируется в бинарный код, за счёт чего достигается высокая скорость выполнения операций. Вместо XML Dart использует так называемые деревья макетов.
Основные преимущества Dart:
Программирование на Андроид с использованием C# подразумевает платформу Xamarin. С её помощью можно создавать одну логику приложения на C# для Android и iOS.
Схематическое представление работы Xamarin:
Как видно, пользовательский интерфейс разрабатывается индивидуально для обеих платформ, при этом бизнес-логика остаётся общей.
Но, как и в случае с языком программирования Python, Андроид разработчик, пишущий на C#, — это, скорее, исключение, чем правило. Такое решение подойдёт тем, кто знает язык и хочет попробовать себя в мобильной разработке.
Стоит ли становиться Android-разработчиком?
По данным IDC за конец 2020 года, доля ОС Android на рынке смартфонов составила 85%:
По всему миру насчитывается почти 3 миллиарда устройств на этой системе. Можно смело заявить, что Android-разработчик — профессия востребованная.
По данным hh.ru, в России насчитывается порядка 7000 соответствующих вакансий, а в США — 12 000, согласно LinkedIn.
Кроме того, мобильная разработка позволяет также зарабатывать на собственных приложениях. Для наглядности: выручка маркета Google Play в 2020 году составила около 38,6 млрд долларов.
Выводы
Несмотря на весь спектр языков, обучение Android-программированию должно начинаться с Java и Kotlin, как двух официальных языков.
Начинающим Android-разработчикам и просто новичкам в программировании отлично подойдут онлайн-курсы Android, в ходе которых можно и теорию освоить, и поучаствовать в реальных проектах.
10 языков для Android-разработчика
Совсем недавно на GeekBrains мы затрагивали тему выбора языка для мобильных платформ, но в этот раз остановимся поподробнее на Android. Вот 10 языков, которые позволят вам создать мобильное приложение любого типа и сложности:
Не будет большим преувеличением назвать Java официальным языком Android. Во всяком случае, почти вся образовательная документация, все интернет-курсы основаны на этом. А еще это самый популярный язык по оценке TIOBE, второй по количеству исходников на GitHub, да и вообще большой красивый язык. Именно поэтому изучение Java должно быть первоочередной задачей для любого Android-разработчика. Пусть это будет непросто (все-таки языку 22года, а легкость никогда не была его коньком), пусть теоретически можно обойтись более современными языками, помните — невозможно добиться существенных успехов на Android, абсолютно не понимая Java, не говоря уже о конкретных исходниках.
При всем нескончаемом скепсисе, направленным в сторону продуктов Microsoft, стоит признать, что C# этого не заслуживает. Это прекрасный язык, вобравший в себя всё лучшее от Java, при этом учтя и исправив многие недостатки.
Что касается разработки приложений под Android, то здесь к вашим услугам одни из самых функциональных сред Visual и Xamarin Studio. А еще знание C# станет для вас приятным бонусом, когда доберетесь до использования Unity 3D. С таким набором возможности будут безграничны.
Python
Тот факт, что Android не поддерживает использование Python для создания нативных приложений, еще не означает, что это невозможно. Любители этого змеиного языка разработали множество инструментов, позволяющих скомпилировать код на Python в требуемое состояние.
Самым популярным фреймворком является Kivy, который без труда поможет вам создать приложение для Play Market на чистом Python. А если нет, то помогут добрые разработчики в чате. Если вы еще не овладели им, рекомендуем пройти бесплатный онлайн-курс по питону.
Kotlin
В тексте про недооцениваемые языки программирования я уже пытался объяснить, почему Kotlin сам по себе отличный язык, а в связке с Java он ещё лучше. Действительно, официально выпущенный лишь год назад, Kotlin очень быстро завоевывает сердца разработчиков по всему миру практически полным отсутствием недостатков.
С его помощью (точнее с помощью родной среды IntelliJ IDEA) вы не будете чувствовать никаких проблем в разработке нативных приложений для Android. При этом спрос на специалистов Kotlin пока низок, а значит, получив опыт работы с ним, вы рискуете в будущем получить конкурентное преимущество.
Языки веба
Стандартный языковой набор работника веба: HTML, CSS и JavaScript. Не зная эти 3 языка, вы сведете себя к разработке приложений достаточно узкой направленности. Даже если вы непосредственно веба в будущей работе касаться не хотите, то гибридных приложений избежать получиться вряд ли.
Работать с HTML, CSS и JavaScript можно используя среды PhoneGap Build или, в более специализированном случае, Adobe Cordova. Больших знаний они от вас не потребуют, а результат обеспечат. Или вот из последнего, React Native от Facebook — это уже следующий уровень удобства взаимодействия, но опыта и документации скопилось мало. В общем, выбирайте, благо есть из чего.
Lua — язык, который старше Java, куда менее популярный, но всё равно востребованный. У него есть ряд преимуществ, вроде динамической типизации, относительно простого синтаксиса, но до наших дней он дожил благодаря задействованности в играх. Именно удобство создания программной прослойки между движком и оболочкой открыло перед Lua двери в мир карманных гаджетов.
Corona SDK — среда для разработки мобильных кроссплатформенных приложений, преимущественно игр, где главным инструментом является Lua. С 2015 года она распространяется бесплатно, рассчитана на начинающих разработчиков, плюс ко всему вы можете найти много полезной информации, как в англоязычном, так и русскоязычном сегменте интернета.
На самом деле Google предоставляет разработчиков две среды разработки: SDK, предназначенная для работы с Java, и NDK, где нативными языками являются C/C++. Да, конечно вы не напишете целое приложение с использованием лишь этих языков, но с их помощью вы можете создать библиотеку, которую впоследствии при помощи Java подключите к основному телу программы.
Несмотря на то, что подавляющему большинству разработчиков нет никакого дела до NDK, тем не менее задействовав этот инструмент вы получите лучшие результаты по производительности и использованию внутренних ресурсов. А это именно то, что на Android отличает хорошую идею приложения от хорошей реализации.
А на каких языках пишете вы?
Согласно данным портала Netmarketshare операционная система Android установлена на 66.71% всех мобильных устройств в мире. Так что нет ничего удивительного, что многие начинающие айтишники желают реализовывать свои амбиции именно на этой платформе.
Совсем недавно на GeekBrains мы затрагивали тему выбора языка для мобильных платформ, но в этот раз остановимся поподробнее на Android. Вот 10 языков, которые позволят вам создать мобильное приложение любого типа и сложности:
Не будет большим преувеличением назвать Java официальным языком Android. Во всяком случае, почти вся образовательная документация, все интернет-курсы основаны на этом. А еще это самый популярный язык по оценке TIOBE, второй по количеству исходников на GitHub, да и вообще большой красивый язык. Именно поэтому изучение Java должно быть первоочередной задачей для любого Android-разработчика. Пусть это будет непросто (все-таки языку 22года, а легкость никогда не была его коньком), пусть теоретически можно обойтись более современными языками, помните — невозможно добиться существенных успехов на Android, абсолютно не понимая Java, не говоря уже о конкретных исходниках.
При всем нескончаемом скепсисе, направленным в сторону продуктов Microsoft, стоит признать, что C# этого не заслуживает. Это прекрасный язык, вобравший в себя всё лучшее от Java, при этом учтя и исправив многие недостатки.
Что касается разработки приложений под Android, то здесь к вашим услугам одни из самых функциональных сред Visual и Xamarin Studio. А еще знание C# станет для вас приятным бонусом, когда доберетесь до использования Unity 3D. С таким набором возможности будут безграничны.
Python
Тот факт, что Android не поддерживает использование Python для создания нативных приложений, еще не означает, что это невозможно. Любители этого змеиного языка разработали множество инструментов, позволяющих скомпилировать код на Python в требуемое состояние.
Самым популярным фреймворком является Kivy, который без труда поможет вам создать приложение для Play Market на чистом Python. А если нет, то помогут добрые разработчики в чате. Если вы еще не овладели им, рекомендуем пройти бесплатный онлайн-курс по питону.
Kotlin
В тексте про недооцениваемые языки программирования я уже пытался объяснить, почему Kotlin сам по себе отличный язык, а в связке с Java он ещё лучше. Действительно, официально выпущенный лишь год назад, Kotlin очень быстро завоевывает сердца разработчиков по всему миру практически полным отсутствием недостатков.
С его помощью (точнее с помощью родной среды IntelliJ IDEA) вы не будете чувствовать никаких проблем в разработке нативных приложений для Android. При этом спрос на специалистов Kotlin пока низок, а значит, получив опыт работы с ним, вы рискуете в будущем получить конкурентное преимущество.
Языки веба
Стандартный языковой набор работника веба: HTML, CSS и JavaScript. Не зная эти 3 языка, вы сведете себя к разработке приложений достаточно узкой направленности. Даже если вы непосредственно веба в будущей работе касаться не хотите, то гибридных приложений избежать получиться вряд ли.
Работать с HTML, CSS и JavaScript можно используя среды PhoneGap Build или, в более специализированном случае, Adobe Cordova. Больших знаний они от вас не потребуют, а результат обеспечат. Или вот из последнего, React Native от Facebook — это уже следующий уровень удобства взаимодействия, но опыта и документации скопилось мало. В общем, выбирайте, благо есть из чего.
Lua — язык, который старше Java, куда менее популярный, но всё равно востребованный. У него есть ряд преимуществ, вроде динамической типизации, относительно простого синтаксиса, но до наших дней он дожил благодаря задействованности в играх. Именно удобство создания программной прослойки между движком и оболочкой открыло перед Lua двери в мир карманных гаджетов.
Corona SDK — среда для разработки мобильных кроссплатформенных приложений, преимущественно игр, где главным инструментом является Lua. С 2015 года она распространяется бесплатно, рассчитана на начинающих разработчиков, плюс ко всему вы можете найти много полезной информации, как в англоязычном, так и русскоязычном сегменте интернета.
На самом деле Google предоставляет разработчиков две среды разработки: SDK, предназначенная для работы с Java, и NDK, где нативными языками являются C/C++. Да, конечно вы не напишете целое приложение с использованием лишь этих языков, но с их помощью вы можете создать библиотеку, которую впоследствии при помощи Java подключите к основному телу программы.
Несмотря на то, что подавляющему большинству разработчиков нет никакого дела до NDK, тем не менее задействовав этот инструмент вы получите лучшие результаты по производительности и использованию внутренних ресурсов. А это именно то, что на Android отличает хорошую идею приложения от хорошей реализации.