In this section, we're going to dive into the angular framework.
I know you're excited to get started.
But before we get into writing some code, I want to talk about why Angular is completely different
from other frameworks.
The purpose of this lecture is to give you a proper expectation of what Angular brings to the table.
It stands out from the competitors.
Let's take a step back for a moment.
Frameworks are common in every programming language they exist within C-sharp, Java, C++, Go, Python,
and almost any other language you can think of.
Typically, we can put frameworks into two categories.
There are a configuration over conventional frameworks and convention over configuration frameworks.
Both types of frameworks have their advantages and disadvantages.
Some developers prefer one over the other.
A configuration over conventional framework focuses on providing you a minimum setup for starting a
new project.
Less boilerplate means a smaller learning curve.
For that reason, these types of frameworks are more popular.
These frameworks are extendable, so if you need to add more features, you'll be able to do so with
ease.
Since these types of frameworks are popular, third party developers will frequently provide open source
solutions for problems not solved by the framework.
Features like form validation, authentication, storage, etc. On top of being extendable, these frameworks
give you complete freedom over the structure of your project's file names.
Variables, classes and directories can be organized.
How you see, fit, react and view are examples of frameworks that are configuration over convention.
They focus on interacting with the view of the application.
If we need additional features, we need to install and configure external libraries separately.
For example, React doesn't come with state management.
You need to install either flux or redux to fill in that hole.
Despite their popularity, there's one glaring issue with these types of frameworks.
It can be challenging to scale.
At some point, you will need to have standards in your project.
Carelessly throwing code wherever you want can lead to tech debt.
That doesn't mean these frameworks are terrible.
Far from it.
On the contrary, there's a reason they're popular.
Developers can develop complex and scalable apps if they're careful every step of the way.
If the community of the framework puts in the effort, these problems can be avoided.
The next type of framework is convention over configuration instead of configuring everything yourself.
These types of frameworks are configured out of the box.
The framework will help you with deciding how classes and files or organize from within your project.
Another benefit is the suite of features that come with these types of frameworks.
Need routing?
You're covered.
How about state management?
Not a problem.
What about a solution for working with forms that's also covered?
It's a batteries included type of framework.
There's just one problem.
A convention over configuration or framework has a high learning curve.
There's a lot to memorize as a result.
It can feel overwhelming to beginners for that reason.
Most beginners tend to shy away from these sorts of frameworks.
Angular is considered a convention over configuration framework.
It stands out from the crowd for this reason.
The developers behind the framework wanted to create a framework for a large sized applications.
The reason I'm mentioning this is because of how intimidating the framework can be to beginners.
A beginner can get started with react or view with a few lines of code.
It's another story for Angular instead of a few lines.
We're given dozens of files for a starter project.
It's not possible to get started with Angular with one line of code.
It's because angular is not meant for small apps.
If you're interested in creating small widgets, angular is probably not the best choice for you.
It's aimed at creating medium to enterprise level apps.
There's a high learning curve, but don't worry.
That's why you're taking this course together will walk through every file to get an understanding of
what's going on.
Now that we know what we're getting into, let's get started.