Those apps aren't helpful sadly. The best way to learn programming is by making things. The apps can make you think you're learning syntax, apis, OOP, a language, or other concepts but the second you're asked to make something or apply your knowlage it's all useless.
Honestly the best thing is and has always been learn by doing with current "professionals" (people working in the field). Try something, get feedback, adjust and learn and grow. Nothing else compares to real world integration.