Web application development: Difference between revisions

Content deleted Content added
Changed redirect target from Web application to Web application#Development
Tags: Redirect target changed 2017 wikitext editor
 
(250 intermediate revisions by more than 100 users not shown)
Line 1:
*#REDIRECT [[Web application framework#Development]]
{{howto}}
{{Merge|web development|date=October 2006}}
 
'''Web application development''' is the process and practice of developing [[web application]]s {{Fact|date=February 2007}}.
 
==Risk==
Just as with a traditional desktop application, web applications have varying levels of risk. A personal home page is much less risky than, for example, a stock trading web site. For some projects [[Computer security|security]], [[software bug]]s, etc. are major issues. If time to market, or technical complexity is a concern, [[Software documentation|documentation]], [[test plan]]ning, [[change control]], [[requirements analysis]], [[software architecture|architectural description]] and formal design and construction practices can mitigate risk.
 
==Technologies==
* [[Ajax (programming)|Ajax]]
* [[ASP.NET]]
* [[Cascading Style Sheets|CSS]]
* [[ColdFusion]]
* [[Java Platform, Enterprise Edition|Java EE]]
* [[JavaScript]]
* [[Perl|Perl]]
* [[PHP]]
* [[Ruby (programming language)|Ruby]], including [[Ruby on Rails]]
* [[CGI]]
* [[ISAPI/NSAPI]]
 
==Lifecycle Model==
[[Time to market]], company-growth and requirements churn, three things that are emphasized in web-based business, coincide with the principles of the [[Agile software development|Agile]] practices. Some agile lifecycle models are:
 
* [[Extreme Programming]]
* [[Scrum (development)|Scrum]]
* [[Timebox]] development
* [[Feature Driven Development]]
 
==Testing==
Like traditional desktop applications, web applications undergo the same [[Unit testing|unit]], [[Integration testing|integration]] and [[system testing]]. But because web application clients vary so greatly, teams might perform some additional testing, such as:
 
* Security
* [[Performance testing|Performance]], [[Load testing|Load]], and [[Stress testing|Stress]]
* [[HTML]]/[[Cascading Style Sheets|CSS]] validation
* [[Web accessibility|Accessibility]]
* [[Usability testing|Usability]]
 
Many types of tests are [[Test automation|automatable]]. At the [[Component test|component]] level, one of the [[xUnit]] packages can be a helpful tool. Or an organization can create its own unit testing framework. At the GUI level, [[Watir]] is useful.
 
==Tools==
In the case of [[ASP.NET]], a developer can use [[Microsoft Visual Studio]] to write code. But, as with most other programming languages, he/she can also use a text editor. [[Notepad++]] is an example.
 
For [[PHP]], the [[Zend Development Environment]] provides numerous [[debugging]] tools and provides a rich feature set to make a [[PHP]] developer's life easier.
 
Several [[code generation]] tools such as [[dbQwikSite]] are available to automate the development of code. Using such tools, non-technical users can produce working code, and experienced coders can accellerate the development cycle.
 
Other tools include various [[Web browser|browsers]], [[File Transfer Protocol|FTP clients]], etc.
{{Sectstub}}
 
==Frameworks and Reuse==
{{main|Web application framework}}
Practicing [[code reuse]] and using [[Web application framework|web application frameworks]] can greatly improve both productivity and [[time to market]] (McConnell 1996:537). Reusing externally developed [[Software componentry|components]] can allow an organization to reap the above benefits, while potentially saving money. However, for smaller components, it might be just as easy to develop your own components as it would be to learn new [[Application programming interface|API]]s. Also, if a component is essential to the business, an organization might want to control its development.
 
==See also==
*[[Device Independence]]
*List of Web based applications
*[[Search engine optimization]]
*[[Web Interoperability]]
*[[Web application framework]]
 
==References==
*{{cite book | last = McConnell | first = Steve | authorlink = Steve McConnell |
title = Code Complete, Second Edition | publisher = Microsoft Press | date = June 2004 |
pages = 960 | id = ISBN 0-7356-1967-0 }}
*{{cite book | last = McConnell | first = Steve | authorlink = Steve McConnell |
title = Rapid Development | publisher = Microsoft Press | date = July 2, 1996 |
pages = 680 | id = ISBN 1-55615-900-5 }}
*{{cite book | last = Rozanski | first = Nick | coauthors = Eóin Woods |
title = Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives | publisher = Addison-Wesley Professional | date = April 20, 2005 |
pages = 576 | id = ISBN 0-321-11229-6 }}
*{{cite book | last = Leffingwell | first = Dean | coauthors = Don Widrig |
title = Managing Software Requirements: A Use Case Approach, Second Edition |
publisher = Addison-Wesley Professional | date = May 16, 2003 | pages = 544 |
id = ISBN 0-321-12247-X }}
 
==Further reading==
*{{cite book | last = Whittaker | first = James A. | coauthors = Mike Andrews |
title = How to Break Web Software: Functional and Security Testing of Web Applications and Web Services | publisher = Addison-Wesley Professional | date = February 2, 2006 |
pages = 240 | id = ISBN 0-321-36944-0 }}
 
[[Category:Web applications]]
[[Category:World Wide Web]]
[[Category:Web development]]