Итак, вы решили стать разработчиком мобильных приложений для операционной системы Android. Это отличное решение, но без определенных знаний работать не получится. Как минимум вам нужно обучиться программированию. Есть несколько языков программирования, и вам нужно будет выбрать, с какого вы начнете. Разница между ними есть, и разобраться может быть не слишком просто.
Вот языки программирования, которые может рассматривать для себя будущий Android-разработчик:
- Java – это официальный язык разработки для Android, и он поддерживается средой разработки Android Studio от Google. Выучить его может быть не так просто.
- Kotlin – этот язык был представлен недавно в качестве второго официально поддерживаемого языка. Во многом он похож на Java, но начать работу с ним проще.
- C/C++ – Android Studio поддерживает C++. Этот язык еще сложнее, но он активно применяется при разработке игр.
- C# – этот язык может понравиться начинающим. Он поддерживается средами разработки Unity и Xamarin. Они дают преимущества при разработке игр и продуктов для разных платформ.
- BASIC – этот язык поддерживает среда разработки B4A IDE, которая является простым, но мощным инструментом.
- Corona/LUA – среда LUA хороша для разработки кросс-платформенных продуктов. Она значительно упрощает создание приложений и предоставляет доступ к нативным библиотекам.
- PhoneGap (HTML, CSS, JavaScript) – этот вариант подходит для тех, кто умеет создавать интерактивные веб-страницы. С PhoneGap вы сможете похожим образом создавать кросс-платформенные приложения.
Теперь разберем эти варианты подробнее.
Java
Язык программирования Java первым приходит в голову, когда речь заходит о разработке под Android. Java был выпущен компанией Sun Microsystems в 1995 году. Он используется для разного типа приложений. Если говорить об Android-приложениях, Java – это лучший выбор для тех, кто хочет уйти в разработку для Android с головой. Однако это не самый лучший язык для новичка. Вы непременно столкнетесь с трудностями. Если вы начинающий, хотите создать игру или хотите начать обучение, но еще не определились, какого именно результата вы хотите достичь, возможно, следует начать с чего-то более простого.
Kotlin
Kotlin, так же как Java, хорош для разработки Android-приложений. Отличие в том, что Kotlin проще для начинающих, но все еще не проще, чем многие другие варианты. Он заслуживает внимания, так как язык молодой, и вы можете работать с ним в Android Studio, что является большим плюсом.
C/C++
Не самый лучший выбор для создания простых приложений. Вы можете работать с языком в Android Studio с помощью Android NDK, но в отличие от Java и Kotlin он не выполняется на Java Virtual Machine. Однако он работает нативно на устройстве, что может дать вам больше возможностей в работе с памятью. Вы можете добиться с его помощью лучшей производительности в случае с 3D-играми. Если это ваш выбор, готовьтесь к трудностям. Возможно, вам лучше использовать готовый игровой движок для создания игр.
C#
C# – это более простая версия C и C++, разработанная компания Microsoft. С этим языком вам не нужно заботиться о работе с памятью, как и в случае с Java. Однако C# более современный и чистый, в сравнении с Java. C# и Unity окажутся очень полезными и простыми в разработке игр. Для разработки приложений среда Unity не так хороша. C# – отличный выбор, но он ограничит ваши возможности в случае, если вы желаете стать профессиональным Android-разработчиком.
BASIC
Этот язык – лучший вариант для начинающего. Вы сможете использовать его в среде разработки B4A. Эта комбинация не слишком хорошо подходит для создания игр, но она идеальная для того, чтобы научиться разработке. Вы сможете узнать много нового без лишнего труда и создать неплохие приложения. Однако за все эти радости придется заплатить деньгами. Вы научитесь чему-то новому, но профессионалом не стать, умея лишь программировать на BASIC.
Corona
Corona в связке с LUA позволит разрабатывать не только для Android, и это значительно проще, чем начинать учить Java. Вам понравится, и результат порадует, но для того, чтобы развивать свои навыки, придется учить что-нибудь еще. Как и в случае с BASIC, профессионалом не стать.
PhoneGap
Последний вариант годится для тех, кто хорош в веб-разработке и может создать интерактивный сайт, используя HTML, CSS и JavaScript. PhoneGap позволит этими же инструментами создать приложение. Этот вариант имеет очень мало общего с разработкой для Android, но подойдет, если вы преследуете конкретные цели и не планируете разрабатывать для Android в будущем.
Вариантов много. Уверены, вы сможете сделать правильный выбор.
По материалам Android Authority
> Kotlin – этот язык был представлен недавно в качестве второго официально поддерживаемого языка
вообще то в качестве first class programming language for Android
> Вариантов много. Уверены, вы сможете сделать правильный выбор.
Выбор даже проще, хотите быстрые, оптимизированные и с малым весом приложения — выбор за Android SDK и Java/Kotlin.
Если качество приложения не важно — то все остальное.
Corona/LUA и PhoneGap это вообще дно по производительности. Лучше бы упомянули ReactNative или Flutter в качестве меньшего из зол.
Спасибо за комментарии. Если вы являетесь разработчиком, возможно у вас есть еще что-то по теме для тех, кто будет читать эту статью и комментарии к ней?
Перед изучением котлина, если это ваш первый язык програмирования, обязательно изучите Java Core и принципы ООП. Это основа основ. Без этого будет каша в голове, а в коде непонятное месиво. 🙂
Можете задавать вопросы, постараюсь ответить 🙂
Кратко о себе, я разрабатываю андроид приложения уже 4 года. Material design евангелист, обожаю когда приложение работает не только быстро, без ошибок, но и красиво.
Разработка нативными инструментами(Android SDK, Java/Kotlin) всегда будет на уровень выше по качеству приложения, его поддержке и отладке чем разные кроссплатформенные фреймворки типа ReactNative, PhoneGap и тд.
Так какой же язык лучше для новичка, что бы потом хорошо зарабатывать?
Не нужно сразу думать о заработке, нужно думать о том, как выжать максимальную пользу с обучения. Например, неплохо зарабатывают веб-разработчики (я понимаю что мы говорим не о вебе, но это для примера), но ты же не выучишь сразу фреймворк django для питона (он сложный, а для человека, который ни разу не связывался с программированием, вообще непосильный. Я бы посоветовал для начала выучить Pascal: у него вроде и синтаксис не слишком сложный и достаточно прост в обучении. Да, функционал ОЧЕНЬ ограничен, да и не нужен сейчас Pascal никому, но ты научишься многим основам которые очень облегчат дальнейшее обучение.
Это лично мои советы и ты можешь к ним не прислушиваться, но по моему обучаться именно так- самый простой способ
А на сколько важна матиматика, к примеру я в ней не очень, смогу ли я без нее освоить программирование?
Редко случается так, что действительно нужны серьезные знания в математике (для базового уровня), но если ты не очень понимаешь математику, то и большинство вещей в программировании не поймешь. Я знаю много достаточно умных людей которые начинали изучать программирование, но быстро бросали так как не понимали «как оно работает» и при этом были не очень в математике. Кстати, если хочешь заняться программированием, то тебя придется выучить английский на достаточно неплохой уровень потому что очень часто тебе придется искать информацию на англоязычных сайтах т.к. есть относительно мало хороших ресурсов в рунете посвященных программированию
Английский я знаю, математику не очень, но хочу изучать java , пока пытаюсь по видео урокам, за какой периуд можно в среднем освоить язык?
в среднем 2-3 месяца чтобы уверенно чувствовать себя в Java Core.
Так мало? Я думал минимум пол года