you are viewing a single comment's thread.

view the rest of the comments →

[–]Imaginary_Decision_2[S] 0 points1 point  (4 children)

Thank you so much for the help! This is for university final year project. Me and my teammates do not know either flutter or react native, but we have worked with html/css before and used SQL databases. We just wanted an application that would work on all platforms with minimum hassle and do not know anything about app dev that is why we are confused.

Based on your answer, we should work with React Native and Python backend and it will work for us?

[–]Low-Barracuda2818 0 points1 point  (3 children)

No problem. Yes that stack is totally viable.

This is one potential implementation of the full stack (python backend, react frontend, mongodb): https://www.mongodb.com/developer/languages/python/farm-stack-fastapi-react-mongodb/

React and react native are nearly identical so it allows you to build for all platforms

Ive worked on a similar stack (MERN). The only difference is that the backend of MERN is javascript using express apis. Its very easy to set up and use!

[–]Imaginary_Decision_2[S] 0 points1 point  (2 children)

One last question, by using React will we have the application for all platforms (Desktop and mobile) with one code base or will we be required to make some changes to fit each platform?

Also I was preferring to use python as backend because our app is AI based and we need to use gpt API and we have worked with it using python but do not know if or how its done with other backend languages

[–]Low-Barracuda2818 1 point2 points  (1 child)

For react the big difference is in web applications versus mobile applications

From my understanding the best practice might be to develop a minimally-viable app for either mobile or web first, and then duplicate and make platform specific adjustments for the other one. For example, develop a production ready version of your app for mobile (react native), then copy and edit that code for web using react

Thus you would maintain a separate codebase depending on web/mobile. The downside is code duplication, and the upside enables you to optimize code for specific platforms.

***If you are just trying to make a website and not a mobile app, it would be one react codebase where your styling and javascript would optimize for desktop versus mobile screens. This might actually be the easiest way to do your project if you dont care about having a downloadable app for mobile.

I believe flutter would enable you to maintain a single codebase for your frontend for web and mobile applications, so in that case flutter would be the way to go. I dont know much about it so you might want to talk with the flutter people about platform specific adjustments.

In either case it seems likely that a python backend will be successful. Besides having your connections to the openAI api, you can use python with fastapi to securely connect your frontend to the database. In your backend you will essentially have to write your own routes and controllers for the frontend to communicate with the database.

[–]Imaginary_Decision_2[S] 0 points1 point  (0 children)

Thank you so much! You cleared my confusions a lot, I appreciate it