Let’s put our theory in to practice again. I keep mentioning as we progress through this course I am going to give less and less specific instructions on how to do things. I am again going to continue with that idea in this build, and will only be giving general instructions for everything we have already covered at some point. I won’t have reminders to add import modules, or to inject dependencies through the constructor, and so on.
As I mentioned in the last application build, in cases where you do feel a bit lost/stuck I would recommend following these steps:
- Reflect on the situation independently for a little bit
- Research using the documentation or just Googling
- Go back to the equivalent situation in the Quicklists/Snapaday application or view the source code
However, we will also be exploring some new concepts in this application, and they will be covered in depth. Most notably, this application is going to take RxJS streams and reactive programming to another level. There is a use case in this application that calls for heavy usage of RxJS operators, and it provides a fantastic opportunity to really try to wrap your head around what is going on.
Don’t be intimidated by the stream if you don’t properly understand it. The situations in which you would need to do something as complex as what we will be doing are very rare (and really the only reason we need to do it in this case is because we are abusing an API in a way it wasn’t really intended to be used).
When we do get to the complex RxJS stuff, treat it more like a brain teaser to help challenge your understanding of RxJS, not something that should be obvious/make sense.
Giflist has a pretty simple concept, the general idea is that a user can enter in any subreddit from reddit, and the app will fetch and display GIFs from that subreddit.