I need to create a cross platform application for a local sports club. The main features are:
Members of the sports club should be able to log in and rsvp for sporting events like practices and tournaments.
There should be an attendance record for each member and the events they have attended.
Members should receive notifications for events.
Directory with contact information of all members.
Admin login should have additional features:
View attendance records for all members.
Add sporting events.
Add photos to the gallery.
Setup notifications for RSVP deadlines.
This app is for a college project so it does not need to be perfect. I am thinking of using flutter or react native for this and I am computer science student but I haven’t used either software before. What would you guys recommend to do? How should I approach this project if I have 2 weeks to finish it? Are there any projects on github I can use?
I have tried searching online for youtube tutorials but I can’t find anything that matches the kind of app that I want to build.
3
Answers
You can use both. I will choose ReactNative because it uses JavaScript you can find more sources and examples on the web. Later on, your JavasScript skills can be utilized in other frameworks BE or FE. If you go with Flutter you will have to learn Dart. I’m not familiar with the component ecosystem on Flutter there might be some UI components/widgets to get you started, but Dart is only used for Flutter development, so if you don’t plan to become a Flutter developer it is pretty much useless. One huge downside of Flutter is the way you debug your UI layer, since Flutter is drawing over a blank canvas you don’t have a real representation of how your components are laid out on the screen.
ReactNative will give you close to native performance, there are a lot of UI Libraries that you can reuse, and it uses JavaScript.
Both Flutter and React Native are great choices for your project.
For your project, you can follow these steps :
Implement the admin features for managing events, photos, and notifications.
It depends
As someone who has now worked with both Flutter and React Native now (Mostly Flutter), I recommend:
React Native, if you like JavaScript, HTML & CSS.
Flutter, if you are more comfortable with Java or is a complete beginner. It has types, null safety, and is more friendly for new developers. The productivity is much better with flutter, since there are types on variables and null safety. This means, that you almost always gets the warnings in your IDE, but mostly never when running the application. If you choose Flutter, Android Studio is my preffered IDE.
Also, it is worth noting, that iOS Development works almost only with a Mac. I say "almost", since you can use "Expo Go" to test your application on an iPhone with React Native. However, since you want to send Push Notifications, it can only be enabled through Xcode and with a Developer Certificate (for iOS) anyway. That way a Mac is basically needed for Cross Platform Development.
Also also, no matter, which one you choose, it will take quite some time to develop an app.
Courses
Good sources for courses on YouTube is NetNinja. I personally used his "Flutter for beginners" and "Flutter Firebase" in 2020. His courses are kind of outdated now, because Flutter has improved by getting null-safety. So you might run into trouble there. However, he has a good React Native course, that seems to be up to date.