Programming Your Own App - The Getting Started Guid

So you want to program an app and then publish it in an AppStore of your choice. Of course you want to do that as soon as possible, right? Who has time to watch long tutorials and then deal with problems that were not described in the tutorial. In this article you will learn everything to make the next step to your first own app. What do you have to learn? Which platforms do you have to consider? Can one simplify the work and if so, how? Whether you already have programming experience or not.

What are apps?

Apps are actually normal computer programs, but run on a mobile device. These have the special feature of being able to access the sensors and hardware of the device. For this the manufacturers provide so-called programming libraries. This makes it relatively easy (relatively, because you have to build technical understanding) to use the hardware in his own app. A feature that stands out for apps is the touch screen. Programmers need to design their apps to be usable on a small or large screen. Websites and app must adapt to the size of the Bidlschirms. When this is done, an app or website is responsive. Today, this requirement is actually quasi-standard. The creation of apps can be done by anyone who has learned programming and appropriates the technologies for app development. However, there are a few differences here too, because depending on the manufacturer and operating system, you actually have to write your own app. For which platforms can apps be developed? What is to be considered? Writing an app and then making an app available to all devices is unfortunately not as easy as one would imagine. The fact that the manufacturers programmed different operating systems that are not compatible with each other, you have to learn each manufacturer's own programming language and its own programming environment. For a beginner a bitter pill, you would like to cover as many areas as possible with his first app. There is one more way, because you will find out later in this article. Let's get to the individual manufacturers:


Google's Android is one of the most widely used operating systemsfor mobile devices. Many manufacturers like Samsung, HTC, etc. produce their devices with Android. There is the so-called Play Store directly from Google where you can find the apps and install on your own device. There are other stores where you can get apps. So usually every manufacturer has its own store and even large companies like Amazon have their own stores for apps. To publish an app in such a store you have to register as a developer. At Google, it costs a one-time fee and then you can offer your apps there for download or for sale. If you sell your app, the store operator usually retains a small commission. To develop for the Android platform you need Java skills and the Android SDK. If you have that installed, you can start in principle.


Apple's iOS mobile app is the operating system for the iPhones, iPads and iPods (and what else is there with i ... Apple mobile). There is no manufacturer who uses this operating system, except Apple itself. The apps are available via the so-called AppStore or iTunes. To add apps to this store you also have to register as a developer (Apple Developer Program) and pay an annual fee for it. Also fall when selling apps commissions to Apple. To develop the apps you need an Apple computer with Mac OSX, because that's what the XCode programming environment is all about. You can program the whole now either with Objective-C or the new Apple's own programming language Swift. Unfortunately, you do not have your own Mac around it, if you want to develop with these languages. Although there are ways to operate the operating system without a Mac, however, it requires a lot of technical know-how. Thus, getting started on the spot is quite costly, if you have never dived into the Apple environment.

Other platforms

But there are also other players in this market. From Blackberry to Windows Phone there are different operating systems. All have their own programming environment, use a different programming language and also have their own stores in which the apps are offered. What do I have to learn for this? So many different manufacturers, programming languages, operating systems, as synonymous, the professional quickly dizzy. Every language and library has a different structure and, in principle, you have to pay special attention everywhere. Apart from the fact that you should sometimes have the equipment on site for testing. If you want to get into the development, but is still a total beginner, what programming is concerned, you will not come around to familiarize yourself with a programming language. We'll come to that soon. First, you should get to know the differences in the apps themselves.

Native apps

Native apps are written using the manufacturer's programming language, see section on the platforms. First of all, you have to learn how to program and best of all in the respective language for which you want to program an app. For each platform the respective language and environment. Whether this work is worth something to you is another question. That must be pretty worthwhile.

Building Kit Apps

There is now a huge offer of so-called app kits. You almost click the app together instead of programming. Something similar is also available for websites. Most kits cost a monthly fee. The functionality of such apps is limited. As soon as you want to do more special things, you either have to commission the special development from the provider (which can be very expensive) or you start again at 0 and have to reprogram the whole thing yourself. For very small standard things it works, but can quickly end up in duplicate effort. Web Apps (or HTML5 Apps) If you are reluctant to write things twice or three times and you do not want to deal with the different programming languages ​​of the different manufacturers directly at the beginning, you can use this solution. Web technologies can also be used to write entire applications. And wherever a modern browser can be executed, a web-based program can also be executed. There are great libraries, that you can use to program a web-based appand use virtually the same functionality that native apps know. Even in the AppStores can bring these apps. The cool: One develops almost a normal responsive web application and can change it with a few adjustments to the fully functional app. The app looks the same on all platforms. You first learn only one programming language ( Javascript ) and can build almost anything you can imagine. For someone who starts and still does not really know what he wants to build, that's ideal. Can I also offer my app on the computer / notebook? In the native area, there is actually a clear no. Maybe it's possible to run an iOS app on a Mac as well, but I do not know any of those who tried it before. That is, if you want to code an app that you should use in case of doubt on the "big" computer, you should also seek a programming environment, in addition to which you can also write your apps. Right, another programming language / programming environment and everything that goes with it. Would not it be ideal if you could create all programs with just one language? For starters, this is a great thing, but you have to say, as soon as it gets special or the performance requirements increase, you should apply enough manpower and develop natively. That means I have to write everything twice? Do I have to choose a platform?

With a strong development team, it's not a problem to duplicate things for each platform. But a beginner does not have a 5-member crew. So you stand before the election. Your apps should run on all platforms, so to speak Learn and write 3 times. Or you make the app only for a platform. The nicest thing is: You develop your webapp normally on the computer and can test all functions without the need for a mobile device. Only when you make the adjustments for the mobile version, you use the emulator or load your app on the smartphone. And when you're done, you have an app for mobile devices and an application for the computer. I have prepared an example, here you can see a soundboard that I developed for my club and the Android version. Can I earn money and get rich with my first programmed app? Even if I find the motivation great and know myself that you have in the beginning. But unfortunately one must say at the beginning that the first programs will not convince. My advice: Do not start directly with your fat idea, because it will quickly kill and paralyze. Start with small mini projects, such as in our tutorials . Only then do you take a tiny little functionality out of your idea, which you actually want to program and implement this mini-function in a separate program. That's the only way to increase the chance of getting some money for your app. The whole thing with marketing etc. not included.

All Rights Reserved

Let's register a Viblo Account to get more interesting posts.