How to choose a platform that will work best for you and everyone that uses your application
by a reluctant coder:
The next few posts ask a few questions and highlights directions to explore on a path to a platform for success. By considering these now, you will save time and frustration, and reduce risk of failing. Most nontechnical decisions related to project success are not explored. You’ll want to review your plans including understanding your target market before starting. There are few bad questions or wrong answers, just painful learning opportunities to avoid.
Choices center around issues of scalability and utility. Scalability is about minimizing increase in cost as demands on the system increase, such as when an app goes viral. As usage increases, you want to be able to absorb the need for buy more resources. If usages doubles, you want costs to not exceed doubling as well. Without planning, resource requirements will tend to grow along a hockey stick curve. As a reluctant coder, you need to also consider the value of your time. You don’t want to multiply the amount of time you spend coding to maintain your app as it becomes popular!
What technology to use? There is no single answer. If you have already learned how to use any part of the technology, then consider using it as a basis. Yet don’t discount other choices either. Any prior knowledge you have will be helpful, even if you have to learn all parts of a new framework. How you incorporate your prior knowledge involves many personal choices. Explore new strategies and frameworks honed from questions presented here. Then pick a few to try “hello world” scenarios to get a little experience in each. Finally, pick one and stick to it until you finish at least a proof of concept of your killer-app.
- Software licenses of your killer-app’s components. Your app will be built on other software. Software licenses are one of the first things that should be considered when choosing tools.
- Integrated development environment, launch platform and choosing a full solution stack.
- Programming languages for application frameworks
- Choosing a web server
- Databases that work well with a web server
- Choosing an operating system for an application framework, or visa versa
Next post is on software licenses.