The essential difference between a _library_ and a _framework_ is that in a library users themselves both (1) choose the code units they need for their system; and (2) decide the order of execution of these code units within a "main" module that is written by the user. In a framework, the designers of that framework both (1) select all the _default code units_ used in the system based on what _most users need_ ; and (2) write the "main" module in a way that executes all the default units in a _fixed order_ . So the main difference lies with the so-called "flow of control" in the system. In a library, the user themselves decide it, in a framework it is predecided and always the same. Most modern frameworks have a configuration facility that allows users to switch off any default functions that they don't need. Also some frameworks allow users to insert their own customized objects & functions before or after one of the default framework functions. _But framework users can never change the order of execution of any two default functions in the framework_ . *Library Pros* - Can have only those modules you want and in the order you want them, leading to tailored design, light memory payload and fast execution - Can insert self-written or third-party modules, giving system flexibility and a greater sense of creativity by the coder - Library units are tested by many previous users, saving time over self-written units *Library Cons* - User must do all testing of custom or third-party modules used with library units - User must do all their own integration testing - Slow development process, even for prototypes of small systems *Framework Pros* - "Out-Of-The-Box" working system, often needing no additional code or integration testing, fast prototype system assembly - Tried and proven solution to the typical user's needs - Can configure out functions not needed - Can (in some frameworks) add in custom functions and objects in relation to order of default function *Framework Cons* - Customization limited: may add new functions but can't reset function order - Memory, execution and performance inefficiencies when used with atypical applications or limited concurrent user numbers - Some frameworks make use of newest language constructs, subsidiary frameworks for implementation, front end presentation and data mapping - all this gives newbees a very steep learning curve. For example Node.js (uses Express, React/Vue/Angular, MongoDB/Mongoose plus built-in and NPM modules all linked in JavaScript ES6). Similar elaborate dependencies apply with Java Spring. In Node framework case, it's easier for learners to pick up if first apps use only developer's scripts, the Node built-in library and a few NPM modules. So complex frameworks require knowledgeable personnel for efficient development - Limited sense of creativity by the coder due to necessity of working within constraints of framework and its envisioned design patterns
@@StefanMischook hi Stefan! If you let me ask a question, are you teaching your children (or maybe when they're a bit older) programming? And if so, at what age and which language to start? Thx a lot!
Thank you Stefan for always sharing valuable information, I'm a 30 year old who started learning programming early this year, and I have always watched your informative videos which I find very helpful, Thank you man It's Sibusiso from South Africa, in this country Java is in high demand always, so what I'm focusing on that (Spring etc)
I have been turning in cycle learning more deeply stuff, and i think i is nice to feel confortable with the base without building up but playing :) I was actually watching your video cause i hesitate with Vue and React... I play laravel already... So I guess you confirmed going for first framework JS vue is ideal and on top can combine ;) Thank you :)
Hello Stefan. Vos vidéos sont super intéressants. Surtout vos explications sur le fait qu'un code doit être self-describe. J'ai partagé vos vidéos à un ami qui veut débuter dans le codage et cela l'aide beaucoup. Moi je suis ingénieur en image processing and machine learning. Mais vous écouter est toujours un plaisir. Bon courage...! Et merci. Ibraheem. From Paris...!
Just watched your video on Coffee Script. Would you recommend Vue or Laravel for the server code for a multiplayer web game where many players would be playing at the same time.
Thank you, sir, for very informative video. I have a small question about my career path. Couple a years ago I decided to go in a web development so I took 4 course specialization which was based on Java. First course was only html, css, js and after finishing all courses I decided to go with Java. Then I searched local jobs list and react was very popular so I went for react. I had a university course project in Angular and I did well after react. Then had small experience with Django. Now I found that Laravel suits me perfectly since I have a strong php foundation. What do you think mr Stefan, should I continue with react + Laravel or continue learning and do some projects in each one. Thank you.
If you want to be a frontend developer, you gotta know react, vue, svelte or angular and be familiar with css; If you are looking for backend position, you will deal with express/js, python/django, spring/java, php/laravel, c++, csharp/asp.net, ruby on rails, and database like mongodb, firebase, aws, azure, sql, etc. If you seek for fullstack developer position, you have to know both frontend and backend, knowing how to integrate/connect frontend and backend together !!!
06:47 some devs say that i need to understand how vanilla JS work than jump into framewoks for exemple : High array methods, others say never learn to code something unless you need it , which mindset should i have ?
Stefan can you please tell me with your experience what would be the best front end framework to use with django . ( react or next ) ( vue or nuxt ) thank you so much.
I feel like frameworks (unless you design them yourself) have made coding more complicated than necessary. Reason being is I spend a lot of time programming til Im an expert, then I have to on top of that learn a framework because that’s what the job wants. I like making my own libraries to save time but after learning PHP, Python and Javascript, I then need to learn Laravel, Django, React and Node just to get a job when I can program efficiently without a framework 😤😤😤
We use react on my employer. I used Vue on my side projects since it is easier and cleaner, thinking to resign on my employer as I making more money on my side projects and more relax.
@@StefanMischook I've noticed you and other guys I watch dont mention C# for web like the other languages. Im studying heavily into C# and ASP NET Core MVC. Do you think my time is wasted on doing this for web dev? Im so far into it now. I would hate to start over. Thanks for responding as well
@@richarddixon8365 the reason why most tech TH-camrs don't mention ASP.net is that because it is made with c# and most people don't know it most of them know js so it is easier to jump from one js library/framework to another. That why you don't see much about spring boot eaither because it is uses java, so no asp is a great choice keep on going, plus it is one of the most loved framework.
I'm in a dilemma...I finished html css JavaScript..should I learn bootstrap or react next...I'm a newbie and see most of the Frontend job openings requirements listed with bootstrap. I find that most of the components and utilities provided by bootstrap can be copied down and css grid helps in making responsive too. So is there a need to learn bootstrap?
At the moment I'm learning css grid, I find it very interesting and the way we layout html elements is just perfect and clean also it makes the design responsive.
But then you're stealing other people hardware. You should use the natural resources to build the stuff. But you would still be stealing from nature so you have to create your own universe where you can get stuff from-
The essential difference between a _library_ and a _framework_ is that in a library users themselves both
(1) choose the code units they need for their system; and
(2) decide the order of execution of these code units within a "main" module that is written by the user.
In a framework, the designers of that framework both
(1) select all the _default code units_ used in the system based on what _most users need_ ; and
(2) write the "main" module in a way that executes all the default units in a _fixed order_ .
So the main difference lies with the so-called "flow of control" in the system. In a library, the user themselves decide it, in a framework it is predecided and always the same.
Most modern frameworks have a configuration facility that allows users to switch off any default functions that they don't need. Also some frameworks allow users to insert their own customized objects & functions before or after one of the default framework functions. _But framework users can never change the order of execution of any two default functions in the framework_ .
*Library Pros*
- Can have only those modules you want and in the order you want them, leading to tailored design, light memory payload and fast execution
- Can insert self-written or third-party modules, giving system flexibility and a greater sense of creativity by the coder
- Library units are tested by many previous users, saving time over self-written units
*Library Cons*
- User must do all testing of custom or third-party modules used with library units
- User must do all their own integration testing
- Slow development process, even for prototypes of small systems
*Framework Pros*
- "Out-Of-The-Box" working system, often needing no additional code or integration testing, fast prototype system assembly
- Tried and proven solution to the typical user's needs
- Can configure out functions not needed
- Can (in some frameworks) add in custom functions and objects in relation to order of default function
*Framework Cons*
- Customization limited: may add new functions but can't reset function order
- Memory, execution and performance inefficiencies when used with atypical applications or limited concurrent user numbers
- Some frameworks make use of newest language constructs, subsidiary frameworks for implementation, front end presentation and data mapping - all this gives newbees a very steep learning curve. For example Node.js (uses Express, React/Vue/Angular, MongoDB/Mongoose plus built-in and NPM modules all linked in JavaScript ES6). Similar elaborate dependencies apply with Java Spring. In Node framework case, it's easier for learners to pick up if first apps use only developer's scripts, the Node built-in library and a few NPM modules.
So complex frameworks require knowledgeable personnel for efficient development
- Limited sense of creativity by the coder due to necessity of working within constraints of framework and its envisioned design patterns
Good breakdown.
wow, what an expert !!!
@@maskman4821 Expert, my ass. Just an old chopper.
@@StefanMischook hi Stefan! If you let me ask a question, are you teaching your children (or maybe when they're a bit older) programming? And if so, at what age and which language to start? Thx a lot!
@@StefanMischook Feel free to add some pros and cons of your own to mine
Stefan, thank you THANK YOU for not using jargon and explaining this concept in such a clear and concise way! You're an excellent teacher.
It's hard to believe this is possible, but these video lessons keep getting better, addressing the inevitable concerns and confusions.
Thank you Stefan for always sharing valuable information, I'm a 30 year old who started learning programming early this year, and I have always watched your informative videos which I find very helpful, Thank you man It's Sibusiso from South Africa, in this country Java is in high demand always, so what I'm focusing on that (Spring etc)
A very great tip. No need to re-invent the wheel, there will be plenty of time to write code. I guess you were speaking to me. Many thanks
btw, vue3 was just released a few days back
ive had this doubt for so many days, i didnt uderstand until this video got suggested. Thanks
Thank you for your conciseness and analogies. Helped me get the concepts right away 🙏
That was really helpful. I saw several other videos, but I got everything watching this video! Thank you!
Laravel with Vue is a good option, very popular actually.
Combined with inertia
Vuetify + Laravel is a killer combo, love it
Nice to know I'm on the right path thanks Stefan, btw yes! as someone mentioned before me, please bring back the Ruby jokes! :)
i love the way u explain , when everything seems so dark u just come n turn on the lights 😻🌹
I have been turning in cycle learning more deeply stuff, and i think i is nice to feel confortable with the base without building up but playing :)
I was actually watching your video cause i hesitate with Vue and React... I play laravel already... So I guess you confirmed going for first framework JS vue is ideal and on top can combine ;)
Thank you :)
Hello Stefan. Vos vidéos sont super intéressants. Surtout vos explications sur le fait qu'un code doit être self-describe. J'ai partagé vos vidéos à un ami qui veut débuter dans le codage et cela l'aide beaucoup. Moi je suis ingénieur en image processing and machine learning. Mais vous écouter est toujours un plaisir. Bon courage...! Et merci.
Ibraheem.
From Paris...!
Great explanation, in easy language and delivery so average Joe's like me can understand.
your videos are so good , i don't know why you don't get more views
Just watched your video on Coffee Script. Would you recommend Vue or Laravel for the server code for a multiplayer web game where many players would be playing at the same time.
Thank you, sir, for very informative video. I have a small question about my career path. Couple a years ago I decided to go in a web development so I took 4 course specialization which was based on Java. First course was only html, css, js and after finishing all courses I decided to go with Java. Then I searched local jobs list and react was very popular so I went for react. I had a university course project in Angular and I did well after react. Then had small experience with Django. Now I found that Laravel suits me perfectly since I have a strong php foundation. What do you think mr Stefan, should I continue with react + Laravel or continue learning and do some projects in each one.
Thank you.
If you want to be a frontend developer, you gotta know react, vue, svelte or angular and be familiar with css; If you are looking for backend position, you will deal with express/js, python/django, spring/java, php/laravel, c++, csharp/asp.net, ruby on rails, and database like mongodb, firebase, aws, azure, sql, etc. If you seek for fullstack developer position, you have to know both frontend and backend, knowing how to integrate/connect frontend and backend together !!!
Best explanation I have seen yet. Thank you.
Glad it was helpful!
06:47
some devs say that i need to understand how vanilla JS work than jump into framewoks for exemple : High array methods,
others say never learn to code something unless you need it , which mindset should i have ?
Thanks man for this easy explanation of frameworks 🔥🖤
Stefan can you please tell me with your experience what would be the best front end framework to use with django . ( react or next ) ( vue or nuxt ) thank you so much.
Laravel with some Vue for frontend 👌
thank you sir, I learned a lot from this informative video🙏👌
What's your opinion on blazor everyone on TH-cam are saying that it blows javascript away??
Wow, thanks so much Sir for this educative video. You are the best!
Very well explained. Thank you
Welcome!
If coding looks like you I don't want anything to do with it..lol..Good vid.
I feel like frameworks (unless you design them yourself) have made coding more complicated than necessary. Reason being is I spend a lot of time programming til Im an expert, then I have to on top of that learn a framework because that’s what the job wants. I like making my own libraries to save time but after learning PHP, Python and Javascript, I then need to learn Laravel, Django, React and Node just to get a job when I can program efficiently without a framework 😤😤😤
Angular and NestJS for me
Very well explained
React js is a framework or a library?.lot of people saying that it is a library is it right?
Thanks a lot you always illustrate the road
How about low code solutions, like OutSystems?
Great overview.
What about angular? Isn't angular the most popular js framework?
Thank you Stefan
Your welcome!
We use react on my employer. I used Vue on my side projects since it is easier and cleaner, thinking to resign on my employer as I making more money on my side projects and more relax.
What about ASP .NET Core? I would think that is a significant framework right?
Oh yea.
@@StefanMischook I've noticed you and other guys I watch dont mention C# for web like the other languages. Im studying heavily into C# and ASP NET Core MVC. Do you think my time is wasted on doing this for web dev? Im so far into it now. I would hate to start over. Thanks for responding as well
@@richarddixon8365 the reason why most tech TH-camrs don't mention ASP.net is that because it is made with c# and most people don't know it most of them know js so it is easier to jump from one js library/framework to another. That why you don't see much about spring boot eaither because it is uses java, so no asp is a great choice keep on going, plus it is one of the most loved framework.
You call the Libraries. The Frameworks CALL YOU!
Thank you
Indeed. Foundation first but most of the organizations do not care about it in the interview unfortunately.
You won't be able to learn a framework if you don't know your foundations.
In my area, you only see java ee and spring boot
Where can I learn spring ?
@@JohnDoe-ej6vm there are some good udemy courses, also read their docs
I see you didn't mention Rails 😁
keith perkins 10:57
@@ninagalvani1007 Yeah but at the beginning he didn't mention Rails with the top frameworks. It's a joke as he's not a Ruby fan.
Forever 10q your video tutorial really guide me
React is btw a library
Yea, I should have said librarie or framework ... Distinction without much of a difference.
thanks
You're welcome!
I'm in a dilemma...I finished html css JavaScript..should I learn bootstrap or react next...I'm a newbie and see most of the Frontend job openings requirements listed with bootstrap. I find that most of the components and utilities provided by bootstrap can be copied down and css grid helps in making responsive too. So is there a need to learn bootstrap?
Thanks....
Learn Sass
At the moment I'm learning css grid, I find it very interesting and the way we layout html elements is just perfect and clean also it makes the design responsive.
Would it be best to jump into a framework.. For example: I move into laravel without learning php
Foundations first, always. So learn PHP.
@@StefanMischook thanks alot for your reply
Welcome!
Vue.js we're done here.
Hi Stefan!
Do you speak russian?
Where from your second name ?..maby from Belarus?
Sorry. I was born in Canada and so I speak English and French.
That's not Belarus name
@@Программирование-э3ж
Ага ...англосакс или француз хотите сказать..?
@@Программирование-э3ж
Ага ...англосакс или француз хотите сказать..?
@@sergeykagal8656 признаю, я не прав.
the sound is very low
Sorry Stefan I will continue assembling my logic gates, I can't steal other people's code.
Then go to binary. Or how do you think assembly compiler was made?
@@migueldomingos4570 I don't know what you're talking about, all I know is 0-5 volts
@@TheTariqibnziyad Ah i get it
But then you're stealing other people hardware. You should use the natural resources to build the stuff. But you would still be stealing from nature so you have to create your own universe where you can get stuff from-
@@migueldomingos4570 damn my own existance is a theft
bruh 11 minutes for this info? couldve told us in like half
Are you saying you want me to talk 2x as long? 😀
You didn't mention ruby on rails.
Unsubbed.
Also at 2 mins
th-cam.com/video/D3MJq8g8c3I/w-d-xo.html
had to stop at 5 min
Thank you