Learning how to make apps using a particular language and tools has never been easier. There are tons of tutorials and online guides that can help you go in app development. Despite the huge number of resources, it is easy to get lost, especially if you are a beginner.
This article is aimed at anyone at beginners or intermediate. If you are asking any of the below questions, keep reading, the article is crafted for you.
- How to become an app developer?
- What languages do I need to learn before making my first app?
- Where is the best place to start the app development process?
No doubt you have Googled it a lot on their own, but if you still require a pair of safe hands and guidance through the process, you can always sign up for an article to livecoding.tv (or login into your existing article if you already have an account ) and follow broadcasters that work on the technology you like.
In addition to that, even if you have no idea where to begin or what pre-requisites are required before you can embark on any app development process, we are here to help you. Normally, the app development process is broken down into four steps:
- Background and Prerequisites
- Picking up an idea
- Define core functionalities, Sketch your App and its User Interface
- Finding Solutions
- Start developing your App with the help of a mentor
Background and Prerequisites
Now the kind of back-end work needed before you can learn how to make apps is dependent on the type of apps and development work that you would like to do in the future. If you are just interested in superficial work like making a simple website with basic functionality, all you need to have is a beginner knowledge of the computer and web development. Things can become complex easily if you are aiming to add more features to your website.
However if you plan to become a competent app developer you need good knowledge technologies such as Javascript, HTML/CSS, C# or PHP or Python or Ruby on Rails. The choice of server-side programming language depends on your personal preference and future goals. For example, if you want to become a PHP developer, you need to choose PHP. You can also choose Ruby on Rails if you aim to be a Ruby developer!
Furthermore, you will also need a basic knowledge of a database language such as MySQL. Database languages are mostly easy as you only need to learn the basics and start implementing them in your development. It is never a good idea to skip learning a database language as it will handicap you in developing simple websites.
With all the background and prerequisite completed, it is now time to move to the next step, i.e., “Picking up an idea.”
Picking up an idea
Learning tools and languages is just one step towards making an app. The next step is to decide on what you want to work on. If you are like me, you would probably think of something complex and struggle at the initial stages. So, it is always better to pick up a small project idea and complete it before moving to something hard.
For example, you can focus on a simple game like Tetris or a General Knowledge Quiz or even Tic Tac Toe in the beginning. Write down your idea(steps to take when developing the app) and search for any similar apps on the store. The more apps available on the store, the better as you will be able to incorporate all of their ideas into yours for practice. You then just need to create a self-sufficient app idea that you think you can tackle and work on. Never try to implement everything that you see, it will only slow you down.
Another thing that you can focus on is the audience for your app. Even if you are just experimenting for the sake of learning, it is a good idea to know your audience and what they need. Afterall, you are building an app for others to use, so why not take your audience into account? With clear idea creation, it is now time to move to the next step, i.e., defining core functionalities, creating a rough sketch and its user interface.
Define Core functionalities, Sketch your App and its User Interface
Once your idea is in place, you can now move forward to define the core functionalities that you want to target. In this stage, you may also want to draw the App sketch and its user interface.
Let’s go through an example to make it easy for you understand the reasoning behind this step. Let’s take a quiz app. A quiz app should function in a very simple manner. It would let the user take quizzes! How simple is that? However, don’t become too confident and add innumerable features to the app. Never try to build a universal app with all the features possible. It doesn’t work that way. Carefully select the functionalities that you want in this app and start with the simplest ones like:
- User can set up an account (Using social media for fast login)
- Admin can delete an account.
- User can easily retrieve passwords through the parent email
- The users can see high scores and compete with each other to get their initials on top.
- There can be three levels of difficulty for the questions, Beginners, Intermediate and Advanced.
And, so on. These basic set of functionalities will drive your future programming and you should get them right and detailed. That is why you should always start with very simple apps.
Once you are done with functionalities, you need to make a sketch the basic UI of your app using basic sketching techniques. The sketches doesn’t have to be top-notch and should only be created to guide you.
Start with a simple layout of the menu and then proceed to the quiz section. The sketches need to be detailed but not perfect. You also need to determine the data flow at the backend and make a flow diagram for it. The visualization will help you big time.
Finding Solutions
Now a big part of any programmer’s work is to find solutions to the problems. Sometimes, coding from scratch is useful and necessary as a learning process but more often it is not as it slows you down considerably. A better approach is to learn from other people’s code and implement some features by your own. A mixed approach will help you move forward at a good pace.
You don’t have to copy-paste an entire solution that exists before but you can tweak the code according to your requirements. It is especially true for backgrounds, visual coding templates and video games that can be found very easily on the internet.
Github, Livecoding.tv can also be a great place for you to explore. You can even find exact project on either of the platform. All you can do is study them and try to implement your app from scratch.
Start with Your App and Find a Mentor
This is the hardest step that you will encounter while developing your app! It is now time to code and go through hundreds of errors by your own. We encourage learners to develop the app of their own, but don’t forget to take help when needed. Getting a mentor can help you gain important perspective of your work..
You should try to implement one feature at a time. Test it thoroughly and then move to the next feature. This way you will always be in touch with your work and not feel stressed by the end goal. You can use Livecoding.tv platform to find a mentor. Check the article “How will broadcasters make money on Livecoding.tv” to learn about mentorship(point number 4).
Also, it is a good idea to create a checklist for your project. Checklist is a great way of handling any project and should never be ignored.
Last but not the least!….
Never be afraid to make mistakes. The idea is to innovate and work hard. All these badass programmers and developers have gone through the same process of denial, acceptance and mastery. It takes time and patience to become one of them.
Nobody is born with these skills and you just have to learn them. You, like everybody else, are bound to make mistakes in each of the steps we have listed here but never let a mistake become a hurdle in your learning.
It is perfectly normal to get stuck in a particular phase for days and weeks while breezing through the rest of them in a matter of hours and minutes.
Every coder has a different learning curve and doing it right is more important than doing it fast enough at this stage.
Take it slow and soon you will be developing some really great apps and showcasing your skills! How did you like the guide? Do you find it useful? If yes, don’t forget to comment below and share your thoughts with the Livecoding.tv blog audience!