It’s coming with experience. On the beginning you always trying to do everything by your self. No frameworks, no libraries – bare bone solutions written from the scratch. Later – you realising than your time is to expensive, and start using some libraries. After another period of time you are getting to the point, that you are willing to use as many existing solutions as it’s possible.
Really typical problem – sending and receiving emails from the apps. Of course – you can send emails using simple
mail
() command or using more sophisticated libraries like
Swiftmailer
but… if there is an option to use API, you can chose from couples: