If you are building your own app, you obviously have a question – what technologies to use for an MVP?
it’s important to mention in this article, that we are talking only about software-only products, which can be built and launch in a matter of 1-3 weeks. It is nearly impossible to have an MVP of a hardware product in the same limited time period.
But if your hardware product has some software inside or around it – the same principles apply
This article is intended for people that do not know coding, and what to understand what skills they need to look for on the freelance market.
Web
What technologies to use for an MVP if you are building a web app?
For the web, there are tens if not hundreds of languages and frameworks that will allow you to build a nice and responsive software product fast. For example, there is no real answer on what JavaScript Framework is better, Angular, React or Vue, even though it is hard to be neutral about them. Every developer has a favourite framework of those two, or even something else, like Polymer.
But let’s get back to start. Every web application is divided into backend and frontend part.
For the frontend, it’s more or less clear: language is Javascript, and framework is usually one of three: Angular, React or Vue. If you are not hardcore specialist, you wouldn’t even notice the difference. This problem is close to differentiating between KFC and Burger King (sorry if I hurt your feelings here!).
For the backend, it’s not so obvious. Again, let’s start with the fact that we can divide backend even furter:
For the code language, the easiest you can do is find a PHP developer. They are extensively there on the market, and since the language is not in its top shape, those guys are very professional, many of them with 10+ years of experience, and not so expensive as fancy NodeJs (Javascript backend), Java or C# guys. It’s hard to find a developer with 10+ years in NodeJs, because NodeJs hasn’t yet existed for so long
But, if you are looking forward to building your product ON TOP of your MVP, then I would recommend those fancy NodeJs, Java and C#. They will allow you more flexibility and support for new features.
When you use NodeJs, take note that it is not very scalable. So if you want something that has 100k+ users, do not count on NodeJs, at least without AWS (a computing cloud).
For the database, I would go for MySql. It can be used for free, and if there is not enough scalability, you can always switch to AWS Aurora (scalable MySql cluster) or MS SQL on a powerful server.
For the server, it really depends on budget. If you do not expect a lot of revenue, the best would be to buy a server and install it at home. It would cost around $1000-$2000 to buy, and $20-$50 per month on electricity bill. Compare it with $300 per month for a nice rented server. AWS budget is somewhere near $800 a month (the best part, it doesn’t change too much when business grows, so large businesses tend to switch to AWS).
Mobile
What technologies to use for an MVP if you are building a mobile app?
The first question is – iOS or Android, or both? For iOS, there is a special Swift language. For Android, it is Java (old) or Kotlin (new).
If you want to cover both iOS and Android, look for Xamarin framework (C# language) or React Native framework (Javascript language).
For an MVP, it would make sense to have something built on React Native, because you could use 90% of the code base shared between web and mobile that would be really cheap.
Desktop
What technologies to use for an MVP if you are building a desktop app?
Again, the question would be “Windows or MacOS or Linux”, but since there is Java, and Java is still prospering, I would say Java is an obvious choice. The only reason for choosing something else would be that you have a C# friend who does perfect WPF or UWP (C# frameworks for Windows desktop apps), and all your first customers have Windows.