Where do I begin?
Do you have...
What languages you pick depend on the type of problems you want to solve...
An example of the Full-Stack Engineer's repertoire
The Web
and more
Visit https://github.com/techsoc/front-end/tree/three-js and download the repository, we have some basic HTML and CSS to work from
The structure of a basic website:
name_of_your_website_folder
|
|-- index.html
|-- css/
|-- style.css
|-- bootstrap.css
|-- js/
|-- main.js
|-- jquery.min.js
|-- bootstrap.min.js
|-- images/
|-- logo.png
|-- event1.png
Programming language
- high level, dynamic, prototypal, interpreted
- super flexible, huge community
- invented by Brendan Eich and Netscape
<script src="js/main.js" type="text/javascript">
console.log("hello!");
Programming is the way humans tell computers to do logical things for them in a systematic fashion. It lets humans create ways for other people to interact using computers.
There are a wide variety of programming languages, BUT to decide which to use, we need to decide what we want to use it FOR, and then pick the language best suited for the use.
Programming languages are organised into paradigms, that is - ways of thinking and communicating with the computer.
function loadScript(url) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
document.body.appendChild(script);
return script;
}
function name(argument) - arguments = data taken in by a function to be processed
expressions:
operations performed on a data type
variables - used to store, organise and manage raw data which is being handled by functions & expressions
You can do it with elements on our website: https://techsoc.io
or by opening the index.html page from the repository in Chrome
JavaScript file that can be downloaded from the jQuery downloads page or you can link the hosted version online
For each version you can either get the normal code, which is useful for your own development, or the minified (jquery.min.js) code, which has had all the space (and other stuff) taken out to make it as small as possible, so it downloads quicker.
If you download it, you can save it in the same folder as your website!
Let's do this now :)
<script src="jquery.min.js"></script>
</body>
</html>
<head>
...
<script src="jquery.min.js"></script>
</head>
Experiment with jQuery using the Console section of the Chrome developer tools.
You will need to be on a page where jQuery is loaded.
One of the nice things about jQuery is its ability to select elements via their CSS selectors.
To select elements jQuery uses the $(‘ ’) function. For example:
$('li') // selects all the li elements on the page
$('li .important') // selects all the li with class="important"
$('#main-title') // selects the element with id="main-title"
<h2 id="products_title">Our scrumptious puddings</h2>
<ul id="products_list">
<li class="product_item">Black forrest gateau</li>
<li class="product_item">Rasberry lemon swirl cheesecake</li>
<li class="product_item">Sticky toffee pudding</li>
<li class="product_item">Death-by-chocolate cake</li>
</ul>
$('h2').css(color,red);
element selector
/* make the h2 with id="products_title" red */
$('h2#products_title').css('color', '#f00')
/* make li with class="product_item" fade out */
$('li.product_item').fadeOut()
/* function to toggle a class "pop_up"
on h2 when h1 is hovered over */
$('h1').hover(function() {
$('h2').toggleClass("pop_up");
});
attribute selectors
Use jQuery and Bootstrap to implement the nav bar
Separate the page into tabs using jQuery
Use jQuery to carry out form validation and print data entered into it in the console
https://github.com/techsoc/front-end/tree/three-js
What we've been using and will be using a lot in JS:
Libraries and APIs
Important building blocks to building robust websites
An abstract description of how to use an application...
It...
A library is an implementation of an API;
jQuery is the easiest and quickest way to start learning JavaScript
We can also use something called AJAX to retrieve data from servers
Makes requests for information, and takes information from users
Responds with requested information, and stores information from users
Each side is just different types of computers serving up different types of applications
Client application
uses AJAX / request library
Server application
built with RESTful
architecture
database
PUT
POST
DELETE
GET
So we’ve talked about front-end / client-side and back-end, server-side, but how do we connect the two and get them talking to each other?
We have to perform an Ajax request over HTTP/HTTPS (transfer protocol).
Using AJAX, we can:
Update webpages without having to reload them
Request data from servers after the page has loaded
Receive data from servers after the page has loaded
Send data to a server during the page session, in the background
$.ajax({
url: "https://api.elbi.com/api/v1/rest/donations/count",
dataType: "json",
}).then(function(donationCount) {
$(".incremental-counter")
.empty()
.attr('data-value',donationCount)
.incrementalCounter({digits:'auto'});
});
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "http://www.w3schools.com/xml/ajax_info.txt", true);
xhttp.send();
}
Check out the API Documentation and experiment!
Things get a lot more interesting when you can create bits of JavaScript to be run in response to a user action.
This allows you to build up interactions like “when the user clicks the submit button, check that their email is a valid email, if it isn’t make the field go red and add the words ‘email is invalid’ at the bottom of the form”.
If you want to learn more about jQuery you might want to try some of the following resources:
Experiment with jQuery using CodePen or jsFiddle.