Part of my job is programming. Although I have never programmed a mobile app I have worked in a number of languages. I couldn't even tell you if the languages for writing apps have the same terms for what I will describe but they will certainly have these concepts.
Programming is actually a very simple thing at its core and it is more or less the same in all modern languages. What looks like gibberish to the uninitiated makes sense if you understand the basic concepts.
Basically the programmer creates objects (forms, buttons textboxes, dropdowns etc) which have properties and methods. The properties of an object describe it in every way. Length, width, Top , Left, etc are all properties of objects that are displayed. The properties can even be other objects such as the "collections" of textboxes etc in the form.
The programming language comes with a library of standard objects such as forms, textboxes and buttons. Custom objects can also be created by the programmer as a "class" where the programmer defines the properties and methods.
The objects created from a class become "instances"of a class. For example each button on a form is an instance of the button object class. The programmer creates the instance then sets the properties to define where it is and what it does when clicked.
Objects also have "methods" such as the click event which are procedures to perform tasks such as typing a letter into a box or saving a contact on a phone. The objects methods can also cause it to change behaviour. For example a speciial button class might have a Flash method which the programmer calls to manage the behaviour.
The "object model" describes the properties and methods of an object. These are centre concept in all programming.
A program is really just a set of objects and procedures to read and write the properties of objects and trigger their methods.
Programming requires the ability to model the logical processes required to produce outcomes. There are two main constructs in logic. The If/Then/Else construct (and its variants) and various forms of the Loop.
The real art is in how a programmer builds their custom object classes and how they structure the storage and retrieval of information.
Syntax is the first thing you must master in your chosen environment. This describes the details of writing an If/Then construct, a loop and how to address the properties and methods of objects. Many languages share very similar constructs and syntax. In terms of learning a spoken language it is like knowing how to build a sentence
Fluency is then ultimately about becoming familiar with the details of the object models you are working with and knowing what is already available without having to reinvent the wheel. In language terms this is the vocabulary.
And like in spoken language, programming isn't something you can just read a book, do a few exercises and presto you are there. It comes with experience. It took me about three years of part time experience to become a competent programmer. I taught myself through necessity and persistence after having a background in computers for a long time.
Programming can be very rewarding especially if you have the time and opportunity to learn how to build really efficient, powerful classes. However no app built by a novice on their first attempt is likely to be well constructed. Any programmer will tell you their early work was quite primitive.
Don't shoot straight for your killer app. Gain experience by building some simple things with your own classes while you read about the concepts I have outlined above.
In a couple of years you might well be able to build that app yourself, especially if you have a logical mind, plenty of time on your hands a commitment to your goal.