Syllabus Point
- Model elements that form a web development system
Including:
- client-side (front-end) web programming
- server-side (back-end) web programming
- interfacing with databases that are based on Structured Query Language (SQL) or non-SQL
Web development systems consist of interconnected components including client-side technologies for user interaction, server-side logic for data processing, and databases for persistent storage. Understanding the roles and differences between these layers is essential for effective web development.
Full stack web application overview
A full stack web application connects all three components:
- Front end: handles user interaction
- Back end: processes requests, applies business logic, and interacts with database
- Database: stores and retrieves data efficiently
Client-side (front-end) web programming
Refers to the code that runs in the user's web browser, which enables interactive user experiences without needing constant communication with the server.
- Key technologies include HTML, CSS, JS and frameworks (React, Vue, Angular)
- Faster UX because there is no server load
- Can store temporary data using cookies, local storage and session storage
Server-side (back-end) web programming
Server-side programming involves writing code that runs on the server, and enables it to respond to requests from the client-side applications and generate dynamic content to be sent back to the client.
- Handles business logic, database interacts and user authentication
Functions of server side programming
- Processing user requests (form submissions, authentication, etc)
- Manage databases
- Generate dynamic content based on user input
- Implement security features
Comparison of client-side and server-side
- Location
- Client: Runs in web browser and user's device
- Server: Runs on the web server
- Languages
- Client: HTML, CSS, JS
- Server: Python, PHP, Ruby, Node.js
- Main purpose
- Client: Interactivity, UI, form validation
- Server: Data processing, database interaction and security
- Security
- Client: Less secure (code visible to users)
- Server: More secure (code is hidden)
- Speed
- Client: Fast for small tasks - don't need to communicate
- Server: Slower due to server client communication
Interfacing with databases that are based on Structured Query Language (SQL) or non-SQL
Databases store and manage user data, content and application settings. There are two main types of databases.
Relational databases (SQL)
- Organise data into structured tables, and can establish relationships based on keys
- Follows relational model
- SQL is typically used to interact with relational databases
- Example: SQLite, mySQL
- Have a schema
- Typically used when data relationships are complex, and enforcing strict schemas is important
NoSQL databases
- Databases that store and retrieve data in flexible formats (e.g. key-value pairs, documents)
- Horizontally scalable and handles large volumes of unstructured data
- Used for real-time analytics, content management, big data
- Example: mongodb
- Distributed data across multiple servers
- Can store JSON or BSON
Entities and relationships
Entities are real world objects or concepts that can be uniquely identified, and often have relationships with each other - which define how they interact and relate.
- Entities represented as tables - each row is an instance, each column is an attribute
- Relationships are represented by foreign keys or intermediate tables
Sample Answers
No sample answers added yet.
Related Resources
Keep Progressing
Use the lesson navigation below to move through the module sequence.