The original Melvil app, developed in Flutter, primarily served for listening to audiobooks. When we were tasked with adding an e-book reader to the application, the question before us was whether to stay with Flutter, or go the native route and take advantage of the existing native libraries. After thorough research of both options, we picked Flutter. The framework allowed us to maintain a unified codebase for all platforms while retaining full control over the code, providing high flexibility for future further app development.
The e-book reader utilizes the Flutter WebView plugin, which is responsible for displaying individual book pages. Pages inside the WebView are rendered using JavaScript. Swiping between pages and all the control elements are implemented within Flutter.
We designed the e-book reader to be fast and intuitive. Users can easily navigate between chapters, search within the book, highlight favorite passages, and write their own notes. All personal comments are neatly organized in one place where users can freely browse, edit, or export them. We paid special attention to the tablet user experience, which was facilitated by our clever implementation of Flutter.
We are still actively working on improving the application, and we are also preparing a lot of new functionalities. With the implementation of this e-book reader, Jan Melvil Publishing is cementing its leading position on the market in the field of personal development and education.