It needs not to be with the expectation that everybody will become an app developer.
Learning to code provides a person with an opportunity to develop a better understanding of
1. How a sequence of operations is constructed
2. How logic is part of the decision making process
3. How to approach problems in an organized fashion
4. How to communicate, describe and document ideas
5. How to work with others in a collaborative environment
My business (https://www/mimetics.ca) uses robots to teach programming, but it's important to note that not everyone will become a programmer (or develop applications for robots) but the skills learned by creating simple applications are applicable in life and will help then in a multitude of other pursuits.
Saying that people should learn to code because at some point they will probably will have to program an app is counter-productive and will probably create some very negative perceptions about it. Teaching people (kids) programming as a way to develop the soft skills above and give them a taste of it so they can decide whether or not to pursue it as a career is much more effective and positive.
myke