This was a great question that was asked by a user on one of the many forums I am a member of. I thought I would break down the answer here as well and go into detail on what each type of Mobile App is:
Mobile Apps are broken down into 3 Distinct Categories:
1. NATIVE APPS: These are apps that run directly on a device and can run with or without an internet connection. You will usually find these types of apps in an app marketplace such as the Apple App Store or Google Marketplace. This is the MAIN type of app people try to create, but its harder to get it approved.
2. WEB APPS: These apps run in a web browser and do not require any approvals. Using various forms of monetization, these apps can also make you some money as well, but they require a constant internet connection to run.
3. AD-HOC APPS: These apps are usually made for corporations and agencies that use apps internally. These are the same native apps from above, however they are not part of the App Store and can be sold on their own. Its basically a NON-PUBLIC Native App.
Mobile apps specifically are programs that you use that serve various functions on a device. Currently the devices that feature mobile apps are Cellular Phones and Tablet computers. In 2013 and beyond we will also start seeing these same mobile apps coming out for various other items such as Automobiles, Appliances and even new Video Game Systems.
How do you make mobile apps?
There are many ways to make mobile apps, but the following 3 methods are the most common:
1. Learn how to develop yourself
Get reading, get searching, and start taking every tutorial and class you can take on the subject of mobile app creation. The pros of this method is that in the long run you’ll save money on development, but this will take the longest time to develop your own mobile apps.
2. Use a WYSIWYG tool to create apps fast
There are many tools available on the web that will allow you to easily create apps without much programming if any at all. Many feature point and click interfaces and can easily create apps in a fraction of the time you could if you were fully developing yourself. The downfall of this method is that the apps you create are more than likely web apps. If you do get Native apps made with this method, chances are they will be very limited to what you can do with those apps. A lot of customization will be out the window as these tools lack the ability in most cases to be able to do more advanced things like full blown 3D graphics or other advanced techniques. The pros of this however are the fact that you gain speed in creation. There are even some tools (Like what we use, called ShiVa 3D) that are a mix between learning to develop and a WYSIWYG tool which will give you a mix of the two worlds. It requires programming but not at the extreme levels, and you can also access the advanced functionality you want to. Here is a website that has a LIST of the various tools that you can use to create apps and games for various platforms. Its an extensive list of over 200 tools available: http://www.indiedb.com/engines
3. Outsource and Hire Developers
This is the most COSTLY of the above two, yet it really leaves things in the hands of other developers. The pros of this is that you simply need to have an idea and someone else develops it for you. The cons however are price and of course stealing of your ideas. Writing out NDAs (Non-Disclosure Agreements) can help, but once again its quite hard to regulate NDA agreements in places like China and India, even though there are laws. If someone is going to steal your work, they’re gonna do it and good luck trying to fly over to China or India to find them. Even if they make millions of dollars and you have NDAs in place, always break up the entire development into smaller parts so you have many contractors so its harder for people to steal your ideas rather than having a one-stop-shop do it all. For example, Outsource the graphics separately, the music separately, the base code separately, the monetization portion separately, etc. The more people you can have who get a piece of it, the harder it becomes for a single developer to claim that they came up with the idea, as you’d have a lot proof. If someone for example tries to say, “Oh I made those graphics” you can simply show the actual original graphic artist you used. If they claim they made the music, then you have that angle as well, even down to the monetization. I specifically recommend this technique to new app business owners who choose outsourcing as this helps you enforce your NDAs even more as there is less of a chance for a developer to run off with your app idea.
So there you have it, a quick over view of app types and a quick overview of how to make your apps. I hope that was insightful and helped many of you starting in the app world!