When to start using a framework for web development beginners

Many web development beginners ask the same questions about using frameworks.

Developers will frequently ask me:

Should I be using a Framework?

Which framework should I be using?

Which is the best framework will earn me the most money?

Which framework gives me the best chance of employment?

In this article, I will attempt to answer these questions from the perspective of a PHP developer. Many of the answers do cross over for developer interested in JavaScript.

Should I be using a Framework?

This depends. Do you know the core language? Can you make use of the constructs and functions all by themselves?

If not then as a beginner then it is too early. To use a framework you need to understand the core language to encapsulate it all behind a framework. A beginner needs to know the language itself competently before they even think about using a framework. This is done throughout practice and study and get one’s hands dirty with real-world practice projects. It’s as messy as it is fun and a beginner developer will take away a lot from this.

A framework is a really powerful tool but it is also an advanced tool, one that should only be used once the developer is comfortable building a database driven site using the core language.

The reason for this is that you are going to learn how that framework works but not how to use the language.

Its the equivalent of trying to drive a car from home to work without any understanding of the road system. you may be able to eventually memorize that route but eventually, something will happen to disrupt you leaving you stuck with no idea which direction to take next.

This question can be looked at from another perspective. Does the project need a framework? The answer is not always.

If you’re building a simple single page site with minimal functionality then you don’t need a framework to power this. It’s a case of using the right tool for the right job. For instance, if you know your one-page application is going to expand in the near future and become far more complex then it makes sense to build the single page application using a framework from day one.

Which framework should I be using?

One framework comes to mind that has it all. Laravel – It simple to pick up.

The really good thing about larval is that it grows with your abilities when starting out there is the simple way to do things and more advanced ways to do that thing more efficiently. It’s easy to get installed too and many hosts will even have the option to install for you in the same way as is done with WordPress.

If you are concerned by security and best practice, then aside from being on exactly the right track to achieving the mindset of the developer, then you will find that Laravel has you covered.

For best practices, security, and more, here is what Laravel has to offer.
The practice of convention over configuration meaning things tends to work out of the box without the need for to make adaptions.
Sessions and cookies are encrypted.
Uses PDO SQL layer, uses bound parameters so when performing database queries the SQL injection is already prevented.
Comes with a templating engine called blade which helps to escape output and prevent XSS attacks.
You can do everything from the roots file of the project.

With Larval when starting out it is possible to build a full application in the roots file using closures, this bypasses the need to use controllers and models. However, as your abilities grow then you absolutely should use controllers and models and they are powerful concepts in a web developers toolbox.

The sheer amount of resources, tutorials, and packages available online is another great positive for Laravel.

Which is the best framework will earn me the most money? Which framework gives me the best chance of employment?

I’m answering these questions together as I find developers are basically asking the same thing. What tools do I need to learn that will give me the best chance of earning a living from web development.

When looking through job adverts I find the most commonly requested frameworks are Symphony, Laravel and Zend Framework. Laravel I am finding is defiantly the most popular amongst new developers.

In the same vein, you may be interested to know that the most popular CMS skill requests are WordPress, expression engine and magentas for e-commerce platforms.

I am recently making a leap from a framework I built myself known as Nova Framework to Laravel. In reality, I find you have the best chance with whichever tool you can get the job done with to the highest standard to the client’s satisfaction.

This may lead you to another question…

Should I build my own framework?

Yes, It’s a good experience, it gives you a good solid understanding of OOP and why frameworks are constructed in the way that they are. It may not be publishable standards. Nova framework, in fact, started with my own attempts to understand OOP. Sharing on GitHub allowed me to meet other developers that recognized small differences from other frameworks and its potential. As a result, the framework grew in functionality and complexity.

The point is your framework may not be the best most groundbreaking but by sharing on an open source platform like GitHub it will give you a valuable experience in social coding.