Статья опубликована в рамках: LXXVI Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 05 сентября 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Нурмухаметов Д.Р. СРАВНИТЕЛЬНОЕ ИССЛЕДОВАНИЕ: ПРОГРАММИРОВАНИЕ НА JAVA ИЛИ KOTLIN В РАЗРАБОТКЕ ПРИЛОЖЕНИЙ ДЛЯ ANDROID // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. LXXVI междунар. студ. науч.-практ. конф. № 17(76). URL: https://sibac.info/archive/meghdis/17(76).pdf (дата обращения: 17.09.2019)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

СРАВНИТЕЛЬНОЕ ИССЛЕДОВАНИЕ: ПРОГРАММИРОВАНИЕ НА JAVA ИЛИ KOTLIN В РАЗРАБОТКЕ ПРИЛОЖЕНИЙ ДЛЯ ANDROID

Нурмухаметов Дамир Рустемович

студент 4 курса, кафедра АСУ Уфимский государственный авиационный технический университет,

РФ, г. Уфа

Аннотация. Цель этой статьи - сравнить и сделать вывод между Java и Kotlin в приложении для Android. В этой статье предпринята попытка изучить различные функции Java и Kotlin, и в конце сделать вывод о том, какой язык программирования подходит разработчикам.

 

Ключевые слова: Java, Kotlin, Android, Google, безопасность, Sun.

 

Вступление

В развивающемся мире технологий мобильные приложения для телефонов являются быстрорастущим сегментом глобального рынка. Мобильные приложения развиваются в стремительном темпе, чтобы дать пользователям богатый функционал. В этой статье был рассмотрен язык программирования Java[2], который используется в качестве основы приложений Android[1]. Также был рассмотрены новый язык программирования Kotlin[3], который является перспективным языком программирования для Android. Было приведено сравнение между Java и Kotlin.

ANDROID

Google запустил Android, как операционную систему мобильного телефона с открытым исходным кодом, которая работает на платформе Linux. Он состоит из операционной системы, промежуточного программного обеспечения, пользовательского интерфейса и прикладного программного обеспечения. Конечно, Android широко используется в качестве операционной системы на мобильных телефонах. Первоначально он был создан для мобильных устройств с сенсорным экраном. Кроме того, Google разработала Android TV для телевизоров, Android Auto для автомобилей и Wear OS для наручных часов, каждый из которых имеет специализированный пользовательский интерфейс. Варианты Android также используются на игровых приставках, цифровых камерах, ПК и другой электронике. Android поставляется в различных версиях. Каждая версия Android была названа в честь десерта. Первая названная версия Android называется Cupcake До 2016 года, мы могли загружать тысячи приложений для Android, каждый мог загружать свои программы без необходимости их тщательной проверки безопасности в Android Market. Это делает Android главной целью для компьютерных преступников. Google запустил проект Play Protect, чтобы преодолеть вышеуказанную проблему. Зефир, нуга, Oreo, Lollipop, Kitkat, Jellybeans[4] и некоторые другие версии Android. Согласно, последняя версия Android в феврале 2018 года - это Android Oreo.

ЯЗЫК ПРОГРАММИРОВАНИЯ JAVA

Java - это язык программирования, впервые выпущенный Sun Microsystems еще в 1995 году. Его можно найти на самых разных типах устройств. Мы можем использовать его на вашем настольном ПК и даже на Raspberry Pi. Java не компилируется с собственным процессорным кодом, а скорее опирается на «виртуальную машину», которая понимает промежуточный формат, называемый байт-кодом Java. Каждая платформа, на которой работает Java, нуждается в реализации виртуальной машины (ВМ). На Android оригинальная виртуальная машина называется Dalvik. Google также начал предварительный просмотр своей виртуальной машины следующего поколения под названием ART. Задача этих виртуальных машин состоит в том, чтобы интерпретировать байт-код, который на самом деле является просто набором инструкций, аналогичных машинному коду, найденному в ЦП, и выполнять программу на процессоре. Виртуальные машины используют различные технологии, включая своевременную компиляцию (JIT) и своевременную компиляцию (AOT), чтобы ускорить процессы. Все это означает, что мы можем разрабатывать приложения для Android в Windows, Linux или OS X, а компилятор Java преобразует исходный код в байт-код. Это, в свою очередь, выполняется на встроенной в Android виртуальной машине. Это отличается от модели, используемой iOS, которая использует собственный компилятор, чтобы превратить Objective-C в машинный код ARM. Java используется для разработки под Android, потому что он очень популярен среди разработчиков, он не имеет сложностей с арифметикой указателей. Поскольку он работает на виртуальной машине, нет необходимости перекомпилировать код для каждого устройства, на котором он использовался. Хотя скорость является проблемой для JAVA, тем не менее, ее популярность и преимущества перевешивают скорость.

ЯЗЫК ПРОГРАММИРОВАНИЯ KOTLIN

Kotlin - это язык программирования со статической типизацией, который работает на виртуальной машине Java, а также может быть скомпилирован в исходный код JavaScript. Он был выпущен для широкой публики в феврале 2016 года. Его основная разработка - это команда программистов JetBrains из Санкт-Петербурга, Россия (название происходит от острова Котлин, недалеко от Санкт-Петербурга). В мае 2018 года команда Google Android объявила, что Kotlin теперь является официальным языком для разработки Android. Разработчики использовали Kotlin для создания приложений для Android в предыдущие годы, но Google только что объявил о поддержке этого.

