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 І. А. Котов, Д. В. Швець, Н. О. Карабут
Аналіз еволюції об'єктно-орієнтованої парадигми в патернах мови 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
Анотація
Ключові слова
Повний текст:
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 І. А. Котов, Д. В. Швець, Н. О. Карабут