Sabtu, 24 April 2010

fiveth

Pengantar Teknologi Web 4
JavaScript

Client-side programming

recall: HTML is good for developing static pages

can specify text/image layout, presentation, links, …

Web page looks the same each time it is accessed

in order to develop interactive/reactive pages, must integrate programming

Scripts vs. programs

a scripting language is a simple, interpreted programming language

scripts are embedded as plain text, interpreted by application

simpler execution model: don't need compiler or development environment

saves bandwidth: source code is downloaded, not compiled executable

platform-independence: code interpreted by any script-enabled browser

but: slower than compiled code, not as powerful/full-featured

Common scripting tasks

adding dynamic features to Web pages

validation of form data

image rollovers

time-sensitive or random page elements

handling cookies

defining programs with Web interfaces

utilize buttons, text boxes, clickable images, prompts, frames

JavaScript

JavaScript code can be embedded in a Web page using SCRIPT tags

the output of JavaScript code is displayed as if directly entered in HTML

Mencetak di halaman Web

Hasil

Contoh Alert

Hasil

“Dynamic” Client Side

Hasil

JavaScript data types & variables

JavaScript has only three primitive data types

strings : "foo" 'howdy do' "I said 'hi'." ""

numbers : 12 3.14159 1.5E6

booleans : true false

JavaScript Math routines

Aritmatika

Operator kontrol

Persamaan

User-defined functions

function definitions are similar to C++/Java, except:

no return type for the function (since variables are loosely typed)

no types for parameters (since variables are loosely typed)

by-value parameter passing only (parameter gets copy of argument)

Function example

JavaScript Strings

a class defines a new type (formally, Abstract Data Type)

encapsulates data (properties) and operations on that data (methods)

a String encapsulates a sequence of characters, enclosed in quotes

properties include

length : stores the number of characters in the string

methods include

charAt(index) : returns the character stored at the given index

(as in C++/Java, indices start at 0)

substring(start, end) : returns the part of the string between the start

(inclusive) and end (exclusive) indices

toUpperCase() : returns copy of string with letters uppercase

toLowerCase() : returns copy of string with letters lowercase

to create a string, assign using new or just make a direct assignment (new is implicit)

word = new String("foo"); word = "foo";

properties/methods are called exactly as in C++/Java

word.length word.charAt(0)

String example: palindromes

Date class

String & Array are the most commonly used classes in JavaScript

other, special purpose classes & objects also exist

the Date class can be used to access the date and time

to create a Date object, use new & supply year/month/day/… as desired

today = new Date(); // sets to current date & time

newYear = new Date(2002,0,1); //sets to Jan 1, 2002 12:00AM

methods include:

newYear.getYear() can access individual components of a date

newYear.getMonth()

newYear.getDay()

newYear.getHours()

newYear.getMinutes()

newYear.getSeconds()

newYear.getMilliseconds()

fourth


Pengantar Teknologi Web 3
Teknologi Web Client
• Web browser
• HTML / XML / XHTML
• Javascript / VBScript
• CSS
• Flash player
• Java Applet
• ActiveX / Plugin: program yg terintegrasi dgn browser
• Helper: program yg terinstall di client
Pengembangan sisi client
• Local environment (prosesor, browser, memory, vga, dll)
• Tidak ada kontrol oleh web developer
• Memberikan saran kepada user
– Cth: resolusi 1024 x 768
• Memberi pilihan kepada user
– Cth: javascript harus aktif
• Client / user profiling
Pengembangan sisi client
Pilihan client
Pertimbangan Client
• Kebutuhan dan keinginan user berbeda satu dengan yang lain.
• Pengaruh gender, umur, pendidikan, hobi, pengalaman, latarbelakang, budaya, dll.
• User memiliki tujuan, tugas web developer adalah membantu user mencapai tujuannya (download program, akses jadwal, mencetak daftar harga, dll)
Pertimbangan jaringan
• Bandwidth
– Modem = 56KBps; T1 = 1.5MBps
• Latency: waktu yang diperlukan sebuah paket data untuk menempuh jarak yang menghubungkan dua buah sistem
• Utilization, lalu lintas data pada suatu jaringan.
Web Browser
• MS Internet Explorer (Windows)
• Netscape Navigator/Communicator (Windows & Linux)
• Mozila Firefox (Windows & Linux)
• Opera (Windows & Linux)
• Konqueror (Linux)
• lynx, berbasis teks (Linux)
HTML
• Hypertext Markup Language
• Text based
• Menggunakan tag (tanda) <>
• Tujuannya: untuk tampilan di halaman web
• Bahasanya baku
• Ekstensi : .html , .htm
HTML tag


Judul Halaman






Tags vs. elements
• HTML specifies a set of tags that identify structure and content type
– tags are enclosed in < >

specifies an image

– most tags come in pairs, marking a beginning and ending