И Kotlin, и Java можно использовать для создания приложений для Android. Теперь вопрос: Какая причина может быть использовать тот или иной язык программирования?

РАЗНИЦА МЕЖДУ KOTLIN И JAVA

Если требуется добавить некоторые дополнительные функции в класс, в большинстве языков программирования создается новый класс. Функция расширения является функцией-членом класса, который определен вне класса.

Функция расширения:

Функция расширения может быть разработана на примере (Рисунок 1).

В соответствии с примером нам нужна функция String, класс должен возвращать новую строку с удаленным первым и последним символом; этот метод недоступен в классе String. Функция расширения, объявленная вне класса, создает функциональность указанного класса, расширяя предопределенные функции.

 

Рисунок  1. Пример расширения

 

«Kotlin предоставляет возможность расширять класс новыми функциями без необходимости наследования от класса или использования любого типа шаблона проектирования, такого как Decorator. Это делается с помощью специальных объявлений, называемых расширениями. Kotlin поддерживает функции расширения и свойства расширения». Эта функция расширения отсутствует в Java. Для обеспечения функциональности функций расширения обычно используются платформы Android. Но Android Framework иногда усложняет ситуацию. Java предоставляет только одно решение - создание оболочек. Но Котлин дал нам преимущество функции расширения, которая устранит трудности, связанные с платформой Android.

Конструкторы[5]:

Kotlin может иметь как первичный конструктор, так и вторичный конструктор. Ключевое слово «конструктор» используется для объявления вторичного конструктора. Всегда следует ссылаться на первичный конструктор.

 

Рисунок  2. Конструктор на языке Kotlin

 

В приведенном выше примере (Рисунок 2) первичный конструктор имеет 3 параметра, а вторичный конструктор имеет 4 параметра. В случае перегрузки конструктора в JAVA код выглядел бы так (Рисунок 3):

 

Рисунок 3. Конструктор на языке Java

 

Эта вторичная функция конструктора отсутствует в Java. Полезность вторичного конструктора заключается в том, что он сокращает количество строк кода.

Null Safety:

Одна из наиболее распространенных ошибок во многих языках программирования, включая Java, заключается в том, что доступ к элементу пустой ссылки приведет к исключению пустой ссылки. В Java это будет эквивалентно NullPointerException или NPE для краткости.

Kotlin использует функцию под названием Null Safety для обработки ситуации с указателем NULL. Если это явно не вызвано, Kotlin не генерирует исключение NullPointerException.

При программировании на Kotlin исключение Null Pointer не нарушает поток кода в отличие от JAVA. Это дает вывод как NULL.

Lazy-Loading:

Lazy-Loading используется в компьютерных программах для отсрочки инициализации объекта до точки, в которой он необходим. Таким образом, функция отложенной загрузки уменьшает время загрузки. Kotlin дает нам функцию отложенной загрузки в отличие от JAVA. В случае java такой функции, как отложенная загрузка, не существует, поэтому во время запуска приложения загружается много ненужного содержимого, что замедляет загрузку приложения.

Заключение

Анализируя, мы расшифровали, что у Java и Kotlin есть свои преимущества и недостатки. С точки зрения начинающих, Java является лучшим вариантом по следующим причинам:

Java является очень популярным языком, который широко используется разработчиками. Разработка Android - это всего лишь капля в море развития, происходящего во всем мире. Таким образом, будучи новичком, знание JAVA выгоднее, чем Kotlin, расширяющий спектр возможностей.

Во-вторых, существует огромное сообщество программистов на Java, а это значит, что мы можем найти множество ответов на вопросы, связанные с программированием на Java. Это очень важно, потому что, для новичка. Когда мы ищем информацию, связанных с Java, мы обязаны получить ответы; то же самое нельзя сказать о Kotlin, который все еще является будущим языком программирования. Есть также больше учебников, книг и курсов, как бесплатных, так и платных, которые могут научить нас разработке Android с Java, чего нельзя сказать о Kotlin.

 Думая с точки зрения разработчиков, Kotlin будет предпочтительнее по следующим причинам:

1. Это делает разработку Android намного проще;

2. Kotlin помогает уменьшить количество ошибок и ошибок в коде;

3. Kotlin безопаснее;

4. Kotlin более лаконичен.

 

Список литературы:

  1. Материал из Википедии — свободной энциклопедии, Android, URL: https://ru.wikipedia.org/wiki/Android (дата обращения: 23.08.2019)
  2. Материал из Википедии — свободной энциклопедии, Java, URL: https://ru.wikipedia.org/wiki/Java (дата обращения: 23.08.2019)
  3. Материал из Википедии — свободной энциклопедии, Kotlin, URL: https://ru.wikipedia.org/wiki/Kotlin (дата обращения: 23.08.2019)
  4. Материал из Википедии — свободной энциклопедии, Android version history, URL: https://en.wikipedia.org/wiki/Android_version_history (дата обращения: 23.08.2019)
  5. Материал из Википедии — свободной энциклопедии, Конструктор (объектно-ориентированное программирование), URL: https://ru.wikipedia.org/wiki/Конструктор_(объектно-ориентированное_программирование) (дата обращения: 23.08.2019)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

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