Build a better mobile application in 2022 ! 📱
My Journey being as a React native developer since past 2 months 🔥
Table of contents
Introduction
Mero Room or (My Room) is a simple and pretty straight forward mobile application that creates a communication channel between room seeker and room owner.
Here, in this article I'm not going to describe the code I wrote during the development, 😁 But my primary goal would be that How we can build a better mobile apps in 2022 ? and secondly What challenges did I faced during the whole development process, and How we can overcome such challenges ?
How we can build a better mobile apps in 2022 ?
In this competitive market, Building a mobile is not so really easy, but is can be made super simple by considering few thing :
1. Your Idea is Everything
The most important thing behind a successful app is a solid idea. You should be able to describe your app in only one sentence. Apps are pretty disposable — if something doesn’t meet a user’s needs, they have no qualms about deleting it off their phone or tablet. So, your idea is the backbone of your application.
2. Identifying Your Audience
To build a successful app, you need to know who is your target audience . First we need to analysis the market shortly and then proceed to the next one !
3. Important vs. Nice to Have
Being as a developer, we all have the habit of including all the features in the current project. But it's really necessary to understand , the feature you are going to include in the product / project is Important or "Nice to have" . Each additional feature you includes in your app during development time, increases costs, increases complexity, and if executed poorly, can impact your users’ experiences negatively.
4. Designing your workflow and prototyping.
Now, you know what you're building, for whom you're building, and what features you are going to include in your app. So, it’s time to map your flow and build your prototypes.
When I say “map your flow,” I'm referring to the flow of actions taken by your users. Common you know that ! 😂
Challenges that I faced , and way to overcome such challenges
I think, I have prettily discussed that, How we can build mobile app efficiently above. Lol 😂. Now in this section I'm here to discuss what challenges I faced at the time of building app so called "Mero Room"
⚡prototyping and Designing the product.
Yes, I totally agree that Design sucks. And designing a product from the scratch is really a challenging job. I had suffered a lot through this problem in my designing and development Journey. and there is no way to say that I didn't passed through this problem in this app development project. I faced a lot of problem while choosing the colors, theme, How the screens of the app is going to look and all of these things. !! But, in the same time google and Dribble helped me a lot. My recommendation is
- "You should take reference from these amazing platform" .
- "There are a lot of Instagram account that provides you an amazing design solutions along with tips and trick " Simply, search for ui_gradient, ux_spring or twineuidesign. oh, common I'm not promoting them 😂..
With these all messed up, I finally completed Designing some screens..
⚡Choosing the tech stack
When it comes to choosing the tech stack, continuously it hits my head. And in this case, I was literally confused in choosing the stack because React Native and Flutter were standing in front of me. Some how I was attracted towards the React native because I was quite familiar with JavaScript and React JS but it took me a time to take the decision thinking which one is best , but trust me, none of these frameworks is best, they all have their own purposes.
✅ Pro tips : Always select a stack that you are familiar with.
⚡Challenging Authentication task
In the world of browser i.e (web development), Some of these terms like cookies, LocalStorage were quite popular and understandable terms. But when it comes to virtual Emulator and simulator these all things are gone and sounds really confusing. Storing the tokens, some local data was some how challenging for me.
✅ So, who are new to React Native, don't think anything, just open google and search for AsyncStorage if you want to store some data locally and save your time !! 👌😂
⚡Managing a large codebase
Since, project "Mero Room" is a business driven project and has a lots of files, folders and sub folders so, it was really hard to manage those files. And in my case, the name of the folders and files were not too meaningful and context fixable. So it was more tough to manage. But it may not be same for others.
✅ Pro tip :
- Always break down the project in folders and sub folders.
- Give a meaningful name to the files.
- Follow the same naming and coding convention throughout the project. Some popular naming convention are Bem convention and camelCase convention .
⚡Managing silly merge conflict in git
Since, I was working with my team, so I had a headache while managing those merge conflicts in git. It's well said that, "Little knowledge is dangerous" and my little knowledge regarding some git commands pushed me into a world of unmerged code.
✅ Pro tip :
- Always use branching system in any code hosting platform. such as GitHub, Bitbucket or GitLab.
- Always give meaningful commit name while, pushing, the code to repository. (Helps a lot while reverting a code to the previous commit )
Summary
Yes, the whole process was tough for me, but it was so much interesting, full of fun and Learnable. Working hours and hours just to add a single new features and facing the gigantic error was not too much joyful. But, result after a long hours made me very happy and emotional too. My hands on keyboard and my minds on PCM (Physics, Chemistry and Maths ) was really painful for me. But, In my case study also equally important , because I'm not a zuckerberg, larry who is going to the MIT and Harvard. I'm Just a student carrying bag on his back and going to the community school. Managing a valuable time for these subject beside the project was really tough job. Although there were so many challenges, always I tried to give best from my side.
So, guys never loose hope, be optimistic and believe in yourself and change the entire world. Always be supportive so that any others developers can be benefited. With that said, at last I want to say that, The IT world is so much gigantic always be ready to learn a new things !! ❤