Какой язык программирования выучить для разработки под Android

Итак, вы решили стать разработчиком мобильных приложений для операционной системы 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

Теги
Лонгриды для вас
Финальная бета Android 11 уже здесь. Какая в ней пасхалка

Релизная версия Android 11 все ближе, но перед тем, как ее сможет установить любой желающий, надо выпустить последую бета-версию. Так на днях вышла новая Android 11 Beta 3, которая принесла новые функции и долгожданную пасхалку, которой многие ждали и гадали, какой она будет. Получилось так, что ничего принципиально нового в этот раз не вышло, и нам просто показали продолжение того, что уже было в одной из предыдущих версий Android. В этом нет ничего плохого, так как пасхалка не обязательно должна быть чем-то новым. Ее задача в том, чтобы быть интересной и привлекать внимание пользователей своей закулисностью.

Читать далее
Google делает из «Сообщений» настоящий аналог iMessage для Android

Несмотря на широкий ассортимент сервисов Google, пользователи Android годами поглядывали в сторону наработок Apple. Ключевыми службами, которые многим из них хотелось бы видеть на своей платформе, были FaceTime и iMessage. Но то ли в Купертино не горели желанием разрабатывать их кросс-платформенные версии, то ли из-за особенностей Android это было физически невозможно реализовать, но ни тот, ни другой сервис до операционной системы поискового гиганта не добрался. Поэтому Google пришлось заниматься созданием iMessage для Android и FaceTime для Android самостоятельно. Жаль только, что получилось у неё не сразу.

Читать далее
Как Huawei вдруг стали самыми выгодными смартфонами на Android

Не знаю, как вы, а я терпеть не могу переплачивать, особенно за вещи, которые явно покупаешь на небольшой срок. Конечно, я говорю о смартфонах. Ну, вы только подумайте: каково было бы вам, если бы вы купили новый флагман за 70 тысяч рублей, а всего через несколько месяцев он подешевел на 25-30 тысяч? Я бы очень сильно расстроился. Чтобы избежать таких разочарований, я предпочитаю брать смартфоны не на старте продаж, а немного погодя, когда их цена нормализуется. Да, это не очень удобно, ведь в этом случае нельзя пофорсить обновкой, которая ещё не успела примелькаться. Но со смартфонами Huawei такая возможность у вас есть.

Читать далее

14 комментариев Оставить свой

  1. sergeyfitis

    > Kotlin – этот язык был представлен недавно в качестве второго официально поддерживаемого языка

    вообще то в качестве first class programming language for Android

  2. sergeyfitis

    > Вариантов много. Уверены, вы сможете сделать правильный выбор.

    Выбор даже проще, хотите быстрые, оптимизированные и с малым весом приложения — выбор за Android SDK и Java/Kotlin.
    Если качество приложения не важно — то все остальное.

  3. sergeyfitis

    Corona/LUA и PhoneGap это вообще дно по производительности. Лучше бы упомянули ReactNative или Flutter в качестве меньшего из зол.

    • Эрнест Василевский

      Спасибо за комментарии. Если вы являетесь разработчиком, возможно у вас есть еще что-то по теме для тех, кто будет читать эту статью и комментарии к ней?

      • sergeyfitis

        Перед изучением котлина, если это ваш первый язык програмирования, обязательно изучите Java Core и принципы ООП. Это основа основ. Без этого будет каша в голове, а в коде непонятное месиво. 🙂

        • sergeyfitis

          Можете задавать вопросы, постараюсь ответить 🙂
          Кратко о себе, я разрабатываю андроид приложения уже 4 года. Material design евангелист, обожаю когда приложение работает не только быстро, без ошибок, но и красиво.

  4. sergeyfitis

    Разработка нативными инструментами(Android SDK, Java/Kotlin) всегда будет на уровень выше по качеству приложения, его поддержке и отладке чем разные кроссплатформенные фреймворки типа ReactNative, PhoneGap и тд.

  5. Yuricor

    Так какой же язык лучше для новичка, что бы потом хорошо зарабатывать?

    • S1eap

      Не нужно сразу думать о заработке, нужно думать о том, как выжать максимальную пользу с обучения. Например, неплохо зарабатывают веб-разработчики (я понимаю что мы говорим не о вебе, но это для примера), но ты же не выучишь сразу фреймворк django для питона (он сложный, а для человека, который ни разу не связывался с программированием, вообще непосильный. Я бы посоветовал для начала выучить Pascal: у него вроде и синтаксис не слишком сложный и достаточно прост в обучении. Да, функционал ОЧЕНЬ ограничен, да и не нужен сейчас Pascal никому, но ты научишься многим основам которые очень облегчат дальнейшее обучение.
      Это лично мои советы и ты можешь к ним не прислушиваться, но по моему обучаться именно так- самый простой способ

  6. Yuricor

    А на сколько важна матиматика, к примеру я в ней не очень, смогу ли я без нее освоить программирование?

    • S1eap

      Редко случается так, что действительно нужны серьезные знания в математике (для базового уровня), но если ты не очень понимаешь математику, то и большинство вещей в программировании не поймешь. Я знаю много достаточно умных людей которые начинали изучать программирование, но быстро бросали так как не понимали «как оно работает» и при этом были не очень в математике. Кстати, если хочешь заняться программированием, то тебя придется выучить английский на достаточно неплохой уровень потому что очень часто тебе придется искать информацию на англоязычных сайтах т.к. есть относительно мало хороших ресурсов в рунете посвященных программированию

  7. Yuricor

    Английский я знаю, математику не очень, но хочу изучать java , пока пытаюсь по видео урокам, за какой периуд можно в среднем освоить язык?

    • sergeyfitis

      в среднем 2-3 месяца чтобы уверенно чувствовать себя в Java Core.

  8. Yuricor

    Так мало? Я думал минимум пол года

Новый комментарий