Online you will find no shortage of people claiming they know the correct way to do things. That you should use technology x or y or z because it’s the most correct way to do things. But often I’ve found that correct is usually an metaphor for the way the someone prefers to do things. This is in place of practicality and often ends up doing more harm then good, as new developers adapt technologies they do not understand. So I’d like to propose a new metric for correct, practicality.
This particular setup is a tad unusual but not unheard of, the primary reason being that it takes a little finagling to get it setup correctly. But once it’s setup, you can prototype and deploy an application very rapidly. The idea is to use an Angular SPA for the client and Laravel w/ Apache/NGINX for the API.
There are a bazillion different front-end frameworks, why Angular. In truth you could get good mileage from any of them. However Angular(and possibly Vue soon) provides you with just about everything you need out of the box. It is a Top to Bottom framework, it’s opinionated in a good way and dictates good application structure with excellent build tools and clear documentation. In addition to a growing community, support is easy to find.
I feel like I don’t need to sing it’s praises but with some of the best documentation in the open source world, and probably the largest framework development community, you’d be hard pressed to find an easier framework to work with. It may not be the fastest but it is the fastest to write with, and I can’t think of a better framework to jump-start a clean project.
What You Get:
The end result is a batteries included project and ecosystem of libraries and tools that are battle tested for the web. These frameworks force you to write code a certain way, which may not be for everyone, but is great for getting an idea to market.