Web development
an introduction to digital creation
Last updated
an introduction to digital creation
Last updated
Web development comes in two main flavours:
The front-end (presentation-oriented programming, i.e. the display)
The back-end (data and logic-oriented programming, i.e. the data)
We will see that:
the line between the front-end and the back-end often blurs
computer science theory surprisingly still plays a large role in web development
To present data, we should assemble the following "3 S's":
Structuring (e.g. HTML)
to enforce the sensibility (order) of visual components
to ensure that everyone has access to a web resource
Styling (e.g. CSS)
to enhance the visual look-and-feel
Sometimes, front-end developers may have to take part in:
Imaging (e.g. Photoshop or free Photopea)
to adjust (resize, crop, etc.) visual assets provided by a client
to take the load off the design team, who might work with more complex imaging and graphics projects, by helping with simpler tasks such as image cropping
The back-end usually involves:
Scripting (e.g. also JavaScript, with some PHP, Ruby, Perl and older programming languages)
to process the results from database querying
Database querying (e.g. GraphQL, MongoDB, MySQL)
to get/set data from a database
Security
authorization allows a user into a system
identity check via username or, better yet, e-mail address
authentication checks to see if the user is genuine
passwords, secret questions and other two-factor methods
Each developer may also have to take part in:
Versioning or version control (e.g. Git or Mercurial)
to not only submit content "to the cloud" but also to ensure backups if something goes wrong
to allow for collaboration by multiple developers within the same project(s)
Deployment (e.g. FTP, Jenkins, Netlify, etc.)
to get that web project onto the Internet!
usually nowadays handled by a specialized team called development operations (or dev ops)
Documenting (e.g. GitBook!)
to communicate cases and learnings for obvious reasons
Organizing (e.g. SCRUM)
planning to ensure that all the programming, layout, look-and-feel, content, images (and any other assets) all come together, as smoothly as possible
to send completed projects for quality assurance and correct defects
to determine a release's suitability to go "into production" (i.e. on the internet)
to discuss after launch any shortcomings and room for improvement ("retro")
Optimizing
for more universal accessibility, better usability, improved speed
for enhancing the experience of the "finished" product
note: no product ever really gets "finished"
As one can gather, a lot of web development involves tasks other than simply programming!
To begin with web development, let's have a look at our workspace!