Programming or app construction kit?

After planning a mobile application, app development continues with the implementation of the app on a technical level. If you don’t want to commission the implementation of your native mobile app, but rather take it into your own hands, you have two options:

You can create or program the app yourself – provided you have sufficient knowledge in software development – or you can use an app construction kit (also called App-Maker, App-Creator, App-Builder or App-Generator). The second part of our multi-part about the path to your own app explains the differences between the two approaches and introduces six of the best app building blocks.

App programming vs. app maker

The choice of software for the development of your app is a far-reaching decision and should therefore be well considered. The classic variant – programming via a specific platform – basically offers the most possibilities for implementing an app. However, simple programming basics are not enough; successful app developers often have years of experience in this field. Beginners have to acquire a lot of basic knowledge before they can code an app using a programming language.

For programming, an integrated development environment (IDE) is usually used. An IDE for app programming provides software developers with various components (software development kit, editor, debugger, compiler, emulator, etc.). As a result, programmers have various tools at their disposal when creating apps – but once again, using these tools requires that one be proficient in the programming language used.

App construction kits, on the other hand, follow an approach similar to that of the now very popular and widely used homepage construction kits. With a modular system for apps, you don’t need any programming skills, as they work according to the WYSIWYG principle (“What You See Is What You Get”): Within an app builder you work with a graphical user interface, which ideally is intuitive and easy to use. However, the design options are much more limited than with an IDE: An app maker only includes a small selection of program commands that are accessible via the graphical interface and can be inserted into the user interface.

In the following, our main focus is on the presentation of app construction kits. In order to highlight the differences between the two approaches, we nevertheless briefly outline the programming of iOS and Android applications with an integrated development environment.

Creating a Native Mobile App by programming yourself

If you want to develop a complex, technically demanding or graphically elaborate Mobile Native App, there is no way around an IDE – Native App building blocks are not suitable for this. An app creator is also usually unable to process large amounts of data and use many native device functions (e.g. the position and motion sensor).

Working with an integrated development environment not only offers more possibilities for programming an app, but is also free of charge: companies such as Apple and Google provide first-class IDEs free of charge. The reason for this is quite simple – a large selection of applications makes a platform attractive to users. That’s why the people behind iOS and Android can only be happy if as many developers as possible work on new apps and publish them for their operating systems. Moreover, this is part of the vendors’ business model: Both Apple and Google receive a fee for every paid app sold through their app stores.

When developing a native app, a specific IDE is usually used for each platform. This also increases the workload: As soon as you want to offer an app for both Android and iOS, you have to write each app version separately with its own code. While integrated development environments such as Xamarin now exist that allow you to program native Android, iOS, and Windows apps with largely identical code, such IDEs are the exception and place different demands on programming – for example, Xamarin uses the C# programming language. If you are interested in learning programming skills, you will find an overview and helpful tips in this article of our guide.

Programming basics for Android apps

Android apps run in a Java framework: Knowledge of the Java programming language is therefore a basic requirement. If you do not know Java, but have knowledge in C++, you should be able to quickly get into programming with Java, because the two languages are very similar.

By far the most common IDE for programming an Android app is Android Studio. This is the official, integrated development environment for Android applications, which is freely available to everyone. Android Studio is part of Android SDK (Software Development Kit) and can be used on different operating systems: There are Android Studio versions for Microsoft Windows (Windows 7 and higher), macOS and Linux systems with GNOME or KDE desktop. Prerequisite for app development with the IDE is an installed version of the Java Development Kit, which can also be downloaded free of charge. Android Studio is based on the popular Java development environment IntelliJ IDEA.

Programming basics for iOS apps

To develop an application for an iOS device, most developers use Xcode – Apple’s official development environment. It can also be used to program applications for macOS, iPadOS, tvOS and watchOS. Xcode is only available for the macOS operating system. Every Mac user can download it with his Apple ID from the Apple App Store for free.

The IDE is part of the development package, which is also called Xcode. To distinguish the integrated development environment from the development package, one is also called Xcode IDE, the other is called Xcode Tools. Within the Xcode IDE you can write an application using the Cocoa framework and the programming languages Swift and Objective-C. It is also possible to create applications in the programming languages C, C++, Java and others.

Develop a Native Mobile App via App-Creator

If you don’t have any programming skills, but still want to create and design your app yourself, an App-Maker might be the right tool for you. Meanwhile, there is a wide range of different providers whose construction kits can be used to implement some app ideas. Unlike the official IDEs from Google and Apple, however, most app construction kits cannot be used for free.

Almost all app makers are based on a business model in which customers pay a monthly fee for using the construction kit and hosting the final application. For some providers, the monthly fee already includes the fact that the app is offered in the platform’s official app store – for others, an additional (usually one-time) payment is required. Often, however, you can create and test your app for free with the construction kit and only pay money when you publish the app.

But what do you get for your money with an app creator? In general, applications that mainly contain text and images are easy to create with an app construction kit. The construction kits are particularly suitable for small to medium-sized companies and organizations that want to use the app to inform about products, services or specific topics. In addition, many app makers also allow the creation of an online store, which also makes it possible to implement shopping apps.

RSS feeds and push notifications are also among the features of many app builders. They are suitable, for example, for designing a news app or an application that informs about events. But other device functions such as geo-targeting or the integration of the camera into an app are also feasible with some providers, albeit with some limitations.

However, many features known from other apps can hardly or not at all be implemented with an app maker. The integration of native device functions such as the camera, microphone or Bluetooth is – if at all possible – clearly limited. Some features, however, are not supported at all – such as the use of the acceleration sensor of a smartphone. Video games can hardly be realized with the usual app construction kits. Although there are now also providers specializing in app games, such as GameSalad, you can only use them to access ready-made 2D graphics and defined game world elements.

How do App-Makers work?

The reduced functional range of an App-Creator compared to an integrated development environment is not surprising – after all, the app design options offered are prefabricated command chains of the programming language used. App construction kits make certain program commands of a programming language (or the components composed of them) accessible via a graphical user interface and thus also applicable for laymen. Ultimately, an app maker contains a certain range of actions that users can use to build an app.

You can imagine an app construction kit similar to the section in a travel guide that gives you important words and phrases of the local language. With these language templates you can make yourself understood in emergencies and certain situations. But outside these templates, you will find it difficult to achieve your communication goal in the foreign language.

Like a phrase book, an app building block system contains various instructions that you can use (e.g. to insert pictures), even if you do not know the complete programming language. The commands are triggered via the graphical user interface, for example by a drag-and-drop function, and translated by the program without your intervention. Since an app builder uses only a part of the vocabulary of the programming language or only some commands have been prepared for the user interface, only a certain number of app functions are available to the users.