Functional Reactive Programming in React Application
Nguyen Huu Ngoc, Chi (2018)
Nguyen Huu Ngoc, Chi
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201804235234
https://urn.fi/URN:NBN:fi:amk-201804235234
Tiivistelmä
Tsampo - is a new Finnish startup company with strong desire to create an application that connects researchers and investors. The company plans to renovate funding procedure by replacing all manual processes and converting paper works completely to electrical forms. Instead of collecting resources manually, the application can help dispatching fund request automatically from a group of scientists to subscribed list of interested investors with matching fields and criteria through connections from organization and universities.
However, those functionalities and requirements of the application have put the development of application in many challenges. User experienced slow response interface, the development process is stuck with the performance problems, unmaintainable codebase.
Therefore, the objective of this thesis is to propose software solutions for current Tsampo’s user interface while keeping development process easier in the future.
For long-term development, React is introduced to make the layout easy to maintain and understand. The interface is built with highly reusable, scalable React components. Main issues related to slow interface from complex user’s interaction and data handling can be resolved by applying functional reactive programming (FRP) as a suggestion. Functional reactive programming paradigm help abstracting sequences of user’s data updates, asynchronous requests, and events into data streams, which make managing and updating application’s state easily, dynamically, increase overall performance and reduce bugs.
In conclusion, introducing FRP’s benefits along with React have proven to resolve Tsampo’s problems. Pulling multiple files from different sources is handle without affecting application’s performance. FRP makes React component functional and reacts dynamically towards complex state changes.
However, those functionalities and requirements of the application have put the development of application in many challenges. User experienced slow response interface, the development process is stuck with the performance problems, unmaintainable codebase.
Therefore, the objective of this thesis is to propose software solutions for current Tsampo’s user interface while keeping development process easier in the future.
For long-term development, React is introduced to make the layout easy to maintain and understand. The interface is built with highly reusable, scalable React components. Main issues related to slow interface from complex user’s interaction and data handling can be resolved by applying functional reactive programming (FRP) as a suggestion. Functional reactive programming paradigm help abstracting sequences of user’s data updates, asynchronous requests, and events into data streams, which make managing and updating application’s state easily, dynamically, increase overall performance and reduce bugs.
In conclusion, introducing FRP’s benefits along with React have proven to resolve Tsampo’s problems. Pulling multiple files from different sources is handle without affecting application’s performance. FRP makes React component functional and reacts dynamically towards complex state changes.