Дослідження функціонально-орієнтованих розширень фреймворків для створення Android застосувань

Виконав студент групи ДА-22

Сутула Олександр

Науковий керівник: І.А. Голубова

Мета: підвищення ефективності створення Android застосувань.

Предмет дослідженя: застосування фреймворків та мов програмування для створення мобільних додатків операційної системи Android.

Об'єкт: технології розробки мобільних додатків для операційної системи Android.

Недоліки Java

  • Багатослівність та об’ємність коду
  • Вимушена зворотня підтримка помилок
  • Складність обробки потоків
  • Відсутність сучасних методів розробки

Функціональне та реактивне програмування

  • значно спрощують процес розробки систем що базуються на взаємодії з користувачем
  • відсутня потреба у синхронізації потоків
  • можливість декларативного стилю
  • зменшення об'єму коду

Порівняння підтримки парадигм мовами, що застосовуються для розробки Android застосувань

Імперативна ООП Функціональна Процедурна
Java + + +
Clojure +
Groovy + + +
Scala + + + +

Порівнняня Groovy та Scala

Groovy Scala
Динамічно типізована мова Статично типізована мова
Час компіляції базового проекту: 60-90 секунд Час компіляції базового проекту: 20-40 секунд

Фреймворки

Functional Java

RxJava

Retrolamda

Контрольні додатки

  1. Клієнт-серверні додатки (А);
  2. Додатки, що виконують контрольні задачі (В):
    1. N-body проблеми,
    2. заповнення, обхід і видалення трьох бінарних дерев.

Реалізовані мовами Java та Scala з використанням RxJava фреймворку

Критерії порівняння 

Клієнт-серверний додаток N-body Бінарні дерева
об'єм коду A
продуктивність A
час виконання B B
споживання енергії B B
використання оперативної пам'яті B B
розмір додатку A B B
час запуску додатку A B B

Об'єм та структура коду

Кількість рядків

Кількість файлів

додатки А

Продуктивність

додатки А

∑ = 21

тиждень

задачі

Розмір додатку, час запуску та встановлення

Мова Розмір додатку проекту A Розмір додатку для вимірів B
Java 4 106 KB 180 KB
Scala 7 367 KB 4 041 KB
Java + Proguard 3 506 KB 180 KB
Scala + Proguard 4 028 KB 568 KB

Час виконання

додатки B

∆ =1,73 c

∆ =0,4 c

Споживання енергії

∆ = 1,7

∆ = 0,6

додатки B

Дж

Використання оперативної пам'яті

додатки B

Висновок

У роботі були визначені критерії оцінки застосування  функціонально-орієнтованих розширень для розробки мобільних додатків. 

Проведено ряд експериментів, що показав доцільність розширення функціоналу Java за допомогою Scala з використанням RxJava.

Апробація роботи

  1. Сутула О.В. Functional reactive paradigm advantages developmaent / Сутула О.В. // International Scientific Journal. – 2015. – #9. – C. 59-61.
  2. Сутула О.В Порiвняння методiв розробки для мобiльної платформи Android. / Сутула О.В.// Системний аналіз та інформаційні технології : «САІТ-2016», 30 травня –2 червня 2016, Київ, Україна : матеріали. – К. : НТУУ «КПІ», 2016. – С. 113
  3. Сутула О.В. Переваги використання реактивної парадигми програмування для створення Android додатків Збірник матеріалів VI Міжнародної науково-практичної конференції молодих вчених "ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ: ЕКОНОМІКА, ТЕХНІКА, ОСВІТА '2015", 19-20 листопада 2015 року, Київ, НУБіП України. – К.: НУБіП України, 2015. – 323 с.

Дякую за увагу!

Diploma

By Sania Sutula

Diploma

  • 405