Plenty of people want to create their own smartphone apps, but don't necessarily want to learn how to code. These two positions are not necessarily contradictory, and it's totally possible to build a basic mobile app by using a number of drag-and-drop tools.

So, what's available? What can they do, and what are their limits? More importantly, what point should you give up with them, and start to learn Swift?

The Codeless Apps Development Market

When researching this post, I was surprised at the sheer number of companies offering codeless app development platforms. Just to rattle some names off the top of my head, there's AppGyver's Composer, Ionic Creator (which was formerly known as Codiqa [Broken URL Removed]), EachScape, and Shoutem. Each of these products have one thing in common: they are aimed primarily at business users.

This makes sense. Many small businesses have came to the realization that in order to thrive, they need to have some kind of presence on the various app markets. While the cost of developing a native application from scratch can run into the thousands — either in outsourcing fees or salaries — these products can be used by anyone vaguely computer literate.

I decided to test Shoutem. The appeal of this particular product was that it had the most generous free trial of any product listed. You can take as much time to explore the product and create your own apps. Only when you wish to export them to a real-world device, or an app store, will you have to pay.

ShoutemHomescreen

What impressed me most about Shoutem was how incredibly obvious everything was. It felt no more difficult than PowerPoint or Excel. Despite that, it came with all the features a business might need. Users can monetize the app with adverts, add social media, and even integrate it with e-commerce solution  Shopify.

Sadly, like all of the products listed above, Shoutem charges enterprise rates. If you want to create an iPhone and Android app, you'll have to pay $49 per month, billed annually. While this is ideal for businesses, it's less great for people who just want to experiment with app development in a friendly and welcoming way.

ShoutemPricing

But there is a free product created by Microsoft that we've not mentioned yet, called TouchDevelop, which we first wrote about in 2013. This was initially an application released for Windows Phone (remember that?) which allowed users to create rudimentary games and applications.

TouchDevelop programs are created by dragging and dropping blocks into place, and filling in the blanks where necessary. All the logical constructs that developers use — like conditionals and iteration — are present, but they're hidden behind an easy-to-grasp veneer.

TouchDevelop

In the years since we wrote our original coverage of TouchDevelop, the product has continued to grow and change, to the point where it feels like a much more fleshed out product.

It has since moved from being just an app, to an easy-to-use website that allows you to do much more. Beter yet, you no longer need to use a third-rate mobile OS to use it.

TouchDevelopWebsite

It also allows you to export any programs you create to Apache Cordova, which lets you then publish them to the Google Play, Apple App Store, and Microsoft Store app marketplaces. Cordova is free of charge, but you'll have to pay a fee to whatever company runs the app store you're publishing to.

This varies. Google charges a one-time $25 registration fee, while Apple requires you pay $99 each year for an iTunes Connect account. The cost to publish to the Microsoft Store as an individual is about $19, but varies based on where you live. If you're a company, you'll have to pay roughly $99.

What Are The Downsides?

It should go without saying that there are some quite pronounced drawbacks with using a codeless solution. There's a reason why most people who have the financial resources or ability to build a native application choose to do so.

  • When you commit to a codeless app development platform, you essentially gamble that the company you're using will never go bust. If the platform you've committed to fails, you may find yourself unable to make changes and improvements to your app.
  • Whatever you build will never be as fast as if you made it using native tools. This is fine if you're just making something simple, like a catalog for a shop. But the moment you start adding compexity, you'll see your application lag and stutter, especially on weaker devices.
  • Because codeless app development platforms take a lot of the decisions out of your hands, they're also far more limited in what they can do. You may need to scale your aspirations according to the system you're using.
  • Similarly, if there's a bug or a flaw in the system you use, it may present itself in your application and you won't be able to fix it.
  • If you decide to start a career in mobile development, any skills learned making codeless applications will be worthless. Employers will want you to be competent in the various programming languages used — like Apple's Swift, C#, and Java — and to know the components used to build apps on each respective platform.

Of course, some would argue that these are reasonable tradeoffs to be made for a system that allows anyone to rapidly develop a mobile application without having any prior software development experience.

There's A Middle Ground: HTML, CSS, and JavaScript

So, what if you really hate programming, but you find codeless platforms to be too rudimentary and restrictive. Well, there's a happy middle-ground. That's with the three technologies that make up HTML5 - HTML, CSS, and JavaScript. These are the core building blocks of the internet.

There's been an explosion in the number of products and services that allow you to build mobile applications using open web technologies. Probably the best-known and the easiest to learn is Adobe's PhoneGap, which is what Adobe Cordoba is built upon.

In addition to being free of charge, this also comes with a number of helpful introductory tutorials that will get you building your dream app in no time.

Have you built your own app using a codeless tool? Tell us about your experience in the comments below!