15-Web Development Shiva Riderrr
15-Web Development Shiva Riderrr
ABSTRACT
CHAPTER 1
1.1 INTRODUCTION
Web development is the work involved in developing a website for the Internet
(World Wide Web) or an intranet (a private network). Web development can range from
developing a simple single static page of plain text to complex web applications, electronic
businesses, and social network services. 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/server-side scripting, Web server and network security
configuration, and e-commerce development.
Among Web professionals, "Web development" usually refers to the main non-design
aspects of building Web sites: writing markup and coding. Web development may use content
management systems (CMS) to make content changes easier and available with basic
technical skills.
For larger organizations and businesses, Web development teams can consist of
hundreds of people (Web developers) and follow standard methods like Agile methodologies
while developing Web sites. Smaller organizations may only require a single permanent or
contracting developer, or secondary assignment to related job positions such as a graphic
designer or information systems technician. Web development may be a collaborative effort
between departments rather than the domain of a designated department. There are three
kinds of Web developer specialization: front-end developer, back-end developer, and full-
stack developer. Front-end developers are responsible for behavior and visuals that run in the
user browser, while back-end developers deal with the servers. Since the commercialization
of the Web, the industry has boomed and has become one of the most used technologies ever.
Web development could be a good profession for you if you like solving logical
problems, building useful things, and experimenting with new technologies. Web developers
are in high demand, generally have a good work/life balance, and command comfortable
salaries. Google your specific location to get a better sense of your local web development
job opportunities.
1.2 HISTORY
Web 2.0, a term coined by O'Reilly vice president Dale Dougherty during a 2004
conference with Media Live, marks a shift in internet usage that emphasizes
interactivity.
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.
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. 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 databases.
Web 3.0, considered the third and current version of the web, was introduced in 2014.
The concept envisions a complete redesign of the web. Key features include the
integration of metadata, precise information delivery, and improved user experiences
based on preferences, history, and interests.
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.
This version is sometimes also known as Semantic Web.
However, Web 3.0 poses challenges, such as the need for advanced web design
expertise, difficulty in identifying a user's ID, and increased client requests to servers,
making it more complex to build an intelligent web.
Web 4.0 is presented as the most advanced web technology with intelligent and highly
interactive features. Web 4.0 is also known as symbiotic web. Web 4.0 is still in its
early stages, yet it has already had a significant impact on how people use the World
Wide Web. Web 4.0 aims to be an all-encompassing technology, merging the best
features of Web 2.0 and Web 3.0.
The primary goals of the fourth generation of the web include enhancing usability and
engagement by refining web pages, making them easier to navigate, and incorporating
features for user interaction. Web
4.0 aims to increase everyone's access to the Internet, including those with disabilities
who can use assistive technologies for easier access to web content.
1.3 EVOLUTION OF WEB DEVELOPMENT TECHNOLOGIES
The journey of web development technologies began with simple HTML pages in the
early days of the internet. Over time, advancements led to the incorporation of CSS for
styling and JavaScript for interactivity. This evolution transformed static websites into
dynamic and responsive platforms, setting the stage for the complex and feature-rich web
applications we have today.
The Web Development Life Cycle is a method that outlines the stages involved in
building websites and web applications. It provides a structured approach, ensuring optimal
results throughout the development process.
1. Analysis
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.
Phase One involves crafting a web strategy and analyzing how a website can effectively
achieve its goals. Keil et al's research 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.
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:
Sitemap Creation
Wireframe Creation
Tech Stack
Following the analysis phase, the development process moves on to the design phase,
which is guided by the Objectives Document. Recognizing the incremental growth of
websites and the potential lack of good design architecture, the methodology includes
iteration to account for changes and additions over the life of the site. The design phase,
which is divided into Information Design and Graphic Design, results in a detailed Design
Document that details the structure of the website, database data structures, and CGI scripts.
The following step, Design Testing, focuses on early, low-cost testing to identify
inconsistencies or flaws in the design. This entails comparing the website's design to the
goals and objectives outlined in the first three steps. Phases One and Two involve an iterative
loop in which objectives in the Objectives Document are revisited to ensure alignment with
the design. Any objectives that are removed are added to the Wish List for future
consideration.
Key aspects in this step are-
Page Layouts
Review
Approval
4. Content Creation
No matter how visually appealing your website is, good communication with your
clients is critical. The primary purpose of content production is to create a communication
channel through the user interface by delivering relevant information about your firm in an
engaging and easily understandable manner. This includes:
5. Development
During this critical stage, the website is built while keeping its fundamental goal in
mind, paying close attention to all graphic components to assure the establishment of a
completely working site.
The procedure begins with the development of the main page, which is followed by
the production of interior pages. The site's navigational structure is being refined in particular.
During this development phase, key functionality such as the Content Management
System, interactive contact forms, and shopping carts are activated.
The coding process includes creating all of the site's software and installing it on the
appropriate Web servers. This can range from simple things like posting to a Web server to
more complex tasks like establishing database connections. The stage of content production is
critical in establishing the branding and marketing of your website or web application. It
serves as a platform for defining the purpose and goals of your online presence through
compelling and convincing content.
In any web project, the testing phase is incredibly intricate and difficult. Because web
apps are frequently designed for a diverse and often unknown user base running in a range of
technological environments, their complexity exceeds that of traditional Information Systems
(IS). To ensure maximum reach and efficacy, the website must be tested in a variety of
contexts and technologies. The website moves to the delivery stage after gaining final
approval from the designer. To ensure its preparation for launch, the quality assurance team
performs rigorous testing for functionality, compatibility, and performance.
The web development process goes beyond deployment to include a variety of post-
deployment tasks.
Websites, in example, are frequently under ongoing maintenance, with new items
being uploaded on a daily basis. The maintenance costs increase immensely as the site grows
in size. The accuracy of content on a website is critical, demanding continuous monitoring to
verify that both information and links, particularly external links, are updated. Adjustments
are made in response to user feedback, and regular support and maintenance actions are
carried out to maintain the website's long-term effectiveness.
CHAPTER 3
Debra Howcraft and John Carroll discussed a few traditional web development
methodologies in their research paper:
The goal of front-end development is to create a website's user interface and visual
components that users may interact with directly. On the other hand, 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.
4.1.1 Technologies
The 3 core technologies for front- end development are-
HTML (Hypertext Markup Language)- HTML provides the structure and organization of
content
on a webpage.
CSS (Cascading Style Sheet)- Responsible for styling and layout, CSS enhances the
presentation
of HTML elements, making the application visually appealing.
JavaScript- It is used to add interactions to the web pages. Advancement in JavaScript has
given
rise to many popular front- end frameworks like React, Angular and Vue.js etc.
Responsive design
It is important to ensure that web applications are accessible and visually appealing across
various
devices and screen sizes. Responsive design uses CSS media queries and flexible layouts to
adapt
to different viewing environments.
Front-end frameworks
A framework is a high-level solution for the reuse of software pieces, a step forward in
simple
library-based reuse that allows for sharing common functions and generic logic of a domain
application.[19]
Frameworks and libraries are essential tools that expedite the development process. These
tools
enhance developer productivity and contribute to the maintainability of large-scale
applications.
Some popular front-end frameworks are:
React: A JavaScript library for building user interfaces, maintained by Facebook. It allows
developers to create reusable UI components.
State management
Managing the state of a web application to ensure data consistency and responsiveness. State
management libraries like Redux (for React) or Vuex (for Vue.js) play a crucial role in
complex
applications.
Back-end development
Back-end development involves building the server-side logic and database components of a
web
application. It is responsible for processing user requests, managing data, and ensuring the
overall
functionality of the application. Key aspects of back-end development include:
Databases
Database management is crucial for storing, retrieving, and managing data in web
applications.
Various database systems, such as MySQL, PostgreSQL, and MongoDB, play distinct roles
in
organizing and structuring data. Effective database management ensures the responsiveness
and
efficiency of data-driven web applications. There are 3 types of databases:
Relational databases: Structured databases that use tables to organize and relate data.
Common
Examples include - MySQL, PostgreSQL and many more.
Document stores: Document stores store data in a semi-structured format, typically using
JSON
or XML documents. Each document can have a different structure, providing flexibility.
Examples:
MongoDB, CouchDB.
Key-value stores: Key-value stores store data as pairs of keys and values. They are simple
and
efficient for certain types of operations, like caching. Examples: Redis, DynamoDB.
Column-family stores: Column-family stores organize data into columns instead of rows,
making
them suitable for large-scale distributed systems and analytical workloads. Examples: Apache
Cassandra, HBase.
Graph databases: Graph databases are designed to represent and query data in the form of
graphs. They are effective for handling relationships and network-type data. Examples:
Neo4j,
Amazon Neptune.
In-memory databases: In-memory databases store data in the system's main memory
(RAM)
rather than on disk. This allows for faster data access and retrieval. Examples: Redis,
Memcached.
Time-series databases: Time-series databases are optimized for handling time-stamped data,
making them suitable for applications that involve tracking changes over time. Examples:
InfluxDB, OpenTSDB.
NewSQL databases: NewSQL databases aim to provide the scalability of NoSQL databases
while
maintaining the ACID properties (Atomicity, Consistency, Isolation, Durability) of traditional
relational databases. Examples: Google Spanner, CockroachDB.
Security measures
Full-stack development
Full-stack development refers to the practice of designing, building, and maintaining the
entire
software stack of a web application. This includes both the frontend (client-side) and backend
(server-side) components, as well as the database and any other necessary infrastructure. A
fullstack
developer is someone who has expertise in working with both the frontend and backend
technologies, allowing them to handle all aspects of web application development.
MEAN (MongoDB, Express.js, Angular, Node.js) and MERN (MongoDB, Express.js, React,
Node.js)
are popular full-stack development stacks that streamline the development process by
providing
a cohesive set of technologies.
Web development tools and environments
Efficient web development relies on a set of tools and environments that streamline the
coding and
Collaboration processes:
1. Integrated development environments (IDEs): Tools like Visual Studio Code, Atom,
and
Sublime Text provide features such as code highlighting, autocompletion, and version control
integration, enhancing the development experience.
2. Version control: Git is a widely used version control system that allows developers to
track
changes, collaborate seamlessly, and roll back to previous versions if needed.
3. Collaboration tools: Communication platforms like Slack, project management tools such
as
Jira, and collaboration platforms like GitHub facilitate effective teamwork and project
Management.
Common threats: Developers must be aware of common security threats, including SQL
injection,
cross-site scripting (XSS), and cross-site request forgery (CSRF).
Secure coding practices: Adhering to secure coding practices involves input validation,
proper
data sanitization, and ensuring that sensitive information is stored and transmitted securely.
2. Scrum and kanban: Employing agile frameworks like Scrum for structured sprints or
Kanban
for continuous flow to manage tasks and enhance team efficiency.
3. Cross-functional teams: Forming collaborative teams with diverse skill sets, ensuring all
necessary expertise is present for comprehensive web development.
4. Customer collaboration: Engaging customers throughout the development process to
gather
feedback, validate requirements, and ensure the delivered product aligns with expectations.
6. User stories and backlog: Capturing functional requirements through user stories and
maintaining a backlog of prioritized tasks to guide development efforts.
The front-end component is responsible for how the website or web application looks and feels. It
includes the design, layout, and interactivity of the website or web application. The back-end
component is responsible for how the website or web application works.
It includes the functionality, data storage, and security of the website or web application.
3. Northwood, Chris (2018-11-19). The Full Stack Developer: Your Essential Guide to the
Everyday Skills
Expected of a Modern Full Stack Web Developer (https://books.google.com/books?
id=vvd6DwAAQBAJ&q
=%22full+stack+Web+development%22+-wikipedia) . Apress. ISBN 978-1-4842-4152-3.
4. "Discover The Difference Between Front-End Vs. Back-End Developer – Forbes Advisor"
(https://www.forb
es.com/advisor/education/front-end-vs-back-end-developer) . forbes.com. May 30, 2023.