Which platform are you planning to support for your app. There is free development software for all of them, but you have to learn how to use it and how to use the APIs to make the App do what you want it to. For iOS development you will need an Apple Mac.
Once you have written and tested your App you can publish it for free on Android and (I believe) Windows. It will cost you $100 per year if you want to join the Apple Developer Program which is necessary to publish your App on iOS.
I would recommend that you stick with one platform to start with, aiming at the one with the most users and highest potential for new users. That is Android.
So first you need to learn the general concepts of programming, then you need to learn the Java language in great detail, finally you need to learn to use the Android API. There are online tutorials and books to help with all of these tasks, but it is not a trivial undertaking.