The "ends" of web development

the front-end, the back-end and any other loose-ends

notes2024-08-01 19:22

Web development traditionally has two ends, theĀ front-endĀ and theĀ back-end,Ā but there also exist some processes which require involvement from both ends:

  • TheĀ front-endĀ (presentation-oriented programming - what you see)
  • TheĀ back-endĀ (data and logic-oriented programming - what you get)

Front-end

The front-end usually involves the following "3 S's":

  • StructuringĀ (HTML)
    • to enforce theĀ sensibility (order) of visual components
    • to ensure that a web resource hasĀ accessibility to everyone
  • StylingĀ (CSS)
    • to enhance theĀ visual look-and-feel
  • ScriptingĀ (e.g. JavaScript, React, Angular, jQuery, etc.)
    • to manageĀ user inputĀ andĀ data changes
    • to work with the back-end

Sometimes, front-end developers may have to take part in:

  • ImagingĀ (e.g. Photoshop)
    • 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

Back-end

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
  • AuthorizationĀ andĀ authentication
    • the former refers to allowing a user into a system
    • the latter refers to determining that the user is genuine

Every-end

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, Vercel, etc.)
    • to get that web project onto the Internet servers!
      • 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)
    • to ensure that all the programming, layout, look-and-feel, content, images (and any other assets) all come together, so that the development experience goes as smoothly as possible
  • 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!

---

(Originally pubished in 2023)