HACKER Q&A
📣 fakedang

How do I get started with developing an app from scratch?


I'm looking to try my hand at building a basic shopping list app on the side, to familiarize myself with the platforms used, so that I can better understand the experience firsthand. I've currently decided to get started with Android Studio and App Inventor, and I've got a reasonable level of beginner experience from both in the past evening. Are there any good tutorials out there that can help me learn further? Also, are there any better tools than these two out there? Cheers


  👤 LarryMade2 Accepted Answer ✓
I try to get anything going as quick as possible so I'm not just looking at code without any reward for a long time:

I start by listing the data I will need to track, wire-frame sketch some screens for entry and management. This will get me a picture of what data I will need, I want to do with it, and what tools I need to look for. (Since you are aiming for mobile, it might be good to imagine with a phone in your hand and think how would I get X entered on this device and then do Y?)

Next, I would get an initial database up and running sorting out my data elements into relatable tables as needed, then get a few sample records input as a test (maybe even straight from the DB command line - if the entry is going to be complex, at least you will have something to work with as you jump around getting stuff figured out.)

Next start work on better entry (if entry is cumbersome), also reporting, etc...

That's the start, you know what you want as the result... how to get the data where you need it and how to make value from it, one bit at a time, don't be afraid to re-do/refactor as you get things figured out.


👤 derrick_jensen
If you are just starting out, I have found Expo + React Native to be a really nice development environment. What little I have used of Android Studio, it seems overly complicated for a beginner.

👤 bjacobt
To learn android development, I've used Google codelabs and I like them.

Here is a list of android codelabs https://codelabs.developers.google.com/?cat=Android

You can start with android fundamentals which will give you the necessary knowledge in building a shopping list app.

https://codelabs.developers.google.com/codelabs/android-trai...

For shopping list app, you probably need a database, so you could try this code lab

https://codelabs.developers.google.com/codelabs/android-room... (Link for Java, they've a Kotlin version as well)

If you are looking for cross platform development, you may want to try out flutter. https://flutter.dev/

There is a tutorial on using flutter on HN frontpage, I haven't tried it though. https://news.ycombinator.com/item?id=22454115


👤 ducttape12
I'm a fan of learning enough to know how to get going, then just start building. In the process of building you'll get stuck and have to look for answers.

As for are there better tools, I don't know what your needs are. Is this for fun? Do you have a budget? Are you doing this for resume building? It's not a question of what's "best", but rather what's best for your needs.


👤 jdnordy
If you are looking to build a web application, create-react-app is a great way to get started if you're willing to learn React. It's an open source project from facebook. Here is the link the github: https://github.com/facebook/create-react-app. It's good quick start to building the front end of an application.