Hello!
Angular can’t take the server-side away. It is possible that in these courses, they leave out the rest of it to you. So instead of a real database, they use localstorage and the like. No web-app developer can
Like any framework, Angular tries to offer tools to deal with the daily problems of a front-end developer.
Are you talking about Angular or Angular JS? AngularJS is the first version and is outdated. They tried to work around a lot more problems than what exists today. E.g. Module bundling.
AngularJS would asynchronously load the other modules you would require in such a fashion:
angular.module('myModule', []).
config(function(injectables) { // provider-injector
// This is an example of config block.
// You can have as many of these as you want.
// You can only inject Providers (not instances)
// into config blocks.
}).
run(function(injectables) { // instance-injector
// This is an example of a run block.
// You can have as many of these as you want.
// You can only inject instances (not Providers)
// into run blocks
});
This is no longer a problem today, as you can simply import
the files and modules you need. If you use a module bundler like Webpack.
import {HttpClientModule} from '@angular/common/http';
Angular tries to offer a component-based approach. This is easy to overlook, when you are faced with a lot of other complexity.
So the idea is to write something only once. Where in jQuery, they perpetuate, that you should use an ID selector for every single functionality. I can’t tell how often devs using jQuery apply the same function over and over to different IDs.
In Angular, you are supposed to write customizable components. Very much like the components you find out in the wild.
Dropzone, Flatpickr, nouislider or flickity. All UI components that are highly customizable. You are supposed to work like that, instead of writing controllers that you use only once. This requires a lot of thought and is not easy at all at first. This is a complete mindset shift away from jQuery and similar.
Angular can’t completely replace Javascript (as it uses javascript)
Once you hit the limits of Angular, you need to resort back to the DOM API. But they offer a quite huge templating engine.
If you are looking for a more lightweight component-bases approach. I can only recommend Riotjs. Which requires you to write less (no more remembering what a service, a module, a pipe, a controller, etc is) to achieve more.
On my website, you can find a lot more working examples and a guide to get started with functional components. If you still have a hard time, deciding which framework is the best for you.