It's now been two years since I started doing web development as my main occupation. Having programmed for longer I had a head start. Nonetheless it's challenging to produce a proper back-end.
The problem
In the beginning it was a challenge to build a website of a practical size. Not only did I struggle with logically structuring my code (how to break the problem down?), I also struggled with a lack of physical structure (how to organize the files?). And what about the actual code? How to make it maintainable while efficient?
Frameworks; a backbone for your website
It didn't take long to realize developers use frameworks. While the concept of a framework had some appeal earlier, I felt too naive to start developing using one. I didn't want to start utilizing the concepts used by frameworks (routing, MVC, ORM, etc.) without having some experience with making them myself. I prefer to have some notion of what's going on under the hood if I can have it that way.
Improv
So I experimented with constructing my own implementations of these concepts, successful to the point of organizing my code a lot and causing my sense of I'm making a bunch of interacting scripts, not a website…
to give way to I'm making a web application!
.
Though I love that I was able to put together some working code in ways that allowed me to scale my websites much further, I recognized it's nowhere near as neatly put together as what I've glanced is the case in frameworks. This is not much of a problem when you're working all alone, but to take development a step further others should be able and willing to get involved. I needed proper code, but how?
A book
I know and love the advantage that digesting a decent programming book gives; leading you through a rounded set of topics it puts you in a position of having at least an overview of what something is and isn't. As such I started searching for a book that discussed proper website development.
To my disappointment it's hard to find a good book on web development! It appears there has been no one willing to provide us with the know-how of building a decent framework. I had to settle for writings about the more concrete subject of describing a particular framework. I chose a book about Laravel as I guess it's quite popular.
Sufficiently comfortable
Having read the book I realize Laravel takes away a lot of difficulties to putting together a basic web application: beyond the concepts mentioned earlier there's advanced templating, middleware, authentication and authorization, tools for building an API, and much more. I now feel ready to give web development in a framework a shot. This blog is my first application in Laravel. Enjoy!