• and enclose the title of a page
HTML
Aligning text
• can specify how elements should be aligned (default is left-justified)
– utilize STYLE attribute of tag


• to justify more than one element as a group, use DIV tags
– ell elements enclosed in DIV are formatted similarly


Text styles
• can specify styles for fonts

specify bold
specify italics
specify typewriter-like (fixed-width) font

increase the size of the font
decrease the size of the font

specify a subscript
a superscript

for paragraphs

for inline text


• Note: if elements are nested, the order of opening/closing is important! (LIFO)
Font
Lists

• there are 3 different types of list elements

specifies an ordered list (using numbers or letters to label each list item)
  • identifies each list item

    • can set type of ordering, start index


    specifies unordered list (using a bullet for each)
  • identifies each list item


    specifies a definition list
    identifies each term
    identifies its definition
    Tabel 1 baris 2 kolom
    Tabel 2 baris 2 kolom
    URL
    Hyperlinks
    • perhaps the most important HTML element is the hyperlink, or ANCHOR



    • where URL is the Web address of the page to be displayed when the user clicks on the link

    • if the page is accessed over the Web, must start with http://

    • if not there, the browser will assume it is the name of a local file




    • causes the page to be loaded in a new window

    Hyperlinks - anchor
    • for long documents, you can even have links to other locations in that document



    • where ident is a variable for identifying this location





    • will then jump to that location within the file




    • can jump into the middle of another file just as easily

    Images
    • can include images using IMG
    – by default, browsers can display GIF and JPEG files
    – other image formats may require plug-in applications for display

    alternate text


    • again, if file is to be accessed over the Web, must start with http:// (if not, will assume local file)
    Frames
    • frames provide the ability to split the screen into independent pages
    – must define a FRAMESET that specifies the layout of the pages
    – actual pages to be displayed must be in separate files
    Frame controversy
    • frames are probably the most controversial HTML feature
    – some people love them, some people hate them


    • 2 reasonable uses for frames
    – as a navigational aid:
    • can divide the screen into a static menu frame and the main frame for navigating a site
    • e.g., www.creighton.edu/~davereed

    – as a means of separating program input from output:
    • can divide the screen into a static man input form frame and the main frame for displaying output
    • e.g., www.creighton.edu/~davereed/csc551/JavaScript/story.html

    Menu frame
    • to create a menu, need to be able to direct links to the main frame
    – name the frames in the FRAMESET
    – specify the frame name as TARGET in the link
    – specify _top as target to return to top level of browser
    Content vs. presentation
    • most HTML tags define content type, independent of presentation
    – exceptions?


    • style sheets associate presentation formats with HTML elements
    – CSS1: developed in 1996 by W3C
    – CSS2: released in 1998, but not fully supported by browsers

    – HTML style sheets are known as Cascading Style Sheets, since can be defined at three different levels
    • inline style sheets apply to the content of a single HTML element
    • document style sheets apply to the whole BODY of a document
    • external style sheets can be linked and applied to numerous documents

    lower-level style sheets can override higher-level style sheets

    Inline style sheets
    • Using the style attribute, can specify presentation style for a single HTML element

    – within tag, list sequence of property:value pairs

    font-family:Courier,monospace
    font-style:italic
    font-weight:bold
    font-size:12pt font-size:large font-size:larger

    color:red color:#000080
    background-color:white

    text-decoration:underline
    text-decoration:none
    text-align:left text-align:center
    text-align:right text-align:justify
    vertical-align:top vertical-align:middle
    vertical-align:bottom

    text-indent:5em text-indent:0.2in
    Inline style sheets (cont.)
    • more style properties & values

    margin-left:0.1in margin-right:5%
    margin:3em
    padding-top:0.1in padding-bottom:5%
    padding:3em

    border-width:thin border-width:thick
    border-width:5
    border-color:red
    border-style:dashed border-style:dotted
    border-style:double border-style:none

    whitespace:pre

    list-style-type:square
    list-style-type:decimal
    list-style-type:lower-alpha
    list-style-type:upper-roman
    Document style sheets
    • inline style sheets apply to individual elements in the page
    – can lead to inconsistencies as similar elements are formatted differently
    • e.g., might like for all H1 elements to be centered

    – inline definitions mix content & presentation
    •  violates the general philosophy of HTML
    Document style sheets
    • document style sheets ensure that similar elements are formatted similarly
    – can even define subclasses of elements and specify formatting

    p.indented defines subclass of paragraphs
    • inherits all defaults of


    • adds new features

    to specify this newly defined class, place class="ID" attribute in tag


    • note how "clean" the BODY is

    External style sheets
    • modularity is key to the development and reuse of software
    – design/implement/test useful routines and classes
    – package and make available for reuse

    – saves in development cost & time
    – central libraries make it possible to make a single change and propogate
    Modularity & style sheets
    • ideally, the developer(s) of a Web site would place all formatting options in an external style sheet

    • all Web pages link to that same style sheet for a uniform look

    – simplifies Web pages since only need to specify structure/content tags

    Web rules of thumb
    • HTML provides for lots of neat features,
    but just because you can add a feature doesn't mean you should!
    – don't add features that distract from the content of the page

     use color & fonts sparingly and be careful how elements fit together
    e.g, no purple text on a pink background, no weird fonts

     use images only where appropriate
    e.g., bright background images can make text hard to read
    e.g., the use of clickable images instead of buttons or links can slow access

     don't rely on window or font size for layout
    e.g., font size may be adjusted by viewer, window constrained

     don’t be annoying
    e.g., no pop-up windows, excessive advertising, silly music

     break large document into smaller or provide a menu (either internal or frame)

     stick to standard features and test using both IE and Netscape

     utilize style sheets to make changes easy & ensure consistency

  • trird

    >

    Pengantar Teknologi Web 2

    Web Architectures & Technologies

    WWW

    Software

    Kumpulan service Internet, yaitu web-web yang berada di layer aplikasi

    Ditemukan oleh Tim Berners-Lee dkk di CERN

    Didesain untuk membantu para ilmuwan di CERN untuk memperoleh informasi dari dokumen-dokumen di Internet

    Tujuannya: membuat software (browser) untuk menampilkan informasi tersebut

    Idenya: hyperlink

    WWW

    The world wide web consortium (W3C) definition of the web: "The World Wide Web is the universe of network-accessible information, an embodiment of human knowledge"

    Provides information access in ways not previously possible

    Hyperlinked (Hypertext)

    Graphical user interface

    Pictorial and non-text information

    Information that changes rapidly

    Immediate access

    Anyone can author a web site

    Multi-user access to the same information (try that with a book)

    Easily searchable information

    WWW Components

    Structural Components

    Clients/browsers – to dominant implementations

    Servers – run on sophisticated hardware

    Caches – many interesting implementations

    Internet – the global infrastructure which facilitates data transfer

    Semantic Components

    Hyper Text Transfer Protocol (HTTP)

    Hyper Text Markup Language (HTML)

    eXtensible Markup Language (XML)

    Uniform Resource Identifiers (URIs)

    Web Server survey (netcraft)

    Growth of World Wide Web

    A brief history of the web

    Web Architecture

    Layering Aspect

    “Separation of concerns”

    How many concurrent users are you serving?

    Shared needs among multiple applications? (e.g., security)

    Data Aspect

    What kind(s) of data are you delivering?

    Structured vs non structured

    On-demand vs. real-time

    What are the bandwidth requirements?

    Size & nature of data

    Again, audience concerns

    Tiers…?

    A “tier” can be hardware, software, or logical. The last is the most sensible option from an architectural viewpoint.

    Therefore:

    A non-application-specific client (such as a web browser) is not a tier

    A database with no overlying data access layer is not really considered a tier either

    N-tier web architectures

    How to build a 2-tier web app…

    Physical architecture

    Conceptual architecture

    the three roles

    the Model contains data that represents the problem

    the Controller responds to user actions by telling the Model how to change

    the View displays the current state of the Model to the user

    how do we design it?

    the Model is a class that represents the actual problem being solved

    it has private fields, and provides accessor (getter and setter) methods

    the Model should always be a separate class

    if using a GUI

    the listeners collectively are the Controller

    the displayed components are the View

    the Controller and View are thus a little bit interdependent

    Combining Controller and View

    Sometimes the Controller and View are combined, especially in small programs

    Combining the Controller and View is appropriate if they are very interdependent

    The Model should always be independent

    Never mix Model code with GUI code!

    why?

    ANSWER: you may be required to change the View

    if you keep View and Model separate, changing the View will be relatively simple

    MVC

    Contoh

    MVC Separation

    Separating the presentation from the model

    Presentasi dan model memiliki fokus yang berbeda:

    presentasi ke tampilan, model ke data.

    Perbedaan ketergantungan:

    presentasi bergantung pada model tapi tidak sebaliknya.

    Sehingga dapat mengembangkan multiple presentation dengan model yang sama

    Separating the controller from the view

    Contoh: .NET Web application

    File: *.aspx dan *.aspx.vb

    Contoh: PHP Zend Framework, Code Igniter

    Kelebihan & Kekurangan Aplikasi Web

    Teknologi Aplikasi Web

    Bagaimana web bekerja?

    Web application

    Planning A Web site

    Purpose

    Purpose and Goal

    Target Audience

    New Web Technologies

    Web site comparison

    Content

    Value-added contents

    Text

    Images

    Color Palette

    second

    Ringkasan ini tidak tersedia. Harap klik di sini untuk melihat postingan.