Technology choices in new products: what startups use.

So you might be thinking about starting working on a new product, or creating a startup. What do you need to get you started?

Victor Motogna
Cluj Startups
5 min readOct 3, 2017

--

Well, you might need a landing page, a web app and probably a mobile app. These may not apply to every project, but let’s take this general case.

We’re going to take them all, one by one, viewing everything from a startup perspective: how fast can you build an MVP, how fast and reliable is the technology and how easy is to maintain it.

Landing page

Let’s start with the easiest one: a landing page. Every company, startup, product, needs a landing page. There is no question here for what to use: HTML, CSS, JavaScript, maybe Bootstrap, a nice template, and you’re ready to go.

It’s main objective is to show new people what your product does. It needs to be precise enough to get people on-board, but it also needs to be concise enough to keep people interested and reading.

I’m not going to cover more on this subject, as it’s pretty straight forward, the only limit is your imagination and design skills. If you want to finish the landing page quick, you might to look on some templates.

Web app

When building a product, you might want to take it to the web. Or at least a part of it. Lots of products are web apps, and your idea might get there too. So let’s see what you’ll need for a web app:

A backend:

Here, your choices are extremely important, but also you have a lot of options. The most popular ones would be Node.js vs. Java/.NET. Of course, there are lots of other possibilities that are catching up: Go could be an excellent choice for performance, but you’re going to have a bad time finding developers for it, Python is getting better with frameworks like Django, Flask & Pyramid.

So what should you choose? Well, it depends. Are you in a rush to build an MVP? Then, definitely Node. You want a very efficient, scalable, old-school server? Then, you might want to give Java/C# a chance. Choosing between these two is more of a preference, as they are very similar when it comes to performance. Of course, .NET can also target desktop Windows applications, not only Enterprise apps.

JavaScript: JavaScript can get a little bit awkward if you are coming from another programming language - you will have to learn new concepts and some things do not work as you’s expect: comparators, null operator or object creation; but these don’t make JavaScript a bad choice for you. If you are going to choose this, you might want to consider that Node.js is a framework, while Java & C# are very mature languages. All of these considered, the community and support on Node is huge. Although the JavaScript coding experience may be a little odd for new users (some love it, some hate it, it depends on your personal preference), this is the clear choice for fast deployment. You might loose when the app needs scalability and becomes bigger and bigger.

Java/.NET: Both of these are clearly more efficient than JavaScript. Both are mature and offer solutions for huge enterprise. Java is the most used coding language on the planet and it also has usages in IoT, mobile, cloud, etc. Same goes for C#. This would be the obvious choice for enterprise scale projects. Also, finding Java & C# developers is not as hard as finding Node.js developers at this moment.

A frontend:

For frontend, things are pretty straight forward (again). You’ll need HTML, CSS & JavaScript. I’d recommend a look into JavaScript frameworks like Angular, React and many more.

This means you’ll also need a frontend developer, or a full-stack developer, to do them both (frontend & backend).

credits: 9gag.com

Deployment:

After creating a great web application, that also saves users’ lives, you’ll have to move it from localhost:// to the cloud. There are lots of great platforms and choosing one can differ from scale of the project to the pricing of the platform. Personally, I think the most popular ones right now would be AWS, Azure, Heroku or Google.

Amazon Web Services, Google & Azure are the big services, with experience and high-end services. AWS is by far the best, especially for big and scalable products. Google is catching up to Amazon, with its specific advantages, but Azure’s growth and changes has given them more users and bigger revenue. The pricing between these 3 is the biggest turning point for small businesses (and also for larger ones), but it depends a lot from plan to plan, you should really take all into consideration.

Heroku is a little bit different of them all. It’s pure PaaS, dead simple interface, scalability is also extremely easy (adjust a slider - or have it scaled automatically - and Heroku will spin-up/down VMs behind the scene scene and handle all of the load balancing for you).

P.S: you want to consider Gulp to make some things easier :)

Mobile apps:

Your solution might also make a good mobile app. People would want to use an app rather than getting on a site each time and using your web platform. Doesn’t matter how responsive you make it, a native app is better (in almost all the cases I can think about).

So what do you need to make that? Well, you need to consider only 2 platforms: iOS and Android. Or only one, depending on the case.

iOS:

Things aren’t really that hard here. You can make native iOS apps in Objective C or Swift, although I’d recommend using Swift. Learn the design patterns, learn a little bit of Swift and that’s kind of it. Oh, and you need a Mac platform. Oh, and you need to pay a tax. Periodically. Oh, yes. Almost forgot. You’ll also need Apple devices to test your app.

Android:

On Android, everything is open-source. Kind of. You don’t need to pay anything to develop and test native apps, but you will need to pay a tax (once) to publish your app to the store.

The native language for Android development is Java, but earlier this year Google announced native support for Kotlin (a brand new language developed by the guys @ JetBrains, the guys that also make — kind of -Android Studio, the IDE of choice for Android developers).

So go ahead, fire up Android Studio, learn Material Design principles (very different from iOS design principles) and Java/Kotlin and you’re ready to go. Google also offers great support for Android developers.

Cross-platform:

Cross-platform mobile apps are catching fire lately. More and more frameworks are coming out, and they are also getting better.

React-native and Ionic are only a few examples, but JavaScript is getting better at a lot of stuff, and this is one of them. You might to consider these, as the support is awesome, native features are getting implemented and you’re going to write a lot less code (you’re going to cover both main platforms with this approach).

Facebook chose React-native to build the app for F8 Conference, so here is a great example of when to use it.

Other cool stuff to consider:

A new advantage of JavaScript is that it’s getting very useful for a lot of stuff. Frameworks like Electron let you make cross-platform desktop apps and React-native & Ionic let you build cross-platform mobile apps. And they are getting better. This means less code, more usability.

--

--