I am not going to comment on the specific frameworks that you have mentioned, but I will try to explain the concept .
The first thing you need to understand that there are two players her :
- The Server side ( Python, Php, Java )
The second thing is to know and distinguish between languages , framework and libraries ( even though in my answer I might ignore that )
After you will understand that , everything else is easy to explain .
( with the introduction of HTML5 - that border between client and server was blurred a bit - but for the sake of the answer I will ignore that )
With a web app, first, the client side acquire and process some data , it can be many things depending on the app itself ( like database queries , data manipulation etc ) - but then , the result is HTML markup and some other code like
HTML over some protocol ( lets say
HTTP ) to the client ( Let´s say a
Browser ) resulting in the three-tier architecture ( data-logic-presentation) .
You see, some calculations regarding the app ( UI related ) Can be only made on client side for example showing and hiding elements (like error messages at login ) , changing element values, special effects , form submission buttons, dynamic situations and general input related actions etc ... in other words, DOM manipulation.
So why the frameworks ? Well, even if the definition is a bit different , you might want to look at frameworks like some kind of a library that someone wrote with generic functionality , that will help you write the code faster by reusing functions ( or structure ) they have already made available.
( and yes, there is a difference between library and framework, but you asked for a simple layman answer )
Regarding your question
" Can i still build an application that does simple things without
Sure you can . But the real answer is it will depend on what you want your web app to do and how it will look . No problem writing a simple web app without
But here you have to distinguish between "
Now, back to HTML5 - it could shake a bit the foundations of the above answer, because HTML5 allows for some actions that were formally in the realm of the server side - to be done on client side . But that does not change the concept that some actions must and can be done only on server side , and some , only on client side .
Weather you use frameworks or not and on which side of the app ( or both ) is totally up to you - but with today's standards, it is very hard to ignore them completely - and remember that they are just tools , and tools must be chosen according to the job at hand so for every webapp the answer would be different.