What is the best web framework for your startup ? Angular, React, Vue, Polymer?
So I assume that you have come to the point, where you have brainstormed every web framework available to start your ‘Hello World’ Application, some framework might have offered speed, some re-usability, and some everything in a box. And voila.. 3 months passed, and no decision has been made, and the framework versions, on which you were researching have been updated already.
So where do you stop? What pattern would you choose.. factory, singleton, observable? What Paradigm.. functional, object-oriented, reactive?
Some of you have already worried about scaling your startup to facebook level even before starting anything.
Well let me tell you the truth.. You sir, are wasting your time. Your users are waiting for your product, they won’t worry about your framework at all, They want pages on their desktop or mobile screens. Don’t snitch a wonderful product you might build from them, because you have such illusions.
Step No 1 : Choose a framework on which you have experience.
If you are a keen learner, you might getting your brain washed daily by latest technology things, while it’s not a bad thing, but putting a latest technology to production in a short time without support and prior-experience will be nightmare, You might over-do the thing or not leverage, the full power the technology has to offer, So your product will be just old wine in a new bottle.
So if you have experience in AngularJS 1.x, and have a code ready with authentication and folder structure, that might be best place to start with, since it will never slow down your speed, and you will be familiar every best practices, and you will be able to optimize it properly. Once you start releasing your version 1.0 then you can plan the strategy for improvement with the new people you will hire,
If you don’t believe me then check the first google page that the founders built.
So Start with the whatever best boiler plate you can get and understand, And if you have enough experience with react and vue, then you are lucky.
Dojo had handled huge web application well before the Angular and React arrived, so next generation might be powerful, but they are surely not as experienced. So if you have 10+ years of dojo experience, you can still give vue developers a run for their money.
My application here https://tdsplc.com is handling 1000+ customers in rural areas, with a limited internet connectivity, and it is built on AngularJS and they are not complaining about not choosing react.
Step 2: Choose framework with low cost
If you have a lots of money then you can hire the cutting edge developers, else you might need to take help from your friends to develop your first version, they might not be as enthusiastic about latest frameworks as you are, so choose whatever works for your starting team, if they are low experienced, choose a framework which is having lot’s of sample code on github. Even if you give it to freelancers, chances are you might find a better quality work in older frameworks at a better price, these freelancers have codes ready from their past project, and they can complete your work sooner. Since your hours spent will be low, so is your startup cost.
Step 3: Check your market requirement
If you are launching your product for B2C, with crores of potential customer, you might think to optimize your application as low as possible, reducing your network calls, caching, PWA, etc, In that case also, you must not choose the latest yet, Try with a stable technology with decent performance, don’t worry about benchmark scores if your app is not complex yet. Focus on your beta launch . For B2C , I find bootstrap/jquery/reactjs a good starting point, since they provide you just enough and very adaptive. If you need to keep your bundle size very low, then you can focus on vue or pwa, once you are experienced. Your customers will also like enhancements you might be making for them.
If you are building a B2B application or a console application, this case is very tricky, Because these are the customers, who will pay you up-front, and will demand timely delivery and performance both. So you need to find a rapid application development tool like Angular, which provide you good productivity, and ensure a modern web experience too. You might not gain much here from implementing because your customers are niche, so they may be less adaptable to changes. So here you need to leave worry about virutal dom or optimizations or multiple network calls or low bundle size, because customers also not be worried about these. FOCUS ON BUSINESS
Step 4: Invest time on the backend
You might not code yourself, but must know about your backend architecture, as you might need to guide them about your requirements. Don’t let them worry about server-side web rendering, Tell them to deliver the perfect rest responses, pagination, server-side searches etc.
If you can work with firebase for your startup, I think, that’s a very scalable decision, since your backend is available as a service, like authentication, database, storage etc, It will automatically scale up as per your requirements. And can be cost optimum solution for the first few years of your work, but aware to keep your frontend and backend loosely connected, so you can change the backend as per your business need.
I rest my case here. I still find Angular JS 1.x and jQuery as dependable options for your startup.
If you need a good boilerplate for your startup, you can check out my code, it’s a brewery management application. it’s built on firebase, angularjs and a proprietary library called devextreme. It has modules like authentication, registration, change password, reset password, CRUD operations with firebase.
Devextreme tools are very good and easy to code, however, you need to pay for a developer license for commercial applications.