
Ask HN: How do I get started with developing an app from scratch? - fakedang
I&#x27;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&#x27;ve currently decided to get started with Android Studio and App Inventor, and I&#x27;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
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.

~~~
fakedang
Okay, I checked out Expo, but I'm having a hard time getting started. What
exactly should I do to install it on my PC and get it running?

------
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](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...](https://codelabs.developers.google.com/codelabs/android-training-
welcome/index.html?index=..%2F..index#0)

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

[https://codelabs.developers.google.com/codelabs/android-
room...](https://codelabs.developers.google.com/codelabs/android-room-with-a-
view/index.html?index=..%2F..index#0) (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/](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](https://news.ycombinator.com/item?id=22454115)

~~~
fakedang
Thank you. This list is quite the read, but it's helpful!

------
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.

~~~
fakedang
It's actually just to get a relatively shallow level of understanding of how
the basic development of an app is carried out. I've had past coding
experience in C++, Python and R, but somehow the intricacies involved with
building an app, launching it and getting it to speed escape me.

------
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](https://github.com/facebook/create-react-app). It's good quick start to
building the front end of an application.

