Web application development: Difference between revisions

Content deleted Content added
web development framework
Tags: citing a blog or free web host Reverted
Changed redirect target from Web application to Web application#Development
Tags: Redirect target changed 2017 wikitext editor
 
(8 intermediate revisions by 8 users not shown)
Line 1:
*#REDIRECT [[Web application framework#Development]]
{{Howto|date=September 2009}}
{{Cleanup rewrite|unnecessary details|date=February 2016}}
'''Web application development''' is the process and practice of developing web applications. There is a consensus that the processes involved are extensions of standard software engineering processes.<ref name=":0">{{Cite book|title=Interactive Whiteboards for Education: Theory, research, and practice|last=Thomas|first=Michael|last2=Schmid|first2=Euline|publisher=IGI Global|year=2009|isbn=9781605669823|___location=Hershey, PA|pages=1700}}</ref> Considering this, along with its unique characteristics, popular frameworks used include the spiral approach and business-oriented approach to application development, among other models that address the requirements for an iterative process.<ref name=":0" />
 
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==
A study conducted involving [[web engineering]] practice revealed that web application development has several characteristics that have to be addressed and these include: short development life-cycle times; different business models; multi-disciplinary development teams; small development teams working on similar tasks; business analysis and evaluation with end-users; explicit requirement and rigorous training against requirements; and, maintenance.<ref name=":0" />
 
Some of the technologies used include: [[AJAX (programming)|Ajax]], [[Active Server Pages|ASP]], [[ASP.NET]], [[ActionScript]], [[Cascading Style Sheets|CSS]], [[ColdFusion]], [[Common Gateway Interface|CGI]], [[HTML5|HTML]], [[Java (programming language)|Java]], [[JavaScript]], [[LANSA (development environment)|Visual LANSA]], [[Lasso (programming language)|Lasso]], [[Node.js]], [[OSGi|OSGI]], [[Perl]], [[PHP]], [[Python (programming language)|Python]], [[Ruby (programming language)|Ruby]], [[Xojo]].
 
==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]]
* [[Timeboxing|Timebox]] development
* [[Feature-driven development]]
 
==Testing==
Web applications undergo the same [[Unit testing|unit]], [[Integration testing|integration]] and [[system testing]] as traditional desktop applications. It has the same goals, which involve: 1) the determination that the application is working correctly; and, 2) the identification of errors that need correction. The testing process of web applications, however, has some special characteristics, making it a little different from a test used for a software. These include the fact that web applications tend to have a great deal of information that could contain mistakes, omissions, incorrect labels, redundancy, and so on.<ref name=":1">{{Cite book|title=Web Based Application Development|last=Grove|first=Ralph|publisher=Jones & Bartlett Learning|year=2009|isbn=0763759406|___location=Boston|pages=218}}</ref> They can also entail multiple layers of web applications and multiple, dynamic configurations.<ref name=":1" /> Testing and finding errors, therefore, involves more complex process such as the inclusion of operational analysis for each layer or configuration.
 
Web application clients vary greatly, hence teams might perform some additional testing, such as:
Security,
[[Software performance testing|Performance]], [[Load testing|Load]], and [[Stress testing|Stress]],
[[HTML]]/[[Cascading Style Sheets|CSS]] validation,
[[Web accessibility|Accessibility]],
[[Usability testing|Usability]], and
[[Cross-browser]].
 
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]] or [[iMacros]] are useful.
 
==Tools==
In the case of [[ASP.NET]], developers can use [[Microsoft Visual Studio]] to write code. But, as with most other programming languages, they can also use a text editor ([[Notepad++]] for example). [[WebORB Integration Server]] for .NET can be used to integrate .NET services, data and media with any web client. It includes developer-productivity tools and APIs for remoting, messaging and data management.
 
For [[ColdFusion]] and the related open-source CFML engines, there are several tools available for writing code. These include Adobe [[Dreamweaver]] CS4, the CFEclipse plugin for [[Eclipse (software)]] and Adobe CF Builder. One can also use any text editor, such as [[Notepad++]] or [[TextEdit]].
 
Many tools support the [[Java (programming language)|Java programming language]]. The most popular include [[Apache Tomcat]], [[GlassFish]], [[JDeveloper]] and [[NetBeans|Netbeans]], but there are numerous others.
 
For [[PHP]], the [[Zend Development Environment]] provides numerous [[debugging]] tools and provides a rich feature-set to make [[PHP]] development easier. [[WebORB Integration Server]] for PHP can be used to integrate PHP classes and data with any web client. It includes developer productivity tools and APIs for remoting, messaging and data management. Tools such as [[Hammerkit]] abstract [[PHP]] into a visual programming environment and utilise [[Component-based software engineering|component-based software]] methods to accelerate development.
 
Other tools include various web development applications, [[Web browser|browsers]], and [[File Transfer Protocol|FTP clients]].
 
==Frameworks and use==
{{Main|Web application framework}}
Practicing [[code reuse]] and using [[web application framework]]s 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==
 
*[[https://infocornerss.blogspot.com/2020/12/4-best-python-frameworks-for.html Web Development Frameworks]]
*[[:Category:Web development software]]
*[[Device Independence]]
*[[List of Web based applications|List of Web-based applications]]
*[[Web Interoperability]]
*[[Web application framework]]
 
==References==
{{Reflist}}
* [https://infocornerss.blogspot.com/2020/12/4-best-python-frameworks-for.html Python web development framweork]
*{{cite book | last1 = Leffingwell | first1 = Dean | last2 = Widrig | first2 =Don | title = Managing Software Requirements: A Use Case Approach, Second Edition | publisher = Addison-Wesley Professional | date = May 16, 2003 | isbn = 0-321-12247-X}}
*{{cite book | last = McConnell | first = Steve | authorlink = Steve McConnell | title = Rapid Development | publisher = Microsoft Press | date = July 2, 1996 | isbn = 1-55615-900-5 | url = https://archive.org/details/rapiddevelopment00mcco }}
*{{cite book | last = McConnell | first = Steve | authorlink = Steve McConnell | title = Code Complete, Second Edition | publisher = Microsoft Press | date = June 2004 | isbn = 0-7356-1967-0 | url-access = registration | url = https://archive.org/details/codecomplete0000mcco }}
*{{cite book | last = Rozanski | first = Nick |author2=Eóin Woods | title = Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives | publisher = Addison-Wesley Professional | date = April 20, 2005 | isbn = 0-321-11229-6}}
* {{Citation | url = https://www.boseconsultancy.com | title = Bose Consultancy - Top IT Solution Consultancy in India }}
 
==Further reading==
*{{cite book | last1 = Whittaker | first1 = James A. | last2 = Andrews | first2 = Mike | title = How to Break Web Software: Functional and Security Testing of Web Applications and Web Services | publisher = Addison-Wesley Professional | date = February 2, 2006 | isbn = 0-321-36944-0 | url = https://archive.org/details/howtobreakwebsof0000andr }}
 
{{DEFAULTSORT:Web Application Development}}
[[Category:Web applications]]
[[Category:Web development]]