# Outline of web design and web development

The following outline is provided as an overview of and topical guide to web design and web development, two very related fields:
Web design – field that encompasses many different skills and disciplines in the production and maintenance of websites. The different areas of web design include web graphic design; interface design; authoring, including standardized code and proprietary software; user experience design; and search engine optimization. Often many individuals will work in teams covering different aspects of the design process, although some designers will cover them all. The term web design is normally used to describe the design process relating to the front-end (client side) design of a website including writing markup. Web design partially overlaps web engineering in the broader scope of web development. Web designers are expected to have an awareness of usability and if their role involves creating markup then they are also expected to be up to date with web accessibility guidelines.
Web development – work involved in developing a web site 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-based internet applications (web apps), 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 websites. 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 behaviour and visuals that run in the user browser, back-end developers deal with the servers and full-stack developers are responsible for both. Currently, the demand for React and Node.JS developers are very high all over the world.

## Web design

* Graphic design
** Typography
** Page layout
* User experience design (UX design)
* User interface design (UI design)
* Web Design techniques
** Responsive web design (RWD)
** Adaptive web design (AWD)
** Progressive enhancement
** Tableless web design
* Software
** Adobe Photoshop
** Adobe Illustrator
** Adobe XD
** Figma
** Sketch (software)
** Affinity Designer
** Inkscape

## Web development

* Front-end web development – the practice of converting data to a graphical interface, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that data.
** HTML (HyperText Markup Language) (*.html)
** CSS (Cascading Style Sheets) (*.css)
*** CSS framework
** JavaScript (*.js)
*** Package managers for JavaScript
**** npm (originally short for Node Package Manager)
* Server-side scripting (also known as "Server-side (web) development" or "Back-end (web) development")
** ActiveVFP (*.avfp)
** ASP (*.asp)
** ASP.NET Web Forms (*.aspx)
** ASP.NET Web Pages (*.cshtml, *.vbhtml)
** ColdFusion Markup Language (*.cfm)
** Go (*.go)
** Google Apps Script (*.gs)
** Hack (*.php)
** Haskell (*.hs) (example: Yesod)
** Java (*.jsp) via JavaServer Pages
** JavaScript or TypeScript using Server-side JavaScript (*.ssjs, *.js, *.ts) (example: Node.js)
** Lasso (*.lasso)
** Lua (*.lp *.op *.lua)
** NodeJS (*.node)
** Parser (*.p)
** Perl via the CGI.pm module (*.cgi, *.ipl, *.pl)
** PHP (*.php, *.php3, *.php4, *.phtml)
** Progress WebSpeed (*.r,*.w)
** Python (*.py) (examples: Pyramid, Flask, Django)
** R (*.rhtml) – (example: rApache)
** React (*.jsx, *.tsx)
** Ruby (*.rb, *.rbw) (example: Ruby on Rails)
** SMX (*.smx)
** Tcl (*.tcl)
** WebDNA (*.dna,*.tpl)
* Full stack web development – involves both front-end and back-end (server-side) development
* Web framework
** Types of framework architectures
*** Model–view–controller
*** Three-tier architecture
* Software
** Atom
** IntelliJ IDEA
** Sublime Text
** Visual Studio Code