Programming your own application

So you want schedule an application and then publish it in a App Store of your choice. Of course you want to do this as soon as possible, right? Who has had time to watch long tutorials and then deal with problems that were not described in the tutorial? 

In this article, you'll learn everything you need to take the next step toward your first app of your own. What do you have to learn? What platforms do you have to consider? Can you simplify your work and, if so, how? It doesn't matter if you already have programming experience or not. 

scaled cobots
Application

What are applications?

The applications are actually Software Perfectly normal running on a mobile device. These have the particularity of being able to access the sensors and hardware of the device. Manufacturers provide so-called programming libraries for this purpose. This allows you to use the hardware in your own application with relative ease (relatively, because you have to acquire technical knowledge). 

One feature that stands out especially in the applications is the touch screen. Programmers have to design their applications so that they can be used on a small or large screen. Websites and applications must adapt to the size of the screen. Today, this requirement is more or less standard. 

To enter the world of application programming, it is necessary to technology training given that to understand at least the basis of programming we must

Creating apps can be done by anyone who has learned to code and adopted the technologies for app development. However, there are also some differences here, because depending on the manufacturer and operating system, you actually have to write your own application.

For what platforms can applications be developed? What should be considered?

Unfortunately, writing an app and then making it available for all devices is not as easy as you might imagine. Because manufacturers program different operating systems that are not compatible with each other, each manufacturer has to learn its own programming language and programming environment. A bitter pill for a beginner, because you want to cover as many areas as possible with your first application. There is another way, as you will learn later in this article. Let's go to the individual manufacturers:

Android

Google's Android is one of the most used operating systems for mobile devices. Many manufacturers such as Samsung, HTC, etc. They produce their devices with Android. There is the call Play Store directly from Google where you can find the applications and install them on your own device. There are other stores where you can get applications. Each manufacturer usually has its own store, and even large companies like Amazon have their own app stores. 

To publish an application in such a store, you must register as a developer. With Google, this costs a one-time fee and you can then offer your apps there for download or sale. If you sell your app, the store operator usually retains a small commission. For develop for the Android platform, you need knowledge of Java and the Android SDK. Once you've installed it, you can basically get started.

iOS

Apple's IOS is the operating system for iPhones, iPads and iPods (and any other mobile phone with Apple i...). There is no manufacturer that uses this operating system, except Apple itself. Applications are available on call App Store or iTunes. To place applications in this store, you must also register as a developer (Apple Developer Program) and pay an annual fee for it. Commissions are also incurred when sell applications.

Apple Lossless Audio CODEC (ALAC),

To develop the applications you need an Apple computer with Mac OSX, because the XCode programming environment only runs on it. You can program everything now with Objective-C or Apple's new Swift programming language. Unfortunately, you can't avoid your own Mac if you want to develop with these languages. There are options to operate the operating system without a Mac, but they require a lot of technical knowledge. So starting at this point is quite expensive if you have never immersed yourself in the Apple environment.

Other platforms

But there are also other players in this market. There are different operating systems from Blackberry to Windows Phone. They all have their own programming environment, use a different programming language and also have their own stores where the applications are offered.

What do I have to learn for this?

So many different manufacturers, programming languages, operating systems, even the professional will quickly get dizzy. Each language and library is structured differently and in principle you should pay attention to special features everywhere. Apart from the fact that you must have the devices on site for testing. If you want to get into development now, but are still a total beginner, when it comes to general programming, you will not be able to become familiar with a programming language. We'll get to that in a moment. First of all, you should know the differences between the applications yourself.

Native apps

Native applications are written with the manufacturer's programming language, see the platforms section. You must first learn to program, preferably in the language for which you want to program an application. The respective language and environment for each platform. Whether this job is worth anything to you is another question. It must be worth it.

Building Kit Applications

Currently there is a wide range of so-called app building kits. Basically, you click on the app instead of coding. Something similar is also available for websites. Most building kits cost a monthly fee. However, the functionality of such applications is limited. As soon as you want to do more specific things, you either have to commission special development from the vendor (which can be very expensive) or start over at 0 and program everything again yourself. It works for very small standard things, but you can quickly end up with double the effort.

Web applications (or HTML5 applications)

Anyone who is reluctant to write things two or three times and doesn't want to mess with different programming languages ​​from different manufacturers from the beginning will use this solution. The web technologies They can also be used to write complete applications. And wherever a modern browser can run, so can a web-based program. There are great libraries like Apache Cordova that can be used to program a web-based application and can use almost the same functionality that is known from native applications. 

These apps can even be listed on app stores. The good thing is that you develop a normal responsive web application and you can turn it into a fully functional application with some tweaks. The app looks the same on all platforms. At first, you just learn one programming language (Javascript) and you can use it to build almost anything you can imagine. For someone who is just starting out and doesn't really know what they really want to build, this is ideal.

Can I also offer my application on computer/laptop?

In the native area there is a clear no. Maybe it's possible run an iOS app on a mac, but I don't know anyone who has tried this before. In other words, if you want to code an application that, if in doubt, should also be used on the "big" computer, you should also look for a programming environment next to which you can also write your applications. Right, a programming language/programming environment and everything that comes with it.

Wouldn't it be ideal if you could create all your programs in a single language? It's a great thing to get started, although it must be said that as soon as it becomes special or the requirements for performance increase, you should gather enough manpower and develop it natively.

Does that mean I have to write everything twice? Do I have to choose a platform?

With a strong development team, it is certainly not a problem to write certain things twice for the respective platforms. But a beginner does not have a team of 5 people. Then the choice is yours. Your apps should run on all platforms, so to speak Study and write 3 times. Or just build the app for one platform. 

The best part: you develop your web app on the computer as normal and can test all the features without the need for a mobile device. Only when you have done the settings for mobile version, use the emulator or download your application on the smartphone. And when you're done, you'll have a mobile app and a desktop app.

Can I earn money and get rich with my first programmed application?

Unfortunately it must be said at the beginning that the first programs will not convince. My advice: don't start immediately with your big idea, because it will quickly be killed and paralyzed. Start with small mini projects. Only then take a small functionality of your idea that you really want to program and implement this mini function in your own program. This is the only way to increase the chances of getting some money for your app. The whole thing with marketing, etc. not included.