Talk:Web development/Web development (rewrite): Difference between revisions

Content deleted Content added
Findability: added link
fix
 
(22 intermediate revisions by 5 users not shown)
Line 1:
{{ Inuseuntil|a period ending December 31,2006 }}
 
'''Note:''' ''I have allocated the current content (copied on 12/26/2006) of the WEB DEVELOPMENT article to a new page. Some of what follows is new material I am drafting, some is existing material with my comments about it. Many sections are still empty, but are included to show the overall layout. I hope to at least write stubs for each section.''
 
Line 19 ⟶ 17:
==Web development activities==
 
Web development is a special form of [[Software development process|Software development]], a broad topic that is covered in [[:Category:Software development process|many Wikipedia articles]]. The principal activities of any software development process are [[software requirements analysis|requirements analysis]], [[software architecture|architecture and design]], [[software programming|programming]], [[software testing|testing]], and [[software deployment|deployment]]. Although a Web development process incorporates corresponding activities, the itprocess is best described by a slightly different set of categories. The principal Web development activities are:
 
#'''Requirements Analysis'''
Line 34 ⟶ 32:
 
''To begin the process of creating the following sections, I have included sample descriptions of each activity or phase, which I will edit. They are taken from Diamond Bullet Design, Inc. [http://www.diamondbullet.com/process.txl]. Their process parallels the Web development process presented in the book "Usability For The Web", by [http://simplytom.com/index.html Tom Brinck], Darren Gergle, and Scott D. Wood. ([http://books.elsevier.com/us/mk/us/subindex.asp?isbn=1558606580&country=United+States&community=mk&ref=&mscssid=Q7FR0KR3T0JF8HWVGWR5MA88QKSC5MNE Publisher's page]), which contains the most complete and well structured description of a Web development process I am familiar with.'' [[User:ChrisLoosley|Chris Loosley]] 21:06, 29 December 2006 (UTC)
 
This [http://en.wikipedia.org/w/index.php?title=Software_design&oldid=96803152 older version] of the [[Software design]] article also contained material on process steps. [[User:ChrisLoosley|Chris Loosley]] 22:32, 15 January 2007 (UTC)
 
===Requirements Analysis===
Line 60:
 
'''Production''': We create the finished product;from final text and graphic content to software development and implementation. Guided by comprehensive processes of quality assurance and usability evaluation, we develop a product that delights users and meets or exceeds our established benchmarks. ''[http://www.diamondbullet.com/process.txl (C) Copyright 2002. Diamond Bullet Design, Inc.]''
 
====CSS versus HTML tables for page layout====
''I moved this section here from the current article on Web design, made some edits for readability, deleted the last half (see below for text) as POV and containing too much detail.'' [[User:ChrisLoosley|Chris Loosley]] 04:03, 2 January 2007 (UTC)
 
{{details|Web design (Tableless)}}
 
When [[Netscape Navigator]] 4 dominated the [[Web browser]] market, the popular (but now [[deprecated]]) way to lay out a Web page was to use [[HTML table]]s. Often even simple designs for a page would require dozens of tables nested inside one another. Many [[web templates]] in [[Dreamweaver]] and other [[WYSIWYG]] editors still use this technique today. Navigator 4 didn't support [[Cascading Style Sheets]] (CSS) well, so it simply wasn't used. But after the [[browser wars]] were over, and [[Internet Explorer]] dominated the market, the practice of using of CSS to lay out pages grew steadily.
 
CSS proponents argue that tables should be used to present tabular data, but not to control page layout. Using CSS instead of tables also returns HTML to a [[semantic markup]], which helps [[bots]] and search engines understand what's going on in a web page.
 
Today, all modern browsers incorporate some degree of [[Comparison of layout engines (CSS)|support for CSS]]. However, because the various browsers support different subsets of CSS rules, a given CSS specification can be displayed in slightly different ways. This gives rise to the criticism that relying exclusively on CSS for layout means to relinquish control of page appearance. Consequently, detractors argue that -- for someone with experience using table-based layouts -- developing using CSS amounts to trying to replicate what can already be done with tables. As a result, some developers still find CSS rather cumbersome.
 
====Flash====
''I moved this section here from the current article on Web design. It is currently unchanged. I need to research whether any other articles cover this subject matter.'' [[User:ChrisLoosley|Chris Loosley]] 04:08, 2 January 2007 (UTC)
 
[[Adobe Flash]] (formerly [[Macromedia]] Flash) is a proprietary, robust graphics animation/application development program used to create and deliver dynamic content, media (such as sound and video), and interactive applications over the web via the browser.
 
Flash is not a standard produced by a vendor-neutral standards organization like most of the core protocols and formats on the Internet. Flash is much more restrictive than the [[Open format|open]] HTML format, though, requiring a [[Proprietary software|proprietary]] plugin to be seen, and it does not integrate with most [[web browser]] UI features like the "Back" button. However, those restrictions may be useful depending on the goals of the web site design.
 
Flash as a format has become very widespread on the desktop market. According to [http://www.npd.com/ NPD] [http://www.macromedia.com/software/player_census/npd/ study], 98% of US Web users have the Flash Player installed [http://www.macromedia.com/software/player_census/flashplayer/], with 45%-56%[http://www.macromedia.com/software/player_census/flashplayer/version_penetration.html] (depending on region) having the latest version. Numbers vary depending on the detection scheme and research demographics.
 
Many graphic artists use Flash because it gives them exact control over every part of the design, and anything can be animated and generally "jazzed up". Some application designers enjoy flash because it lets them create applications that don't have to be refreshed or go to a new web page every time an action occurs. Flash can use embedded fonts instead of the standard fonts installed on most computers. There are many sites which forego HTML entirely for Flash. Other sites may use flash content combined with html as conservatively as gifs or jpegs would be used, but with smaller vector file sizes and the option of faster loading animations. Flash may also be used to protect content from unauthorized duplication or searching.
 
Flash detractors claim that Flash websites tend to be poorly designed, and often use confusing and non-standard user-interfaces. Up until recently, search engines have been unable to index Flash objects, which has prevented sites from having their contents easily found. It is possible to specify alternate content to be displayed for browsers that do not support Flash. Using alternate content also helps [[search engine]]s to understand the page, and can result in much better visibility for the page. This, however, does not enable search engines to read images used in the place of text for styling purposes, nor are the vast majority of Flash websites disability accessible (for screen readers, for example) or [[Section 508]] compliant.
 
The most recent incarnation of Flash's scripting language (called "actionscript", which is an [[ECMA]] language similar to [[JavaScript]]) incorporates long-awaited usability features, such as respecting the browser's font size and allowing blind users to use [[screen readers]]. Actionscript 2.0 is an [[Object-oriented programming|Object-Oriented]] language, allowing the use of CSS, [[XML]], and the design of class-based web applications.
 
====Static and dynamic page generation====
''I have moved this section here from the current article on Web design. I added links to DHTML and JavaScript. It needs a one sentence introduction linking to the terms [[static Web page]] and [[dynamic Web page]].'' [[User:ChrisLoosley|Chris Loosley]] 06:58, 1 January 2007 (UTC)
The traditional method of laying out web pages, HTML, is static. There are two ways of delivering content dynamically:
 
=====Server-side=====
A web server, running special software, constructs an HTML page '[[on the fly]]', according to the user's request and possibly other variables, such as time or stock levels.
 
Suitable scripting languages include:
 
*[[Active Server Pages|ASP]]
*[[ASP.NET]]
*[[ColdFusion]]
*[[JavaServer Pages|JSP]]
*[[Lasso programming language|Lasso]]
*[[Perl]]
*[[PHP]]
*[[Python (programming language)|Python]]
*[[Ruby programming language|Ruby]]
 
[[XSLT]] can be used to translate data from XML format into HTML.
 
[[Database]]s are often used in conjunction with [[server-side]] [[scripting languages]] for persistent storage of [[Web content|content]]. [[Database management system]] like [[mySQL]] and [[postgreSQL]] offers convenient methods for accessing data stored within the databasen, to [[Update (SQL)|update]], [[Delete (SQL)|delete]], [[Insert (SQL)|insert into]] or [[Select (SQL)|search from]] the database. Most [[website]]s / [[web application]]s of non-trivial complexity uses some form of database to manage their content.
 
 
=====Client-side=====
''The next paragraph reflects a particular POV, not common practice -- see [[Ajax (programming)|Ajax]]''. [[User:ChrisLoosley|Chris Loosley]] 06:58, 1 January 2007 (UTC)
Client-side scripting works at the user's browser, and therefore should not be used for "mission critical' work, where the user's capabilities are not known – it is more suited to adding decoration and other ephemeral content. It is most often achieved through JavaScript.
 
Client side [[DHTML]] can pose major problems for [[Web accessibility]] and search engine optimization. Most software designed for assisting people with disabilities, and most search engine robots do not support client side DHTML.
 
If a web site's menus are built with [[JavaScript]], it is usually impossible for search engines to find the pages listed in the menus, unless an alternative navigation scheme is provided elsewhere on the page. (NOTE: By using nested lists for navigation menus, and slightly more complex, DOM-based scripts, this problem may be overcome.)
 
===Launch===
Line 86 ⟶ 146:
 
===Web Design===
 
''This will refer to the (rewritten) article on [[Talk:Web design/Web design (rewrite)|Web Design ]].'' [[User:ChrisLoosley|Chris Loosley]] 22:37, 29 December 2006 (UTC)
 
''Draft of new material:''
Among Web designers, the term ''Web design'' is sometimes used as a [[synonym]] for ''Web development''. However, a stricter interpretation of these terms would distinguish them, as follows: [[design]] is a [[planning]] activity, which is only one [[wiktionary:component|component]] of an [[engineering]] process. Consider the analogy of civil or mechanical engineering. The person who designs a bridge, or a house, or a car, is only one part of the team responsible for producing the final result. For Web development, a similar distinction can be made. However, this distinction tends to blurred in the software development arena, because it is common for developers to participate in (and even be responsible for) many design decisions. [[User:ChrisLoosley|Chris Loosley]] 22:37, 29 December 2006 (UTC)
 
===Usability===
 
''See articles on [[usability]] and [[Web usability]].'' [[User:ChrisLoosley|Chris Loosley]] 21:56, 29 December 2006 (UTC)
 
===Findability===
 
''There is a short article on [[findabiltyfindability]].'' [[User:ChrisLoosley|Chris Loosley]] 21:51, 29 December 2006 (UTC)
 
===User Interaction===
Line 98 ⟶ 165:
 
===Accessibility===
 
''I moved this material here from Web design. Otherwise it is currently unchanged from the present article. However, I intend to merge the last two bullets into the concluding paragraph.'' [[User:ChrisLoosley|Chris Loosley]] 02:58, 2 January 2007 (UTC)
 
''For more ideas, see Van Duyne et al, The Design of Sites, Section B9, pp218-226.'' [[User:ChrisLoosley|Chris Loosley]] 03:40, 2 January 2007 (UTC)
 
{{main|Web accessibility}}
 
Accessible Web design is the art of creating webpages that are accessible to everyone, using any device. It is especially important so that people with [[disabilities]] - whether due to accident, disease or old age - can access the information in Web pages and be able to navigate through the website.
 
To be accessible, web pages and sites must conform to certain accessibility principles. These can be grouped into the following main areas:
* use [[semantic markup]] that provides a meaningful structure to the document (i.e. Web page)
* use a valid [[markup language]] that conforms to a published [[Document Type Definition|DTD]] or [[XML schema|Schema]]
* provide text equivalents for any non-text components (e.g. images, multimedia)
* use [[hyperlinks]] that makes sense when read out of context. (e.g. avoid "Click Here.")
* don't use [[Framing (World Wide Web)|frames]]
 
''merge the following material:'' [[User:ChrisLoosley|Chris Loosley]] 02:58, 2 January 2007 (UTC)
 
* use [[Cascading Style Sheets|CSS]] [[Web design (Tableless)|rather than HTML Tables]] for layout.
* author the page so that when the source code is read line-by-line by [[user agents]] (such as a [[screen reader]]s) it remains intelligible. (Using tables for design will often result in information that is not.)
 
However, W3C permits an exception where tables for layout either make sense when linearized or an alternate version (perhaps linearized) is made available.
 
===Standards===
Line 117 ⟶ 206:
''I favor moving this section towards the end of the article -- comments?'' [[User:ChrisLoosley|Chris Loosley]] 16:53, 28 December 2006 (UTC)
 
Since the mid-1990's, Web development has been one of the fastest growing industries in the [[United States]]. In 1995 there were fewer than 1,000 Web development companies and in 2005 there are over 30,000 such companies.{{factTalkfact}} The Web development [[industry]] is expected to grow over 20% by 2010. The growth of this industry is being pushed by large businesses wishing to sell products and services to their customers and to [[automate]] business [[workflow]], as well as the growth of many small web design and development companies.
 
In addition, cost of Web site development and hosting has dropped dramatically during this time. Instead of costing tens of thousands of dollars, as was the case for early websites, one can now develop a simple web site for less than a thousand dollars, depending on the complexity and amount of content. {{factTalkfact}} Smaller Web site development companies are now able to make web design accessible to both smaller companies and individuals further fueling the growth of the web development industry.
 
==See also==
 
{{Wikibookspar|Wikibooks|Web Development}}
 
{|
Line 152 ⟶ 241:
 
Examples of dramatic transformation in communication and commerce led by Web development include e-commerce. Online auction sites such as [[eBay]] have changed the way consumers consume and purchase goods and services. Online resellers such as [[Amazon.com]] and [[Buy.com]] (among many, many others) have transformed the shopping and bargain hunting experience for many consumers.
 
''This material about CSS (which came from the current Web Design article) is more detailed than required here, and arguably POV in parts. But it could be merged into the article on [[Tableless web design]].'' [[User:ChrisLoosley|Chris Loosley]] 07:50, 2 January 2007 (UTC)
 
For example, at one time it was rather difficult to produce certain design elements, such as vertical positioning, and full-length footers in a design using absolute positions. With the abundance of CSS resources available online today, though, designing with reasonable adherence to standards involves little more than applying CSS 2.1 or CSS 3 to properly structured markup.
 
These days most modern browsers have solved most of these quirks in CSS rendering and this has made many different CSS layouts possible. However, some people continue to use old browsers, and designers need to keep this in mind, and allow for graceful degrading of pages in older browsers. Most notable among these old browsers are Internet Explorer 5 and 5.5, which, according to some web designers, are becoming the new Netscape Navigator 4 — a block that holds the World Wide Web back from converting to CSS design.