It's easy to have an idea. It's harder to learn the skills necessary to execute that idea. The next time that you come up with a project, build on the skills you have, not the skills you want to learn.
Starting any new venture is bound to involve a bit of a learning curve. However, if you have an idea for an app, but no coding experience whatsoever, you're going to have a much tougher time of it than someone who's already a developer. Learning how to code while you're making an app are two separate projects. Rather than trying to build a project on skills you don't have, start with the skills you do have. As productivity blog Riskology explains:
If you're a developer, you should build something that uses those skills. If you're not, you should probably pick something else. If you're a furniture builder, pick a project that's going to make use of your crafting skills.
There will be plenty more to learn along the way, and you'll be pressed for time at every turn. Don't weigh yourself down by having to learn a whole new fundamental skill.
Of course, that's not to say you can never learn new skills! Just keep in mind that learning an entirely new skill is going to be a project all on its own. Once you've educated yourself on a particular skill and have some experience with it, then you can start a project in that field.