There is a set of features that helps you to study languages.
1. Repetition system
You need to repeat words and phrases every day and the repetition system is crucial. Only one system is efficient: Spaced repetition. Unfortunately a lot of apps offer you to repeat all words that you know randomly and this wasting your time. Any repetition system will help you learn 1000 words but if you need 8000 or more then Spaced repetition is mandatory.
2. Words
If you want to become a fluent foreign language speaker then you need to know several thousand words and the same amount of words in your application. Books and movies are not as efficient as cards because rare words are rare, only apps force your education.
The word «green» is not only green but also green and green. Good apps give you all popular meanings. The best apps should give you rare meanings at a higher level.
Examples of using words are very helpful in most cases. «Acquisition» and «Virtue» are incomprehensible words without accompanying phrases. Good apps contain the examples for the most word meanings. The best apps provide words always in examples.
3. Phrases
Knowing words is not enough, you need the ability to speak. Trainings with phrases and idioms let you speak without thinking.
You can study grammar with textbooks or with cards in an application. The second way is usually more efficient because you really don't need to know what is «adverb» but you just need to use it correctly.
4. Customizable lessons
Tapping test for words and phrases is extremely popular and absolutely useless. If you need to learn how to write a word then just type it using standard keyboard. If you need to translate a phrase then just do it in your mind and check the result with the answer in the card. Unfortunately only a few apps do not contain the tapping test or allow you to disable it.
If you know a language a little then you don't need to study trivial words and grammar. The application should adjust itself to your level.
You need languages for a reason: travels, work, online games etc and accordingly you need special vocabulary. If the application is good it will provide you with additional specialized lessons.
5. User words
Sometimes you meet a word that you need to learn right now. Just add this word to your application if it supports this function and study it today.