Integrated development environment, launch platform and choosing a full solution stack

shows a variety of cellphones

“Sea of phones” (CC BY 2.0) by Sasha Pohflepp @ wikimedia

by a reluctant coder:
Choose a full solution stack that is dynamic enough to handle any need you encounter. It needs to work well under adverse conditions with a solid track record. Also, it should work with little modification on as many devices as possible.

Smartphone and small device manufacturers are terrific at creating buzz around new technology. Is your app an RTS game or will it depend on near instantaneous user interaction or heavy graphics? If so, you will need to make it work for the most popular markets through platform specific app stores. Have you ever wondered why many apps are only available on one platform or another? If you choose to make an app for an app store, you have to write code to fit every device. You lose the benefit of working with ubiquitous web technology. The web works on most everything –where much of the code is already written for you. Even if you’re making a game, some of the following may still be useful.

Choosing a solution stack means choosing a web stack so users don’t have to download your app or hassle with software maintenance and updates. Yeah, users need to connect to the internet to use it. It’s not uncommon for a downloaded app on a device to have to connect also. Web stacks usually are a blend of server-side and client-side processing. Web stacks can also go by the name application servers or web application frameworks. The core of a stack consists of a combination of each of these four components:

  • An operating system (OS). Linux and BSD are open source OSes with many variant distributions of each. Most any web server, database and programming language works with most any distribution.
  • A web server that serves pages or views.
  • A programming language and library of scripts that instruct the system on how to build pages. Pages consist of files, templates and data.
  • A database that holds changing data that are not files.

To become more familiar with the stack, consider using an integrated development environment that works on the same OS as the platform you will use to launch the app.

Next post is about choosing a programming language.