Ask a non-tech founder what is his biggest dilemma, he won’t say “his wife’s bad mood”, rather it would be to decide the technology best suited for his idea. You talk to a dozen people and you will have a dozen options all mutually exclusive, completely driven by one’s own opinion. And in all honesty, it is not their fault.
Well, the answer completely depends on your requirement and the stage of your startup. But don’t worry I will take you through it with a completely non-technical explanation.
Before we start: Don’t go Shopping with an undefined list!
Before we start, know that almost all the technologies can create just about any idea that you might possibly have(90% of times), however, what matters and what we will look at in this article is :
Cost of development,
Duration of development,
Scalability of the product for long-term use,
Application Speed that the tech can deliver,
And the tech being SEO friendly,
These are also the parameter which is considered when the GodFathers of the tech industry create a new or update a framework or a language. See not so tough to understand is it? Let’s grow your confidence with 1 bit at a time
This cake has 3 layers of icing
Website/Mobile application is always done in 3 phases and you need to know this because you will have to choose the technology for all the 3 differently. One is Frontend, this is what you see on your browser (what you call a website or an app), another is Backend this is what is hosted on the server (this handles your logic and connection with the database) and then you have Database (this hold all the data of your application).
This is the real deal
With the above learning let’s dive right into what you to read about what to select and when to select. The IT companies will always give you 2 suggestions: Ready-Made Solution or Custome Development, the late will generally be more expensive than the prior.
When: The idea is not validated, the industry is new to you and you are not sure if this is the thing you want to be doing for the rest of your life. Choose this when you are looking to experiment and just want to test the idea and market reaction. Or if you have really less time for the launch.
Some famous examples: WordPress, Shopify, etc.
The Problem: The problem with these platforms is that you will have to go with custom development sooner or later if you are doing the startup for a long run. The development will mostly be from scratch so it will be a complete reinvestment.
When: Idea is validated, an established business, the startup is profitable, you are enjoying it and you want to do this startup for a long term. Choose this no matter how big your business grows you won’t have to recode the complete platform from scratch; Some tweaks and you will be good to go.
The Problem: It is expensive and like building a house, you want to make sure you use the right material (technology and languages) since you don’t want to rebuild the complete thing.
I won’t bore you with the explanation, since for you what matters is what is the most suited tech for your purpose.
Think of it like a horoscope you first have to find your zodiac sign and then read the horoscope. First I will tell you which languages suit what kind of need and then you can read about those languages based on your affordability and requirement.
Front end: EmberJs/React.JS, HTML, Bootstrap
Backend: Node JS/ PHP / .Net
Database: MongoDB/ MySQL
Front end: Angularjs / JQuery / Reactjs, HTML, Bootstrap
Backend: PHP/ Python/ Java
For Analytics/Statistic/Algorithmic systems:
Frontend: React.js/ JQuery, Ajax, HTML, Bootstrap
Backend: Python(highly recommended)/Java
For Static/Informative website:
Frontend: Angularjs/JS with Ajax, HTML, Bootstrap
Backend: PHP / WordPress
Frontend: Reactjs/JS/ Jquery, Ajax, Bootstrap
For Booking Systems:
Frontend: Angular/ JS, Bootstrap
Backend: PHP/Nodejs/ Python
Too many options, aren’t there? So just how do you decide? Well, now you know your zodiac sign (the development language), its time to see the prophecy. Websites are built with a combination of Frontend, Backend, and Database.
When to use which technology:
ReactJS (Recommended): It is really fast and highly efficient. It is your perfect love when you talk about SEO of your website. I could give you some more technical pointer but let’s keep this non-tech. It works great with other latest technologies and has a lot of powerful tools. However, for new people, the learning might take some time and if you are using legacy technologies with React you might face challenges.
Best combination: ReactJS with Node.js or ReactJS with Python
AngularJs: It is easy to learn, has a strong community. Use it when you are not working with a lot of data or data-heavy applications. The language has not been very stable as there have been completely new releases with complete deprecated support and no compatibility with older versions. But since it has Google tag to it, you certainly can’t ignore. (Not something I recommend)
PHP: PHP is a wear language of the slot. It is good for basic website development and CMS development. Since it is easy to learn, it has a huge community and amazing support. Hence creating an abundance of resources, this makes the development work cheaper. So if you have budget and time constraint or if you are creating a never-seen-before feature and want to trial run it, go for PHP.
Some of the famous frameworks of PHP are: CodeIgnitor and Laravel
.Net and Java: These are some of the oldest and highly mature languages. Most of the legacy and very stable project are build on this. The community is vast and ever thriving. If your application deals with a lot of data and needs high security this and our next superstar language are your go-to languages. Also, you can choose this if your application is expected to handle millions of users. Most of the banks use these languages for their development work.
NodeJS: It is another powerful language and is the youngest. Nodejs is fast, secure, and can handle Small to medium applications. However, application with lots of data, like a stock market analysis application it would not be recommended. For everything else, you can pretty much rely on and it’s strong integrations with other languages. After Python, it is the next best thing IMO.
Python (Recommended): Python is the star. It takes time to learn Python but once you do there is no holding you back. Python has most privileges compared to any other languages with any OS. It is also one of the oldest language, hence highly stable and secure, yet it has maintained it’s the pace to grow with time. It is secure, can handle high traffic and is most powerful. Use this for the project which needs integration with hardware, or if your application is really big and has a lot of complicated logic. Do not use Python for static or basic websites.