Overview of Web Technology Intro


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Fast pace Overview, not nitty gritty details, which will be covered in upcoming classes Not an engineering class If there is something you don't understand, please refer to the MS Word supplement, available on line, and then do your own research Huge range of options now available at low cost Let's first look at choices as to type of web account
  • By increasing price, capability and complexity Blog account may be free, but doesn't do much, and isn't expandable Pre-packaged design may be easy to set up, but will quickly hem you in Pre-configured business account is often a good choice for small businesses which will never require specialized functions Shared hosting is the "sweet spot," in which you can get a truly amazing range of capabilities, all for only about $9.95 per month VPS hosting differs from shared hosting in that your account functions as though it were its own individual server Dedicated hosting means you rent a server in the facility on which you are the only account (minimum $150 per month, can be much more) Colocation means you own a server that is located in the ISP's facility, and either they manage it, you manage it remotely, or a combination In this class, we will concentrate on the "sweet spot" of a shared hosting account. Let's now take a look at a range of methods for constructing web sites.
  • Hand coding with just a text editor can be done for HTML, CSS, JavaScript and even scripting languages, all to be covered later. Any text editor will do, including Notepad on Windows, or TextEdit on the Mac. Lots of code editors available. Please do your own research. Server Side Includes can give you quick, basic experience with some interactivity. Server Side Includes are files with an extension of .shtml, which tells the server to read the file, scanning for commands such as "include an external file here," or "show when this page was last modified." Dedicated web development applications make many things easier, but may limit specialized development. If you really want the full power of web technology, you have to use a scripting language.
  • Sub-domains are useful, but be careful not to get carried away. Can share central style sheet, use their own style sheet, use a modified form of a central style sheet, or combinations. In advanced applications, can be used for email routing Careful with the cookies!
  • Don't get hung up on this, because it's ok to not specify which is used by your web site.
  • The command to view HTML source code is specific to your browser. Please look it up for your browser of choice.
  • This a truly important technology that is easily accessible, because you can practice with CSS within your browser, without even being on the Internet, or having a web account.
  • Explanation of vector-based graphics versus pixel-based graphics NEXT: You must understand the disadvantages of using Flash!
  • Bad choice as to graphics format can make your site look horrible, and be terribly slow--the worst of both worlds. Quick explanation of RLE - run-length encoding - and its use in GIF NEXT: Lossless versus lossy
  • Why would you ever be willing to lose information? To reduce file size, and speed up loading of your pages, and because if you do things right, only an expert can tell the difference. NEXT: Number of colors
  • "Unlimited" actually means 16.7 million colors. NEXT: Transparency
  • NEXT: Animation
  • NEXT: Break time of 10 minutes
  • In the early days, JavaScript was used primarily for simple functions such as rollovers. JavaScript files loaded as external files within a page are cached by the browser, which means if you use the same JavaScript functions across multiple pages, you can speed up load time of successive pages.
  • Dynamic Hypertext Markup Language Use more and more prevalent, becoming an essential aspect of web site technique
  • This is where the real fun begins, where the possibilities truly open up, and where the real work is involved. Can be set up to run on your own computer, but most people just use the server, to reflect real world conditions. NEXT: Scripting languages, one by one.
  • Nevermind if you don't know what "mod_python" or "Apache server" mean. It's easy enough to look that stuff up. NEXT: Choice of scripting language
  • NEXT: Web databases
  • NEXT: Now let's look at some of the advantages.
  • Brief explanation of cPanel. NEXT: AJAX
  • The good news: growing libraries of free apps
  • That pre-packaged design sure won't be "easier" when you have to start from scratch when you quickly outgrow it. Does anybody here actually like seeing that "loading" graphic and watching those "splash" pages?
  • It's all too easy to be talked into using a technology just because someone you're working with wants to use the technology. You have to decide whether it actually makes sense long term to use that technology.
  • Overview of Web Technology Intro

    1. 1. Overview of Web Technology
    2. 2. Intro & Purpose <ul><li>Not an engineering class </li></ul><ul><li>Provide guidance that can save you time, money and needless effort </li></ul><ul><li>Show how all the pieces fit together </li></ul><ul><li>Describe opportunities you may not have been aware of </li></ul><ul><li>Provide clarity on the implications of various options </li></ul>
    3. 3. Types of Web Accounts <ul><li>Blog account </li></ul><ul><li>Pre-packaged design </li></ul><ul><li>Pre-configured business account </li></ul><ul><li>Shared hosting </li></ul><ul><li>VPS hosting (Virtual Private Server) </li></ul><ul><li>Dedicated hosting </li></ul><ul><li>Colocation </li></ul>
    4. 4. Methods for Constructing Web Sites <ul><li>Hand coding with a text editor </li></ul><ul><li>Hand coding with a code editor </li></ul><ul><li>Hand coding with Server Side Includes </li></ul><ul><li>Dedicated web development application </li></ul><ul><li>Scripting language (using either text editor, code editor or web dev app) </li></ul>
    5. 5. Domains and sub-domains <ul><li>Your domain points to your ISP's internal DNS (Domain Name Server) </li></ul><ul><li>Sub-domains are directories within a domain, i.e. directories on the server </li></ul><ul><li>Function like standalone web sites </li></ul><ul><li>Can share central style sheet, graphics </li></ul><ul><li>Can help with email routing </li></ul><ul><li>Implications for use of cookies </li></ul>
    6. 6. HTML & XHTML <ul><li>HTML at version 4.01, but HTML 5 on the horizon </li></ul><ul><li>XHTML (Extensible Hypertext Markup Language) based on XML (Extensible Markup Language) </li></ul><ul><li>Main difference is in conformity to XML </li></ul><ul><li>W3C Validation Service: http://validator.w3c.org </li></ul>
    7. 7. HTML & XHTML <ul><li>Use &quot;view source&quot; to check sites. </li></ul><ul><li>Craigslist: HTML 4.01 </li></ul><ul><li>Facebook: XHTML 1.0 - strict </li></ul><ul><li>Google: deliberately undeclared </li></ul><ul><li>Amazon: deliberately undeclared </li></ul>
    8. 8. CSS - Cascading Style Sheets <ul><li>Truly useful, important and accessible, because you can practice simply within the browser, with no web account </li></ul><ul><li>The difference between ugly or elegant, barely readable or a true visual pleasure </li></ul><ul><li>Carefully applied, can add beauty, usability and functionality with no increase in file size or load time </li></ul>
    9. 9. CSS - Cascading Style Sheets <ul><li>Means for controlling the appearance of elements of a web site </li></ul><ul><li>&quot;Cascading&quot; because rules may be modified along a &quot;stream&quot; of instances </li></ul><ul><li>Separate file, within the <head> tag, or within elements as &quot;inline&quot; styles </li></ul><ul><li>Now completely inseparable from HTML </li></ul><ul><li>Combined with JavaScript for DHTML </li></ul>
    10. 10. Essentials of Search Engine Optimization <ul><li>Must contain text, not just text embedded in graphics </li></ul><ul><li>Text must be relevant to how you want your site to be found </li></ul><ul><li>HTML title is crucial </li></ul><ul><li>Description and keyword meta-tag on each page you want indexed </li></ul>
    11. 11. Adobe Flash <ul><li>Wonderful tool, often misused and overused </li></ul><ul><li>Powerful interactivity </li></ul><ul><li>Vector-based: possibility of small file sizes, even with complex graphics and interactivity </li></ul>
    12. 12. Adobe Flash <ul><li>Text within Flash indexed by some search engines, notably Google </li></ul><ul><li>Text embedded within graphics in Flash not indexed by search engines </li></ul><ul><li>Pages internal to Flash cannot be bookmarked </li></ul><ul><li>Steep learning curve </li></ul><ul><li>May tie you to a designer, and make it difficult to modify your site yourself </li></ul>
    13. 13. HTML versus Flash <ul><li>Flash can do things HTML cannot, and vice versa. </li></ul><ul><li>HTML may seem plain, but HTML is easier to work with. </li></ul><ul><li>To use Flash, you must have the program, or hire a designer. </li></ul><ul><li>To use HTML, you just need a text editor, and some knowledge. </li></ul>
    14. 14. Graphics Formats <ul><li>Basics - Summary </li></ul><ul><li>JPEG: Good for photos, not so good for crisp graphics or text </li></ul><ul><li>GIF: Good for crisp graphics or text, not so good for photos </li></ul><ul><li>PNG: Good for photos or crisp graphics and text, with discretion </li></ul>
    15. 15. Graphics Formats <ul><li>Lossless versus Lossy </li></ul><ul><li>JPEG: Variably lossy </li></ul><ul><li>GIF: Lossless </li></ul><ul><li>PNG: Lossless </li></ul>
    16. 16. Graphics Formats <ul><li>Number of colors </li></ul><ul><li>JPEG: unlimited </li></ul><ul><li>GIF: 256 maximum </li></ul><ul><li>PNG: unlimited </li></ul>
    17. 17. Graphics Formats <ul><li>Transparency </li></ul><ul><li>JPEG: no </li></ul><ul><li>GIF: yes, but only one level, for only one color </li></ul><ul><li>PNG: yes, 254 levels </li></ul>
    18. 18. Graphics Formats <ul><li>Animation </li></ul><ul><li>JPEG: no </li></ul><ul><li>GIF: yes </li></ul><ul><li>PNG: no </li></ul>
    19. 19. JavaScript <ul><li>Now a crucial part of web sites </li></ul><ul><li>Used on its own, or in combination with CSS for DHTML, XML for AJAX </li></ul><ul><li>Contained in the page itself, or loaded from a separate file </li></ul><ul><li>Functions within the browser, so you don't need a web account to practice </li></ul>
    20. 20. JavaScript <ul><li>Many free scripts available, which you can immediately use as is or modify </li></ul><ul><li>Debugging available in Firefox Error Console </li></ul><ul><li>Cross-browser and cross-platform testing still essential </li></ul>
    21. 21. DHTML <ul><li>Despite the acronym, not actually a language </li></ul><ul><li>Large set of techniques combining HTML, JavaScript and CSS </li></ul><ul><li>Trend toward consistency of function within browsers, but still requires careful cross-browser testing </li></ul><ul><li>Easy to form crushes on cute little functions, often hard to justify them </li></ul>
    22. 22. Scripting Languages <ul><li>Major leap in capabilities </li></ul><ul><li>Easy to get started, but lots to learn </li></ul><ul><li>Unlike HTML, CSS and JavaScript, typically function on the server, so you need a web account </li></ul>
    23. 23. Scripting Languages <ul><li>PHP: Most widespread use </li></ul><ul><li>ASP - Active Server Pages: Microsoft product, some additional capabilities specific to Microsoft </li></ul><ul><li>Perl: Long history, exceptional with processing text, partly superseded by newer languages </li></ul>
    24. 24. Scripting Languages <ul><li>JSP - Java Server Pages: Based on underlying Java technology, pages compiled into &quot;servlets&quot; by JSP compiler </li></ul><ul><li>Python: High level language, can be used as scripting language via mod_python on Apache server </li></ul>
    25. 25. Scripting Languages <ul><li>All major scripting languages have vast capabilities. </li></ul><ul><li>Conversion to a different language later may be prohibitively demanding. </li></ul><ul><li>Some combinations of scripting language and database are easier to work with than others. </li></ul><ul><li>The combination of PHP and MySQL is in increasingly common use. </li></ul>
    26. 26. Web Databases <ul><li>Major leap in capabilities, major advantages </li></ul><ul><li>Included with nearly all shared hosting accounts </li></ul><ul><li>Relatively easy to learn the basics </li></ul><ul><li>Must know a scripting language </li></ul><ul><li>Virtually any scripting language can be used with virtually any database </li></ul>
    27. 27. Web Databases <ul><li>Data integrity </li></ul><ul><li>Sorting, filtering and selectively displaying large amounts of structured information </li></ul><ul><li>Modifying web content from any web browser, from anywhere in the world </li></ul><ul><li>Storing user input in structured form </li></ul><ul><li>Exporting information in structured form </li></ul>
    28. 28. Web Databases <ul><li>Adding an unlimited number of new &quot;pages&quot; easily, through use of query strings: </li></ul><ul><li>http://mydomain.com/intro.php?p=faq </li></ul>
    29. 29. Web Databases <ul><li>MySQL most common </li></ul><ul><li>PHP/MySQL combination most common </li></ul><ul><li>Web-based administration using PHPMyAdmin included with most shared hosting accounts </li></ul><ul><li>PHPMyAdmin readily available through cPanel, also included with most shared hosting accounts </li></ul>
    30. 30. AJAX <ul><li>Asynchronous JavaScript and XML </li></ul><ul><li>Like DHTML, a set of techniques combining technologies </li></ul><ul><li>Best known example: Google maps </li></ul><ul><li>Increasingly common functions, such as text entry &quot;guess-ahead&quot; </li></ul><ul><li>Can increase usability and decrease load time </li></ul>
    31. 31. AJAX <ul><li>You must know JavaScript and XML at a minimum, and most applications require a database </li></ul><ul><li>Development can be demanding </li></ul><ul><li>Growing libraries of free AJAX apps available </li></ul>
    32. 32. Most Common Fundamental Mistakes <ul><li>Using a pre-packaged design because it's &quot;easier&quot; </li></ul><ul><li>Using Flash exclusively, especially on the home page </li></ul><ul><li>Using too many graphics, and in the wrong format for the nature of the image </li></ul>
    33. 33. Most Common Fundamental Mistakes <ul><li>Choosing technologies that, for your purposes, are too difficult to manage </li></ul><ul><li>Using an approach that makes it difficult to expand, and locks you in to that approach </li></ul><ul><li>Choosing technologies or approaches that bind you to a particular vendor </li></ul>
    34. 34. Overview of Web Technology