You can create an app for your phones in a few hours). It's basically the following: One project, one class. And once you have that working, it only gets easier! One day I am going through all my classes and checking if they are reusable or something else; how to create an app there is always "something interesting". This leads me towards using generics as much (and often more) than other Java language features such like lambda expressions, restructuring and static methods.