3 Taking an app from concept to code
This chapter covers
- Defining the scope of an application
- Designing the user interface
- Organizing the code for an app
- Streamlit's workhorse input widgets
In my beginning days as a software engineer, I was often surprised by how much of my time was spent on activities other than writing code. I'd spend multiple days or even weeks simply understanding the problem I was trying to solve and even more time in design, all before typing a single line of code.
At the time, I felt anxious because I didn't feel productive. Scribbled meeting notes and design docs didn't do anything. With time, I realized that those days and weeks weren't actually wasted; they made the end-product better because of how deeply I'd thought about what I was trying to do.
Likewise, this book is not just about teaching you to write Streamlit code. It's about helping you learn to develop apps in the real world. Planning and design are inescapable parts of this process.
Though we don't have weeks to spend on these topics, this chapter will give you a taste of the end-to-end experience of developing an app.
We'll start with the concept for an app and convert it into a set of requirements. We'll then come up with a design that meets those requirements, working backwards from the user experience, and also think about code organization.