The "ends" of web development

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

notes2023-11-02 02: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!