I have already stated my thoughts about mobile applications. At that time, I was a little biased, then I realized that mobile applications provide more possibilities than web applications, such as offline use.
Now I am biased towards native application development for a single platform. I was thinking old-fashioned in Web / Mobile App comparison, this time I'm on the innovative side :D . Developing a Cross Platform mobile application seems to me much more profitable in terms of both sustainability and cost. It is very advantageous in terms of being able to quickly release updates to both platforms with a single command, and not requiring development with separate programming languages for both.
Of course, although the ecosystem has shifted from the web to mobile, if web applications (I'm talking about the user interfaces we view with the browser) are not completely dead, Native application development will not die either. After all, mobile needs web tools like API. Because Cross-Platform Application development only brings together the components offered by both platforms and renders the output accordingly. I can say that this common structure meets the general user needs. Obviously, there is no need to shelve applications and develop cross-platform from scratch, but it should be the first thing that comes to mind when considering a new application, unless of course it's a comprehensive project that will use features specific to a platform. An additional advantage is that it can export to the web.
Here, I would like to give importance to the concept of Responsive. Since the primary ecosystem was personal computers in the past, after designing the desktop view for large screens, we provided a useful interface on the screens of mobile devices with responsive design. Now, since the ecosystem is oriented towards mobile, we can turn the cross-platform mobile application that I created by giving priority to mobile, into tablet and desktop view with responsive design. We can say that the concept of responsive has changed direction :D
Let's get back to our topic, we started learning React Native with an elective course I took at the university. Since I have ReactJS experience from my internship, I became familiar with the basics easily. What I noticed is that the script codes of ReactJS and React Native are the same, the component outputs are different. In addition, CSS has left its place to JSON structure, but its syntax is quite similar. Of course, such a requirement was felt in order to provide a component output suitable for every platform.
We proceeded by applying what we learned during the lesson on a project, first of all, I made it possible to use the prop/state parameters more efficiently to process the api requests we call with fetch/axios, and I also made the project a whole with Router and Navigation structures. In the future, I learned to use Hooks effectively. Although I did not use Model in the project, it was a great convenience to comply with the MVC architecture.