DOI: https://doi.org/10.32515/2664-262X.2025.11(42).1.37-45

Аналіз еволюції об'єктно-орієнтованої парадигми в патернах мови Java для мультиплатформних середовищ

І. А. Котов, Д. В. Швець, Н. О. Карабут

Про авторів

І. А. Котов, професор, доктор технічних наук, Криворізький національний університет, м. Кривий Ріг, Україна, e-mail: rioexito@knu.edu.ua, ORCID ID: 0000-0003-2445-6259

Д. В. Швець, доцент, кандидат технічних наук, Криворізький національний університет, м. Кривий Ріг, Україна, e-mail: dmіtrіy.shvets@knu.edu.ua, ORCID ID: 0000-0001-5126-6405

Н. О. Карабут, cтарший викладач, Криворізький національний університет, м. Кривий Ріг, Україна, e-mail: karabut@knu.edu.ua, ORCID ID: 0000-0002-2327-4595

Анотація

Дослідження спрямоване на аналіз еволюції об’єктно-орієнтованої парадигми у контексті розвитку патернів мови Java для мультиплатформних середовищ. Акцент робиться на тому, як зміни в архітектурних підходах, зумовлені вимогами кроссплатформності, вплинули на трансформацію об’єктно-орієнтованої парадигми — від класичних принципів інкапсуляції та поліморфізму до сучасних гібридних рішень. Мета роботи — виявити зв’язок між адаптацією Java-інструментів та зростанням актуальності патернів, що забезпечують сумісність коду з різноманітними платформами. У статті простежено еволюційний шлях об’єктно-орієнтованої парадигми у Java, починаючи з ери WORA, де віртуальна машина (JVM) була основним механізмом абстракції від платформ, до сучасних підходів, що поєднують нативну компіляцію з гнучкими архітектурними патернами. На прикладах JavaFX та Spring Boot показано, як інкапсуляція платформо-залежних деталей і поліморфізм перетворилися на інструменти створення універсальних інтерфейсів, здатних адаптуватися під мобільні, десктопні та хмарні середовища. Детально досліджено роль патернів проектування у контексті мультиплатформності. Вони розглядаються як динамічні механізми, що еволюціонували разом із Java. Окремо аналізуються виклики, такі як зростання складності архітектури при інтеграції з нативними API або обмеження продуктивності JVM у порівнянні зі скомпільованими рішеннями. Показано, як модульність допомагає подолати ці обмеження, зберігаючи переваги об’єктно-орієнтованої парадигми. Аналіз еволюції об’єктно-орієнтованої парадигми в Java свідчить, що її принципи — інкапсуляція платформо-залежної логіки та поліморфізм для єдиного інтерфейсу — залишаються основою для створення гнучких мультиплатформних систем. JVM поступово доповнюється інструментами, що відкривають доступ до хмарних середовищ, IoT і нативної оптимізації. Патерни проектування трансформуються з класичних шаблонів у механізми адаптації, балансуючи між універсальністю та специфікою платформ. Сучасні виклики, зокрема компроміс між продуктивністю JVM та нативними рішеннями, а також інтеграція з вузькоспеціалізованими API, вимагають глибшого синтезу об’єктно-орієнтованої парадигми з новими підходами. Розвиток гібридних парадигм і фреймворків формує майбутнє Java, де архітектурна гнучкість дозволяє здолати технологічні обмеження, зберігаючи актуальність мови в умовах фрагментації цифрових екосистем.

Ключові слова

абстракція, адаптація, інтерфейс, інфраструктура, клас, мультиплатформність, парадигма, патерн, додаток, фреймворк

Повний текст:

PDF

Посилання

1. Itvedant.com. (n.d.). What Gives Java its Write Once Run Anywhere Nature? Retrieved February 10, 2025, from https://www.itvedant.com/blog/java-write-once-run-anywhere

2. Chin, S., Vos, J., & Weaver, J. (2024). The Definitive Guide to Modern Java Clients with JavaFX. Berkeley, CA: Apress. doi:10.1007/979-8-8688-0998-9

3. Eck, D. J. (2022). Introduction to Programming Using Java, Version 9, Swing Edition Series. New York: Hobart and William Smith Colleges.

4. Pinto, C. M., & Coutinho, C. (2018). From Native to Cross-platform Hybrid Development. In 2018 International Conference on Intelligent Systems (IS). IEEE. doi:10.1109/is.2018.8710545

5. Jangassiyev, R., Umarova, Z., Ussenova, A., Makhanova, Z., Zhumatayev, N., Amirov, M., & Koishibekova, G. (2024). Comparative analysis of cross-platform development methodologies: a comprehensive study. TELKOMNIKA (Telecommunication Computing Electronics and Control), 23(1), 108. doi:10.12928/telkomnika.v23i1.26331.

6. Hiwale, P. R. (2022). Review On Cross-Platform Mobile Application Development. International Journal for Research in Applied Science and Engineering Technology, 10(1), 1433–1439. doi:10.22214/ijraset.2022.40004.

7. You, D., & Hu, M. (2021). A Comparative Study of Cross-platform Mobile Application Development. In 12th Annual Conference of Computing and Information Technology Research and Education.

