menu
light
dark

VocabMemorizer

Once we decided to create a mobile multiplatform application for learning foreign words. At that time, Flutter was still in its Beta phase as a technology. So we opted not to use it and instead chose Nativescript with Angular flavor for the frontend, and PHP (Symfony) + Clojure for the backend.

First and foremost, our dedicated team focused on coding the backend. We utilized PHP for most of the API endpoints since we already had numerous bundles that made the coding process more efficient. For service commands and error handling scripts, we used Clojure. This allowed us to retrieve service information faster without overloading our web server (we used NGINX).

Next, we began developing the frontend of the mobile app. Everything went smoothly until we encountered the need to update our tech stack. When the product was nearly complete, we realized that updating Nativescript would compromise reliability and the safety of the development process, as all the test utilities were broken. To add to the chaos, the open source modules we relied on suddenly became available only through monthly paid subscriptions.

We came to the realization that we couldn't finish the project using Nativescript. Therefore, we made the decision to complete the beta version without updating Nativescript, while simultaneously transitioning to Flutter.

And let me tell you, our journey with Flutter since then has been more than enjoyable. :)