Content deleted Content added
No edit summary |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(11 intermediate revisions by 11 users not shown) | |||
Line 1:
{{Short description|Development of web sites and apps}}
{{
{{multiple issues|{{more citations needed|date=December 2012}}
{{Original research|date=May 2022}}
{{
'''Web development''' is the work involved in developing a [[Web site|website]] for the [[Internet]] ([[World Wide Web]]) or an [[intranet]] (a private network).<ref name="Techopedia.com">{{Cite web |title=What is Web Development? - Definition from Techopedia |url=https://www.techopedia.com/definition/23889/web-development |access-date=2018-12-07 |website=Techopedia.com |language=en}}</ref> Web development can range from developing a simple single [[Static Web page|static page]] of [[plain text]] to complex [[web application]]s, [[electronic business]]es, and [[social network service]]s. A more comprehensive list of tasks to which Web development commonly refers, may include [[Web engineering]], [[Web design]], [[Web content development]], client liaison, [[Client-side scripting|client-side]]/[[server-side scripting]], [[Web server]] and [[network security]] configuration, and [[e-commerce]] development.
Line 24:
Web 2.0 introduced increased user engagement and communication. It evolved from the static, read-only nature of Web 1.0 and became an integrated network for engagement and communication. It is often referred to as a user-focused, read-write online network.<ref name="Soni-2023" />
In the realm of Web 2.0 environments, users now have access to a platform that encourages sharing activities such as creating music, files, images, and movies.<ref>{{Cite web |last=Hall |first=Heather |date=2022-05-01 |title=Web 2.0 Explained: Everything You Need To Know |url=https://history-computer.com/web-2-0/ |access-date=2023-12-10 |website=History-Computer |language=en-US |archive-date=2023-01-09 |archive-url=https://web.archive.org/web/20230109091721/https://history-computer.com/web-2-0/ |url-status=dead }}</ref> The architecture of Web 2.0 is often considered the "backbone of the internet," using standardized [[XML]] (Extensible Markup Language) tags to authorize information flow from independent platforms and [[online database]]s.<ref name="Soni-2023" />
=== Web 3.0 ===
Line 31:
Web 3.0 aims to turn the web into a sizable, organized database, providing more functionality than traditional search engines. Users can customize navigation based on their preferences, and the core ideas involve identifying data sources, connecting them for efficiency, and creating user profiles.<ref name="Soni-2023" />
This version is sometimes also known as [[Semantic Web]].<ref>{{Citation |last1=Du |first1=Xiaofeng |title=Semantic Service Description Framework for Address |date=2009 |url=http://link.springer.com/10.1007/978-0-387-78578-3_35 |work=Information Systems Development |pages=1033–1045 |editor-last=Barry |editor-first=Chris |access-date=2023-11-30 |place=Boston, MA |publisher=Springer US |language=en |doi=10.1007/978-0-387-78578-3_35 |isbn=978-0-387-78577-6 |last2=Song |first2=William |last3=Munro |first3=Malcolm |editor2-last=Lang |editor2-first=Michael |editor3-last=Wojtkowski |editor3-first=Wita |editor4-last=Conboy |editor4-first=Kieran|url-access=subscription }}</ref>
=== Evolution of web development technologies ===
Line 46:
* [[Microservices]] and [[API|API-driven development]] (2010s - present)
* [[Progressive web app]]s (PWAs) (2010s - present)
* [[
* [[WebAssembly]] (Wasm) (2010s - present)
* [[Serverless computing]] (2010s - present)
Line 63:
Debra Howcraft and John Carroll proposed a methodology in which web development process can be divided into sequential steps. They mentioned different aspects of analysis.<ref name="Howcroft-2000">{{Cite journal |last1=Howcroft |first1=Debra |last2=Carroll |first2=John |date=2000 |title=A proposed methodology for web development. |journal=Ecis 2000 Proceedings |url=https://aisel.aisnet.org/ecis2000/73/}}</ref>
Phase one involves crafting a web strategy and analyzing how a website can effectively achieve its goals. Keil et al.'s research<ref>{{Cite journal |last1=Keil |first1=Mark |last2=Cule |first2=Paul E. |last3=Lyytinen |first3=Kalle |last4=Schmidt |first4=Roy C. |date=November 1998 |title=A framework for identifying software project risks |journal=Communications of the ACM |volume=41 |issue=11 |pages=76–83 |doi=10.1145/287831.287843 |issn=0001-0782|doi-access=free }}</ref> identifies the primary reasons for software project failures as a lack of top management commitment and misunderstandings of system requirements. To mitigate these risks, Phase One establishes strategic goals and objectives, designing a system to fulfill them. The decision to establish a web presence should ideally align with the organization's corporate information strategy.
The analysis phase can be divided into 3 steps:
Line 72:
During this phase, the previously outlined objectives and available resources undergo analysis to determine their feasibility. This analysis is divided into six tasks, as follows:
* '''Technology analysis:''' Identification of all necessary technological components and tools for constructing,
* '''Information analysis:''' Identification of user-required information, whether static (web page) or dynamic (pulled "live" from a database server).
* '''Skills analysis:''' Identification of the diverse skill sets necessary to complete the project.
Line 82:
=== Planning: sitemap and wireframe ===
It is crucial for [[web developer]]s to be engaged in formulating a plan and determining the optimal architecture and selecting the [[Software framework|frameworks]].{{
Key aspects in this step are:
Line 144:
== Key technologies in web development ==
Developing a fundamental knowledge of [[client-side]] and [[server-side]] dynamics is crucial.{{
The goal of [[Front-end web development|front-end development]] is to create a website's [[user interface]] and visual components that users may interact with directly. On the other hand, [[Frontend and backend|back-end development]] works with databases, server-side logic, and application functionality. Building reliable and user-friendly online applications requires a comprehensive approach, which is ensured by collaboration between front-end and back-end engineers.
Line 222:
Some popular server-side languages are:
# '''PHP:''' [[PHP]] is a widely
# '''Python:''' [[Python (programming language)|Python]] is a versatile, high-level programming language used for a variety of purposes, including server-side web development. Frameworks like [[Django (web framework)|Django]] and [[Flask (web framework)|Flask]] make it easy to build web applications in Python.
# '''Ruby:''' [[Ruby (programming language)|Ruby]] is an object-oriented programming language, and it is commonly used for web development. [[Ruby on Rails]] is a popular web framework that simplifies the process of building web applications.
Line 229:
# '''C# (C Sharp):''' [[C Sharp (programming language)|C#]] is a programming language developed by Microsoft and is commonly used in conjunction with the [[.NET Framework|.NET]] framework for building web applications on the Microsoft stack.
# '''ASP.NET:''' [[ASP.NET]] is a web framework developed by Microsoft, and it supports languages like C# and [[Visual Basic (.NET)|VB.NET]]. It simplifies the process of building dynamic web applications.
# '''Go (Golang):''' [[Go (programming language)|Go]] is a statically
# '''Perl:''' [[Perl]] is a versatile scripting language often used for web development. It is known for its powerful [[Text processing|text-processing]] capabilities.
# '''Swift:''' Developed by Apple, [[Swift (programming language)|Swift]] is used for server-side development in addition to iOS and macOS app development.
# '''Lua:''' [[Lua (programming language)|Lua]] is used for some embedded web servers, e.g. the configuration pages on a [[router (computing)|router]], including [[OpenWRT]].
==== Security measures ====
|