Building from scratch or Use multiple apps as components of your application?
Whenever you are asked to build an application for client or as founder you are building your own product. First question that comes to mind is that should I build it from scratch? or Use various applications/software (AaaS or SaaS) as service?
There is no fit for all answer to this but i believe based on your requirement, resources — finances and delivery or go to market, one can make right decision which route to go.
What are you building?
A question — what do you think in building car, which as about 30,000 parts. How many of these 30K parts are produced by car company itself? Most the car manufactures build only the frame and body/chassis, almost all other parts are build by OEMs.
And this is true with pretty much every industry. So, i would recommend just build only the frame and plugin all the software as components, unless you are building a very niche or complex software application
How many resources you have?
If you are just starting up and don’t have a full length of developers, designers/UX, QA. I highly recommend you should never get into trap of building from scratch, but identify softwares that are already there and use them.
However, please be aware even having a team of developers, designer/UX and QA doesn’t mean that you should always build from scratch. Remember all these software are built by specialised teams who keep updating them to ensure they are compatible to new OS, browsers and hardware, are secure by releasing security patches and keep adding new features.
Time means money..
Another big advantage of using the 3rd party softwares as components, is the time you spent on building it. Which means you need to spend fewer $$ and your goto-market timeline is very short.
Faster you go to market, you can listen to customers and make changes to your application lot quicker and produce more refined, solid and beautiful product.
So, next time you are building a software application. Do spend time looking around all the softwares available in market and see if you use them and build a beautiful product for your customers.