8. Punia, A., Singh, A., Goyal, A., & Arya, A. (2024). Evaluating Kotlin Multiplatform: Superior cross-platform development. SSRN Electronic Journal. doi:10.2139/ssrn.4836587

9. Sonoyama, A., Kamiyama, T., Oguchi, M., & Yamaguchi, S. (2021). Performance Study of Kotlin and Java Program Considering Bytecode Instructions and JVM JIT Compiler. In 2021 Ninth International Symposium on Computing and Networking Workshops (CANDARW). IEEE. doi:10.1109/candarw53999.2021.00028

10. Nagy, R. (2022). Simplifying Application Development with Kotlin Multiplatform Mobile: Write robust native applications for iOS and Android efficiently. Birmingham: Packt Publishing.

11. Oracle. (n.d.). Java NIO. Retrieved February 12, 2025, from docs.oracle.com/en/java/javase/22/core/java-nio.html

12. Spring Boot. (n.d.). Retrieved February 12, 2025, from https://spring.io/projects/spring-boot

13. Java Dependency Injection. (n.d.). DigitalOcean. Retrieved February 14, 2025, from www.digitalocean.com/community/tutorials/java-dependency-injection-design-pattern-example-tutorial

14. GraalVM. (n.d.). Retrieved February 14, 2025, from https://www.graalvm.org/

15. Apache Commons. (n.d.). Retrieved February 15, 2025, from https://commons.apache.org/

16. Google. (n.d.). Guava. GitHub. Retrieved February 15, 2025, from https://github.com/google/guava

17. Joshi, R. (2015). Java Design Patterns. Exelixis Media.

18. libGDX. (n.d.). Retrieved February 16, 2025, from https://libgdx.com/.

Пристатейна бібліографія ГОСТ

1. What Gives Java its Write Once Run Anywhere Nature? Itvedant.com. URL: https://www.itvedant.com/blog/java-write-once-run-anywhere (date of access: 10.02.2025).

2. Chin S., Vos J., Weaver J. The Definitive Guide to Modern Java Clients with JavaFX. Berkeley, CA : Apress, 2024. 626 c. DOI: 10.1007/979-8-8688-0998-9.

3. David J. Eck. Introduction to Programming Using Java, Version 9, Swing Edition Series. New York : Hobart and William Smith Colleges, 2022.

4. Pinto C. M., Coutinho C. From Native to Cross-platform Hybrid Development. 2018 International Conference on Intelligent Systems (IS), м. Funchal - Madeira, Portugal, 25–27 верес. 2018 р. 2018. DOI: 10.1109/is.2018.8710545.

5. Comparative analysis of cross-platform development methodologies: a comprehensive study / R. Jangassiyev та ін. TELKOMNIKA (Telecommunication Computing Electronics and Control). 2024. Т. 23, № 1. С. 108. DOI: 10.12928/telkomnika.v23i1.26331.

6. Hiwale P. R. Review On Cross-Platform Mobile Application Development. International Journal for Research in Applied Science and Engineering Technology. 2022. Т. 10, № 1. С. 1433–1439. DOI: 10.22214/ijraset.2022.40004.

7. You D., Hu M. A Comparative Study of Cross-platform Mobile Application Development. 12th Annual Conference of Computing and Information Technology Research and Education, New Zealand. 2021.

8. Evaluating Kotlin Multiplatform: Superior cross-platform development / A. Punia та ін. SSRN Electronic Journal. 2024. DOI: 10.2139/ssrn.4836587.

9. Performance Study of Kotlin and Java Program Considering Bytecode Instructions and JVM JIT Compiler / A. Sonoyama та ін. 2021 Ninth International Symposium on Computing and Networking Workshops (CANDARW), м. Matsue, Japan, 23–26 листоп. 2021 р. 2021. DOI: 10.1109/candarw53999.2021.00028.

10. Nagy R. Simplifying Application Development with Kotlin Multiplatform Mobile: Write robust native applications for iOS and Android efficiently. Birmingham : Packt Publishing, 2022. 184 с.

11. Java NIO. Oracle.com. URL: https://docs.oracle.com/en/java/javase/22/core/java-nio.html (дата звернення: 12.02.2025).

12. Spring Boot. Spring.io. URL: https://spring.io/projects/spring-boot (дата звернення: 12.02.2025).

13. Java Dependency Injection. Digitalocean.com. URL: https://www.digitalocean.com/community/tutorials/java-dependency-injection-design-pattern-example-tutorial (дата звернення: 14.02.2025).

14. GraalVM. Graalvm.org. URL: https://www.graalvm.org/ (дата звернення: 14.02.2025).

15. Apache Commons. Commons.apache.org. URL: commons.apache.org (дата звернення: 15.02.2025).

16. Google Guava. Github.com. URL: https://github.com/google/guava (дата звернення: 15.02.2025).

17. Joshi R. Java Design Patterns. Kesariani : Exelixis Media, 2015. 173 с.

18. libGDX. Libgdx.com. URL: https://libgdx.com/ (дата звернення: 16.02.2025).


Copyright (c) 2025 І. А. Котов, Д. В. Швець, Н. О. Карабут