If you are contracted to develop an app, your contract should state who gets ownership of the result. The norm is that your client gets full rights, so if anyone wants to use this app afterwards, they´d have to license it with them. Of course you are free to make other deals like shared revenue, or you keep the rights and just grant them (one) license.
You should also look at who will give support and who will bear liability for that app, if others are to use it. So in some cases it may be better to just deliver you work and leave all rights and liabilities to the client. If you do not, make sure you have adequate insurance for the the whole product-live-cycle!
If you have no (written) contract, normally copyright kicks in and you have all the rights - though the client might argue that is not what was agreed upon and you have a verbal contract that says otherwise. So best to stay away from any ambiguity and have it written. This protects mainly the clients interest, as he will want to get the rights for what he paid for, but also spares you the potential conflict. Remember you are the one doing it professionally and as such should counsel the client in his best interest.
Edit, after comments by OP: A License is noting more than a "permit to use" i.e. a form of contract. This is kind implicit if you give somebody a copy of your software and he pays you for it. What form the license must take (implicit, verbal, electronic, written, with protection in the program) is dependent on what the parties are comfortable with. There are no rules for that.