So you’ve used all these useful apps on your computer or mobile device and now you have an idea for your own, but how do you develop your own app? First of all, you don’t have to be a full-time computer guru to make your own apps, just an insatiable curiosity for putting things together and a little bit of time. Some of the best developers are trained in completely unrelated disciplines such as Psychology or English Literature. The development tools and platforms these days are geared for rapid development and easy integration into existing frameworks. There’s no need to reinvent network protocols, you just need to add your own ideas on top of existing ones. The following shows a list of places you can get started with your own software development from scratch.
1. iOS application development is primarily done with a Mac tool called Xcode using the Objective C code language. Xcode is totally free, but can be a little daunting to a newcomer to software development. I recommend Paul Hegarty’s free Stanford iOS software development podcasts on iTunes U. In addition to iOS, Mac apps are primarily developed using Xcode.
2. Windows apps and web apps designed to run in Microsoft’s .NET environment are created using Visual Studio, normally a $2500+ software package. Fortunately, Microsoft has the small developer in mind with Visual Studio Express. Visual Basic is included as a nice code language for beginners, but I highly recommend learning C#, which is similar to other standard langugages and translates to easier learning of other development standards. Microsoft provides beginner developers with all the information they need.
3. There are several cross platform development frameworks, but one of the most popular utilizes the Java code language. One of the more popular tools for developing Java apps is the Eclipse Integrated Development Environment (IDE). Full tutorials are available in Sourceforge.
4. Another popular cross development code language is PHP, which is designed mainly for web applications. This is perhaps one of the fastest and easiest ways to put your ideas into the browser as a fully dynamic, customized app. PHP consists mainly of dynamic data tags embedded into an already familiar HTML page. There is really no need for a special tool to create PHP tags, although you will have to setup a PHP server. PHP is pretty basic, so the best way to learn about it is directly through the official PHP site.
5. A key part of a development environment is the actual infrastructure that it runs on, including the servers, the operating system, and networking. You could set this all up yourself, although many basic home computer setups are not really up to the task of running a diverse array of server for development. Fortunately, many hosting companies such as HostGator or GoDaddy provide instant setup of framework specific development environments with the click of a button. I’d also like to mention the option of using a cloud computing provider, such as Amazon Web Services (AWS), which provides full Infrastructure-as-a-Service offerings. With AWS, you can setup any virtualized development environment customized exactly how you want it with full root-level access. You only pay for the computing resources you utilize, which is great for beginners hoping to create applications that can eventually scale up into larger enterprise level applications. In a future blog I will explain how to setup a completely free AWS development environment.