Оne of the approaches to teaching the course «Reactive programming»

Authors

  • Yu.V. Polupan National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”, Kyiv city
  • P.Yu. Rodionov National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”, Kyiv city

DOI:

https://doi.org/10.33216/1998-7927-2023-280-4-101-106

Keywords:

reactive programming, reactive extensions, ReactiveX, Rx, RxJS, RxJava, Angular, React, framework, Observable, Observer, Sibscriber, Spring, TypeScript, JavaScript, high-load applications

Abstract

Today's business needs a new type of software system that will no longer be sensitive to any demands. This needs can be satisfied by accepting reactive programming; However, the development of such systems is a complex task and requires a deep understanding of the subject matter. Therefore, for most classic coders, learning the fundamentals of a reactive approach when creating high-value add-ons is an urgent task.

The discipline “Reactive Programming” is included in the complex of thorough, continuous training of specialists in the major program “Software Information Systems Engineering”, specialty 121 “Software Engineering”. In the structural-logical scheme, the initial discipline is taught at the stage of training of fakivts of the educational qualification level “bachelor”. The discipline is based on the knowledge, skills and intelligence acquired by students in the disciplines “Fundamentals of Programming”, “Fundamentals of Computer Systems and Measurements”, “Parallel Computing Technologies”, “Functional Programming”.

However, there are many approaches to the development of reactive programming. You can look at a more theoretical basis, including behavioral patterns such as Observer and Iterator, which underlie reactivity, and you can look at reactivity in a practical sense, including ready-made tools (reactive extensions and frameworks), this is how independent and highly productive reactive additives are created.

In this article, one of the approaches of the discipline “Reactive Programming” is grounded in the most basic principles, and tools are provided for a more effective understanding of the basic principles of reactivity. With this discipline, a more practical approach is adopted using the Angular web-framework, which is based on the RxJS library with its ability to create reactive code. With this, students will begin to develop asynchronous clicks for an additional impersonal approach and create web add-ons that use the popular Angular framework from Google.

The popularity of the framework is due to several important aspects, the main of which can be called ease of use for the developer. Programs in Angular are written smoothly, the code has a clear structure. Angular is suitable for writing add-ons for a variety of platforms, it has a large initial base and great flexibility, so you can connect third-party tools and modules that expand the already great functionality.

References

1. Lamis Chebbi "Reactive Patterns with RxJS for Angular", Published by Packt Publishing Ltd, 2022.

2. Sergi Mansilla "Reactive Programming with RxJS". The Pragmatic Programmers, 2015.

3. Дворецький М.Л., Дворецька С.В. Розробка односторінкових вебзастосунків та адаптивних інтерфейсів. Навчальний посібник – Миколаїв, Чорноморський університет імені Петра Могили, 2020 –69 с.

4. Praseed Pai, Peter Abraham «C++ Reactive Programming: Design concurrent and asynchronous applications using the RxCpp library and Modern C++17» // Packt Publishing, 2018. 348 pages.

5. Čukić, I. (2019). Functional Reactive Programming in C++. In: Zsók, V., Porkoláb, Z., Horváth, Z. (eds) Central European Functional Programming School. CEFP 2015. Lecture Notes in Computer Science(), vol 10094. Springer, Cham. https://doi.org/10.1007/978-3-030-28346-9_2.

6. Tomasz Nurkiewicz, Ben Christensen «Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications» 1st Edition // O'Reilly Publishing, 2016. 372 pages.

7. Guide of RxJS [Online] Available from: https://rxjs.dev/guide/overview [Accessed Dec 10, 2022].

8. BampakosA., DeelemanP. Learning Angular. Packt Publishing, 2020.

9. ChivukulaS.R., Iskandar A. «Web Development with Angular and Bootstrap» // Packt Publishing, 2019.

10. Doguhan Uluca «Angular for Enterprise-Ready Web Applications» // Packt Publishing, 2020.

11. Adam Freeman, «Pro Angular. Build Powerful and Dynamic Web Apps». Fifth Edition. Publisher: Apress Berkeley, CA. 2022, 880 pages. DOI: https://doi.org/10.1007/978-1-4842-8176-5.

12. Adam Freeman «Pro Angular 9. Build Powerful and Dynamic Web Apps» // Publisher: Apress Berkeley, CA. 2020, 784 pages. DOI: https://doi.org/10.1007/978-1-4842-5998-6.

13. Adam Freeman, «Pro Angular. Learn to harness the power of modern web browsers from within your application’s code» // Second Edition. Publisher: Apress Berkeley, CA. 2017, 788 pages. DOI: https://doi.org/ DOI 10.1007/978-1-4842-2307-9.

14. M. Holmes He «Creating Apps with React Native. Deliver Cross-Platform 0 Crash, 5 Star Apps» // Publisher: Apress Berkeley, CA. 2022, 436 pages. DOI: https://doi.org/10.1007/978-1-4842-8042-3.

15. Nabendu Biswas «Beginning React and Firebase. Create Four Beginner-Friendly Projects Using React and Firebase» // Publisher: Apress Berkeley, CA. 2022, 184 pages. DOI: https://doi.org/10.1007/978-1-4842-7812-3.

16. Hari Narayn «Just React! Learn React the React Way» // Publisher: Apress Berkeley, CA. 2022, 369 pages. DOI: https://doi.org/10.1007/978-1-4842-8294-6.

17. The web development framework for building the future [Online] Available from: https://angular.io [Accessed Oct 25, 2022].

Published

2024-01-12