Unit 1 WT Web Development Process Front End Tools
Unit 1 WT Web Development Process Front End Tools
By Prof. [Link]
Note: The material to prepare this presentation has been taken from internet and are
generated only for students reference and not for commercial use.
Outline
Introduction to web technology, internet and www, Web site planning and
design issues,
Introduction to JSON.
Web Technology
• The methods by which computers communicate with each
other through the use of markup languages and multimedia
packages is known as web technology.
Web Technologies
HTML SQL
XHTML ASP
CSS ADO
XML PHP
JavaScript .NET
VBSCRIPT SMIL
DOM SVG
DHTML FLASH
AJAX Java applets
E4X Java servlets
WMLScript Java Server Page
Internet and WWW
• Inter-network and World Wide Web
• Interlinked hypertext documents accessed using HTTP
Protocol
• Client - Server architecture
What is Internet?
• [Link]
steps-how-to-plan-a-successful-website-redesign
Website Design Issues
• Simplicity –less animations, texts, visuals
• Identity –web apps through design
• Consistency –e.g. uniform style, color, etc.
• Robustness–required function should not miss
• Navigability –navigation should be simple
• Visual appeal–look & feel of content
• Compatibility –compatible to all browsers, internet connection
types, OS, etc.
Outline
Introduction to web technology, internet and www, Web site planning and
design issues,
Introduction to JSON.
HTML Basics
How the Web Works?
• WWW use classical client / server architecture
• HTTP is text-based request-response protocol
25
HTTP
Page request
HTTP
Server response
33
</head>
<body>
<p>This is some text...</p>
</body>
</html>
First HTML Page: Tags
<!DOCTYPE HTML>
<html> Opening tag
<head>
34
<title>My First HTML Page</title>
</head>
<body> Closing tag
<p>This is some text...</p>
</body>
</html>
An HTML element consists of an opening tag, a closing tag and the content inside.
First HTML Page: Header
<!DOCTYPE HTML>
HTML header
<html>
<head>
35
<title>My First HTML Page</title>
</head>
<body>
<p>This is some text...</p>
</body>
</html>
First HTML Page: Body
<!DOCTYPE HTML>
<html>
<head>
36
<title>My First HTML Page</title>
</head>
<body>
<p>This is some text...</p>
</body>
</html>
HTML body
HTML Headings-
HTML headings are defined with the <h1> to <h6> tags. <h1> defines the
most important heading. <h6> defines the least important heading:
38
<h3>Sub heading 3</h3>
• Paragraph Tags
<p>This is my first paragraph</p>
<p>This is my second paragraph</p>
<b></b> bold
<i></i> italicized
<u></u> underlined
<sup></sup> Samplesuperscript
<sub></sub> Samplesubscript
<strong></strong> strong
<em></em> emphasized
<pre></pre> Preformatted text
<blockquote></blockquote> Quoted text block
<del></del> Deleted text – strike through
39
Text Formatting Example
HTML Code Output
Hyperlinks: <a> Tag
• Link to a document called [Link] on the same server in the
same directory:
<a href="[Link]">Fill Our Form</a>
• Link to a document called [Link] on the same server in the
41
parent directory:
<a href="../[Link]">Parent</a>
• Link to a document called [Link] on the same server in the
subdirectory stuff:
<a href="stuff/[Link]">Catalog</a>
42
<a href="#section2.1">Project History</a><br />
...the rest of the table of contents...
<!-- The document text follows here -->
<h2 id="section1">Introduction</h2>
... Section 1 follows here ...
<h2 id="section2">Some background</h2>
... Section 2 follows here ...
<h3 id="section2.1">Project History</h3>
... Section 2.1 follows here ...
Images: <img> tag
Inserting an image with <img> tag:
<img src="/img/[Link]">
Image attributes:
src Location of image file (relative or absolute)
alt Substitute text for display (e.g. in text mode)
height Number of pixels of the height
width Number of pixels of the width
border Size of border, 0 for no border
Example:
<img src="./[Link]" alt="PHP Logo" />
43
Ordered Lists: <ol> Tag
• Create an Ordered List using <ol></ol>:
<ol type="1" >
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
44
</ol>
45
• Attribute values for type are:
• disc, circle or square
46
<dl>
<dt>HTML</dt>
<dd>A markup language …</dd>
<dt>CSS</dt>
<dd>Language used to …</dd>
</dl>
• Renders without bullets
• Definition is indented
Lists – Example
<ol type="1">
[Link]
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
</ol>
47
<ul type="disc">
<li>Apple</li>
<li>Orange</li>
<li>Grapefruit</li>
</ul>
<dl>
<dt>HTML</dt>
<dd>A markup lang…</dd>
</dl>
HTML Tables
HTML Table Tags
Tag Description
<table> Defines a table
<th> Defines a header cell in a table
<tr> Defines a row in a table
<td> Defines a cell in a table
<caption> Defines a table caption
Specifies a group of one or more columns in a table for
<colgroup>
formatting
Specifies column properties for each column within a
<col>
<colgroup> element
<thead> Groups the header content in a table
<tbody> Groups the body content in a table
<tfoot> Groups the footer content in a table
HTML Tables (2)
• Start and end of a table
<table> ... </table>
• Start and end of a row
50
<tr> ... </tr>
• Start and end of a cell in a row
<td> ... </td>
Simple HTML Tables – Example
<html>
<body>
51
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
</table>
</body>
</html>
Simple HTML Tables – Example
<html>
<body>
52
<th colspan=2>Firstname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
</table>
</body>
</html>
Column and Row Span
• Table cells have two important attributes:
colspan rowspan
colspan="1" colspan="1" rowspan="2" rowspan="1"
53
cell[1,1] cell[1,2] cell[1,2]
cell[1,1]
cell[2,1] cell[2,1]
colspan="2" rowspan="1"
Defines how Defines how
many columns many rows the
the cell occupies cell occupies
HTML Tables – colspan Example
<html>
<body>
54
<th colspan=2>Firstname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
</table>
</body>
</html>
HTML Tables – rowspan Example
<h2 align=center> Cell that spans two rows: </h2>
<table style="width:50%“ border=“1” align=center>
<tr>
<th>Name:</th>
<td>Bill Gates</td>
55
</tr>
<tr>
<th rowspan="2">Telephone:</th>
<td>55577854</td>
</tr>
<tr>
<td>55577855</td>
</tr>
</table>
</body>
</html>
HTML Tables – rowspan
Example with <style>
Complete HTML Tables
• Table rows split into three semantic sections: header, body
and footer
• <thead> denotes table header and contains <th> elements,
instead of <td> elements
57
• <tbody> denotes collection of table rows that contain the very
data
• <tfoot> denotes table footer but comes BEFORE the <tbody>
tag
• <colgroup> and <col> define columns (most often used to set
column widths)
HTML Forms
Entering User Data from a Web Page
HTML Form
• The <form> Element
• The HTML <form> element defines a form that is used to
collect user input:
• Syntax
<form>
form elements
</form>
• Example
Input Type Password
• <input type="password"> • This is how the HTML
• defines a password field: code above will be
displayed in a browser:
• Example
Input Type Submit
• defines a button for submitting form data to a form-handler.
• The form-handler is specified in the form's action attribute:
• Example
<form action="/action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey"> <br>
Last name:<br>
<input type="text" name="lastname" value="Mouse"><br><br>
<input type="submit" value="Submit">
</form>
Input Type Reset
• <input type="reset"> defines a reset button that will reset all
form values to their default values:
• click the "Reset" button, the form-data will be reset.
• Example
Input Type Button
72
<option value="BS">Bachelor of Science</option>
<option value="MBA" selected="selected">Master of
Business Administration</option>
</select>
<br />
<label for="studentid">Student ID</label>
<input type="password" name="studentid" />
</fieldset>
<fieldset><legend>Personal Details</legend>
<label for="fname">First Name</label>
<input type="text" name="fname" id="fname" />
<br />
<label for="lname">Last Name</label>
<input type="text" name="lname" id="lname" />
HTML Forms – Example (2)
[Link] (continued)
<br />
Gender:
<input name="gender" type="radio" id="gm" value="m" />
<label for="gm">Male</label>
<input name="gender" type="radio" id="gf" value="f" />
73
<label for="gf">Female</label>
<br />
<label for="email">Email</label>
<input type="text" name="email" id="email" />
</fieldset>
<p>
<textarea name="terms" cols="30" rows="4"
readonly="readonly">TERMS AND CONDITIONS...</textarea>
</p>
<p>
<input type="submit" name="submit" value="Send Form" />
<input type="reset" value="Clear Form" />
</p>
</form>
HTML Forms – Example (3)
[Link] (continued)
74
HTML Frames
<frameset>, <frame> and <iframe>
HTML Frames
• Frames provide a way to show multiple HTML documents in a
single Web page
• The page can be split into separate views (frames) horizontally
and vertically
76
• Frames were popular in the early ages of HTML development,
but now their usage is rejected
• Frames are not supported by all user agents (browsers, search
engines, etc.)
• A <noframes> element is used to provide content for non-
compatible agents.
HTML <frame> Tag.
• Example
• A simple three-framed page:
• <frameset cols="25%,50%,25%">
<frame src="frame_a.htm">
<frame src="frame_b.htm">
<frame src="frame_c.htm">
</frameset>
Introduction to JSON.
Html Html5
Doctype declaration in Html is too longer
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML DOCTYPE declaration in Html5 is very
4.01//EN" "[Link] /TR /html4 simple "<!DOCTYPE html>
/[Link]">
character encoding in Html is also longer
character encoding (charset) declaration is
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
also very simple <meta charset="UTF-8">
4.0 Transitional//EN">
Audio and Videos are integral part of
Audio and Video are not part of HTML4
HTML5 e.g. <audio> and <video> tags.
Vector Graphics is possible with the help of Vector graphics is integral part of HTML5
technologies such as VML, Silverlight, Flash etc e.g. SVG and canvas
It is almost impossible to get true GeoLocation of JS GeoLocation API in HTML5 helps identify
user browsing any website especially if it comes location of user browsing any website
to mobile devices. (provided user allows it)
Html5 use cookies. It provides local storage in place of cookies.
Not possible to draw shapes like circle, rectangle, Using Html5 you can draw shapes like
triangle. circle, rectangle, triangle.
Allows JavaScript to run in background. This
Does not allow JavaScript to run in browser. JS
is possible due to JS Web worker API in
runs in same thread as browser interface.
HTML5
Outline
Introduction to web technology, internet and www, Web site planning and
design issues,
Introduction to JSON.
Cascading Style Sheets (CSS)
Introduction of CSS
• Cascading Style Sheets, fondly referred to as CSS, is a simple
design language intended to simplify the process of making
web pages presentable.
• CSS handles the look and feel part of a web page.
• Using CSS, you can control the color of the text, the style of
fonts, the spacing between paragraphs, how columns are sized
and laid out, what background images or colors are used,
layout designs,variations in display for different devices and
screen sizes as well as a variety of other effects.
Advantages of CSS
• CSS saves time
• Pages load faster
• Easy maintenance
• Superior styles to HTML
• Multiple Device Compatibility
• Global web standards
• Offline Browsing
• Platform Independence
CSS3 Modules
• Selectors
• Box Model
• Backgrounds and Borders
• Image Values and Replaced Content
• Text Effects
• 2D/3D Transformations
• Animations
• Multiple Column Layout
• User Interface
CSS - Syntax
• A CSS comprises of style rules that are interpreted by the
browser and then applied to the corresponding elements in
your document.
• Style rule is made of three parts −
• Selector − A selector is an HTML tag at which a style will be
applied. This could be any tag like <h1> or <table> etc.
• Property - A property is a type of attribute of HTML tag. Put
simply, all the HTML attributes are converted into CSS
properties. They could be color, border etc.
• Value - Values are assigned to properties. For example, color
property can have value either red or #F1F1F1 etc.
CSS - Syntax
• Syntax:
• selector { property: value }
• Example:
• table{ border :1px solid #C00; }
CSS selectors (1)
• CSS selectors are used to "find" (or select) HTML elements
based on their element name, id, class, attribute, and more.
• The element Selector
• The element selector selects elements based on the element
name.
• You can select all <p> elements on a page like this (in this case, all
<p> elements will be center-aligned, with a red text color):
• Example
• p{
text-align: center;
color: red;
}
Example with output
HTML Code with CSS
Output
CSS selectors (2)
• The id Selector
• The id selector uses the id attribute of an HTML element to
select a specific element.
• The id of an element should be unique within a page, so the id
selector is used to select one unique element!
• To select an element with a specific id, write a hash (#)
character, followed by the id of the element.
• The style rule below will be applied to the HTML element with
id="para1":
• Example
• #para1 {
text-align: center;
color: red;
}
Example with output
Output
CSS selectors (3)
• The class Selector
• The class selector selects elements with a specific class
attribute.
• To select elements with a specific class, write a period (.)
character, followed by the name of the class.
• In the example below, all HTML elements with class="center"
will be red and center-aligned:
• Example
• .center {
text-align: center;
color: red;
}
Example with output
HTML Code with CSS
Output
CSS selectors (4)
• The class Selector continued….
• You can also specify that only specific HTML elements should
be affected by a class.
• In the example below, only <p> elements with class="center"
will be center-aligned:
• Example
• [Link] {
text-align: center;
color: red;
}
CSS selectors (5)
• Grouping Selectors
• If you have elements with the same style definitions, like this:
• h1 {
text-align: center;
color: red;}
h2 {
text-align: center;
color: red; }
p{
text-align: center;
color: red;}
• It will be better to group the selectors, to minimize the code.
• h1, h2, p {
text-align: center;
color: red;
}
Example with output
HTML Code with CSS
Output
Insert CSS in HTML
• Three Ways to Insert CSS
1. External style sheet
2. Internal style sheet
3. Inline style
External Style Sheet
• With an external style sheet, you can change the look of an
entire website by changing just one file!
• Each page must include a reference to the external style sheet
file inside the <link> element. The <link> element goes inside
the <head> section:
• Example
• <head>
<link rel="stylesheet" type="text/css" href="[Link]">
</head>
External Style Sheet - Example
HTML Code
101
smaller, larger or numeric value
• font-family – comma separated font names
• Example: verdana, sans-serif, etc.
• The browser loads the first one that is available
• There should always be at least one generic font
• font-weight can be normal, bold, bolder,
lighter or a number in range [100 … 900]
CSS Rules for Fonts (2)
• font-style – styles the font
• Values: normal, italic, oblique
• text-decoration – decorates the text
102
• Values: none, underline, line-trough,
overline, blink
• text-align – defines the alignment of text or
other content
• Values: left, right, center, justify
Shorthand Font Property
• font
• Shorthand rule for setting multiple font properties at
the same time
103
font:italic normal bold 12px/16px verdana
104
• background-color
• Using color and image and the same time
• background-repeat
• repeat-x, repeat-y, repeat, no-repeat
• background-attachment
• fixed / scroll
Backgrounds (2)
• background-position: specifies vertical and horizontal
position of the background image
• Vertical position: top, center, bottom
105
• Horizontal position: left, center, right
• Both can be specified in percentage or other numerical values
• Examples:
106
• border-style: none, hidden, dotted, dashed, solid,
double, groove, ridge, inset, outset
• Each property can be defined separately for left, top, bottom
and right
• border-top-style, border-left-color, …
Border Shorthand Property
• border: shorthand rule for setting border properties at once:
border: 1px solid red
107
is equal to writing:
border-width:1px;
border-color:red;
border-style:solid;
108
e.g. 100px
• By default the height of an element is defined by its content
• Inline elements do not apply height, unless you change their
display style.
Outline
Introduction to web technology, internet and www, Web site planning and
design issues,
XML: Introduction to XML, XML key component, Transforming XML into XSLT,
Introduction to JSON.
XML
• Introduction to XML
• XML is a software- and hardware-independent tool for storing
and transporting data.
• What is XML?
• XML stands for eXtensible Markup Language
• XML is a markup language much like HTML
• XML was designed to store and transport data
• XML was designed to be self-descriptive
• XML is a W3C Recommendation
XML Does Not DO Anything
• This note is a note to Tove from Jani, stored as XML::
• <note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
• The XML above is quite self-descriptive:
• It has sender information.
• It has receiver information
• It has a heading
• It has a message body.
• But still, the XML above does not DO anything. XML is just
information wrapped in tags.
The Difference Between XML
and HTML
• XML and HTML were designed with different goals:
• XML was designed to carry data - with focus on what data is
• HTML was designed to display data - with focus on how data
looks
• XML Does Not Use Predefined Tags like HTML tags
XML Used For (1)
• It simplifies data sharing
• It simplifies data transport
• It simplifies platform changes
• It simplifies data availability
XML Used For (2)
• Many computer systems contain data in incompatible formats.
Exchanging data between incompatible systems (or upgraded
systems) is a time-consuming task for web developers. Large
amounts of data must be converted, and incompatible data is
often lost.
• XML stores data in plain text format. This provides a software-
and hardware-independent way of storing, transporting, and
sharing data.
• XML also makes it easier to expand or upgrade to new
operating systems, new applications, or new browsers,
without losing data.
XML Example 1
• <?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Amit</to>
<from>Neha</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
• Save the file with .xml extension and when run o/p is like below
XML Example 2- [Link]
• <?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
XML Example 2- [Link]
explanation
• XML uses a much self-describing syntax.
• A prolog defines the XML version and the character encoding:
• <?xml version="1.0" encoding="UTF-8"?>
• The next line is the root element of the document:
• <bookstore>
• The next line starts a <book> element:
• <book category="cooking">
• The <book> elements have 4 child elements: <title>,
<author>, <year>, <price>.
• The next line ends the book element:
• </book>
XSLT
• XSLT (eXtensible Stylesheet Language Transformations) is the
recommended style sheet language for XML.
• XSLT is far more sophisticated than CSS.
• With XSLT you can add/remove elements and attributes to or
from the output file.
• You can also rearrange and sort elements, perform tests and
make decisions about which elements to hide and display, and
a lot more.
• XSLT uses XPath to find information in an XML document.
Displaying XML with XSLT
<xsl:for-each select="class/student">
<tr>
<td><xsl:value-of select = "@rollno"/></td>
<td><xsl:value-of select = "firstname"/></td>
<td><xsl:value-of select = "lastname"/></td>
</tr>
</xsl:for-each> </table>
</body> </html>
</xsl:template>
</xsl:stylesheet>
Step 3: Link the XSLT Document to
the XML Document
• <?xml version = "1.0"?>
• <?xml-stylesheet type = "text/xsl" href = "[Link]"?>
• <class>
• ...
• </class>
Step 4: View the XML Document in
Internet Explorer
<?xml version = "1.0"?>
<?xml-stylesheet type = "text/xsl" href = "[Link]"?>
<class>
<student rollno = "393">
<firstname>Dinkar</firstname>
<lastname>Kad</lastname>
</student>
<student rollno = "493">
<firstname>Vaneet</firstname>
<lastname>Gupta</lastname>
</student>
</class>
Output
Outline
Introduction to web technology, internet and www, Web site planning and
design issues,
Introduction to JSON.
Introduction to DTD
• A DTD is a Document Type Definition.
• A DTD defines the structure and the legal elements and
attributes of an XML document.
• With a DTD, independent groups of people can agree on a
standard DTD for interchanging data.
• An application can use a DTD to verify that XML data is valid.
An Internal DTD Example
• <?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
An Internal DTD Expalnation
• The DTD in previous slide is interpreted like this:
• !DOCTYPE note defines that the root element of this
document is note
• !ELEMENT note defines that the note element must contain
four elements: "to,from,heading,body"
• !ELEMENT to defines the to element to be of type "#PCDATA"
• !ELEMENT from defines the from element to be of type
"#PCDATA"
• !ELEMENT heading defines the heading element to be of type
"#PCDATA"
• !ELEMENT body defines the body element to be of type
"#PCDATA"
An External DTD Example
• XML File • [Link]
• Example
• <name>Tutorials Point</name>
Attributes
• Attributes are part of the XML elements.
• An element can have any number of unique attributes.
• Attributes give more information about the XML element or
more precisely it defines a property of the element.
• An XML attribute is always a name-value pair.
• Example
• <img src="[Link]"/>
• Here img is the element name whereas src is an attribute
name and [Link] is a value given for the attribute src.
Entities
• Entities are placeholders in XML. These can be declared in the
document prolog or in a DTD. Entities can be primarily categorized as:
• Built-in entities
• Character entities
• General entities
• Parameter entities
• There are five built-in entities that play in well-formed XML, they are:
• ampersand: &
• Single quote: '
• Greater than: >
• Less than: <
• Double quote: "
Advantages & Disadvantages
• Advantages of using DTD
• Documentation - You can define your own format for the XML
files.
• Validation - It gives a way to check the validity of XML files by
checking whether the elements appear in the right order,
mandatory elements and attributes are in place
Introduction to JSON.
JSON-Introduction
• JSON: JavaScript Object Notation.
• JSON is a syntax for storing and exchanging data.
• JSON is text, written with JavaScript object notation.
• JSON is language independent *
• Why use JSON?
• Since the JSON format is text only, it can easily be sent to and
from a server, and used as a data format by any programming
language.
• JavaScript has a built in function to convert a string, written in
JSON format, into native JavaScript objects:
• [Link]()
• So, if you receive data from a server, in JSON format, you can
use it like any other JavaScript object.
JSON Syntax Rules
• JSON syntax is derived from JavaScript object notation syntax:
• Data is in name/value pairs
• Data is separated by commas
• Curly braces hold objects
• Square brackets hold arrays
• JSON Data - A Name and a Value
• JSON data is written as name/value pairs.
• A name/value pair consists of a field name (in double quotes),
followed by a colon, followed by a value:
• Example
• "name":"John"
JSON Values
• In JSON, values must be one of the following data types:
• a string
• a number
• an object (JSON object)
• an array
• a boolean
• null
• In JSON, string values must be written with double quotes:
• { "name":"John" }
Object Syntax
• Example
• { "name":"John", "age":30, "car":null }
• JSON objects are surrounded by curly braces {}.
• JSON objects are written in key/value pairs.
• Keys must be strings, and values must be a valid JSON data
type (string, number, object, array, boolean or null).
• Keys and values are separated by a colon.
• Each key/value pair is separated by a comma.
References
• [Link]
[Link]
• [Link]
basic_concepts.htm
• [Link]
web-technology
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]