In some ways, programming is like riding a bike. You're not going to forget how to write code if you don't do it for a while. On the other hand, it's a skill that takes plenty of practice to learn and even more to maintain.

Whether you're a relative newcomer to the world of programming or a seasoned veteran, practice makes perfect. That's why we've compiled a list of coding apps to help you stay on top of your game by coding wherever you are.

1. Enki

You can almost think of Enki the same way you would an exercise app. It provides you with daily workouts, but here you're leveling up your coding skills instead of burning fat and building muscle. Simply select your language of choice and the app will keep you on track.

The app supports everyone from beginners to more experienced coders. If you're just starting off, you can use the app to learn web technologies before moving on to JavaScript. It doesn't just teach you how to program either. Enki also helps you learn subjects related to programming like using the Linux command line and managing version control with Git.

Enki is free to use, but an optional subscription adds premium features like additional workouts. This is fairly standard among programming apps, but with Enki, you'll learn plenty without paying a dime.

Download: Enki for Android | iOS (Free)

2. Grasshopper

Unlike some of the other coding apps on this list which feature multiple languages, Grasshopper sticks to one: JavaScript. This makes sense as not only is JavaScript relatively easy to learn, but it's also used for a wide range of applications.

You start off very basic by learning the fundamentals before moving on to more advanced concepts and language features. As you progress you'll even use the D3 data visualization library to show off your skills with graphics. The Grasshopper team is always adding new courses, so you shouldn't have to worry about running out of learning material.

To ensure you stick with it, Grasshopper motivates you to log in every day. Other apps like Todoist have used this in the past, and while it won't motivate everyone, it could be just what you need to keep you going. At least for now, this app is entirely free with no in-app purchases.

Download: Grasshopper for Android | iOS (Free)

3. SoloLearn

SoloLearn main menu

One of the best "learn to code" apps on this list, SoloLearn earns major points for the sheer amount of learning material. Most of the other multi-language coding apps listed offer a few languages at best. SoloLearn, on the other hand, boasts impressive language support, including C, C++, Java, JavaScript, PHP, Python, Ruby, Swift, and more.

Like some of the other apps on this list, SoloLearn uses gamification to encourage you to stick with it. You'll earn skill points and achievements while you level up your progress no matter how you learn. If you're more competitive, you can compete with other learners around the world for a more intense challenge.

Much of SoloLearn is free to use, but not all of it. For $6.99 per month or $47.99 per year, you can subscribe to SoloLearn PRO. This removes advertisements and adds features, like the ability to set learning goals and view personalized insights about your learning.

Download: SoloLearn for Android | iOS (Free)

4. Codeacademy Go

Longtime readers may be surprised to see this app on this list. After all, in the past, we've told you why you shouldn't learn to code with Codecademy. While our criticism is still valid, it could also be leveled at most of the apps on this list. As long as you keep that in mind, Codecademy Go is a great way to take the service on the go.

This is an especially useful app if you're already a Codecademy user. This app takes the courses and challenges from the website and presents them in app form. It's very much a "does what it says on the tin" sort of app, but that's not a bad thing.

The app is entirely free, with no in-app purchases. That can't be said for Codecademy's services as a whole, but it's nice that you don't have to worry about paying extra for the app.

Download: Codecademy Go for Android | iOS (Free)

5. Hopscotch

Hopscotch app

Judging by the marketing surrounding the app, you might think Hopscotch is meant just for kids. Its name in the iOS App Store is even "Hopscotch: Coding for Kids." While it's certainly kid-friendly, don't let that chase you away. This is more than an app for children.

Looking at the FAQ on the Hopscotch website, the app is suitable for all ages. The developers say that while it's designed for people aged 7 to 13, 18 year-olds and even college students are learning with it as well.

While other apps focus on the fundamentals first, Hopscotch aims to have you hit the ground running. The goal is to have you creating apps or games within minutes. This can teach you the basic concepts of coding before you head for the deep end.

Unfortunately, the app is limited for the time being, as right now it's iOS-only. The wording on the website hints that Android and/or browser support may come in the feature, but there's no ETA so far. On the upside, there are plenty of other Android programming apps.

The app itself is free, but for continued use of premium features, you'll need to pay the $7.99 monthly fee.

Download: Hopscotch for iOS (Free)

6. Encode

Encode

Encode offers JavaScript, Python, HTML, and CSS making it a good choice if you're looking to learn coding for web development.

Whether you're using Android or iOS, Encode makes coding easier by including a shortcut bar with symbols often used in coding. This saves you from having to search through your keyboard searching for different bracket symbols. The app is a few years old, and while it isn't as popular as some others, it's definitely worth a look.

For a while, some users avoided Encode since it was Android-only. Now there is an iOS version, so you can use it regardless of your platform of choice. The app is free to download, with a $4.99 in-app purchase for Encode Plus, which unlocks more lessons and challenges.

Download: Encode for Android | iOS (Free)

What About Coding Apps for Kids?

With the exception of one app above, these are aimed at all ages. Some of these may be just fine for kids, but most of them aren't aimed at younger coders. Some, like CodePen and Pythonista, are explicitly meant for coders with a little more programming experience.

If you're looking for apps aimed at a younger audience, you'll be glad to know there are plenty. So many, in fact, that we have a dedicated article on apps for younger learners. Take a look at our list of coding apps to help kids learn to program.