I'm not coming from web-development at all, but am looking to build a web application.
So far, I've looked into all the server-side stuff (for example, I think my stack will be Linux + node.js + ExpressJS + MongoDB), and have learnt a lot! At this point, I'm comfortable setting up an HTTP server, routing requests, using RESTfull interaction with a database, and serving dynamic HTML using an HTML template engine like ejs or Jade. I even looked into Websockets as a means for establishing a TCP connection to add fast user interaction without page refreshing.
Now I'm looking to do pretty stuff; add graphs, tabs, ect to my web-applications! I've looked into things like Dojo, JQuery, CanvasJS, AngularJS ect, and all them seem cool. Problem is, now that I think of it, I have no idea how client-side programming works. For example, in AngularJS I may find something like:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script src="components.js"></script>
</head>
What is this saying? Does my server actually replace "components.js"
with the actual "componennts.js"
code before transmitting the response? What's going on with the https://ajax...
source? Does the browser, (or the server?) actually have to go to this url, and retrieve code?
As I said, as far as I'm concerned, the server responds with an HTML document composed of ASCII characters. What then, is actually running on the client side, and how does it get this code? (i.e. on V8 or whatever).
<script>
tag with asrc
attribute, it will fetch that source file and inject it into your page so that all of its public functions and data become available to other scripts on your page. It is that code that makes up client-side web scripting.