# Front-end developers develop for...
A front-end developer typically uses front-end technologies to create HTML, CSS, and JS that run on one of the following operating systems:
- Windows
- Windows Phone
- OSX
- iOS
- Android
- Ubuntu (or some flavor of )
- Chromium
These operating systems typically run on one or more of the following devices:
- Desktop computer
- Laptop / Netbook computer
- Mobile phone
- Tablet
- TV
- Watch
- Things (i.e. anything you can imagine, car, refrigerator, lights, thermostat etc..)
![](https://box.kancloud.cn/2015-10-19_5624560b362fd.jpeg "https://ams-ix.net/newsitems/87")
image source: [https://ams-ix.net/newsitems/87](https://ams-ix.net/newsitems/87)
Generally speaking, front-end technologies can run on the aforementioned operating systems and devices using the following run time scenarios:
- A web browser (e.g. [Chrome, IE, Safari, Firefox](http://outdatedbrowser.com/en)) running from OS
- A [headless browser](https://en.wikipedia.org/wiki/Headless_browser) (e.g. [phantomJS](http://phantomjs.org/)) driven from a CLI running on OS
- A [WebView](http://wiki.awesomium.com/general-use/introduction-to-web-views.html)/browser embedded within a native application as a runtime with bridged to native API's. UI is all web based. (e.g. [Apache Cordova](https://cordova.apache.org/), [NW.js](http://nwjs.io/), [Electron](http://electron.atom.io/))
- A native application built from web tech that is interpreted at runtime with a bridge to native API's. UI is native based. (e.g. [NativeScript](https://www.nativescript.org/), [React Native](https://facebook.github.io/react-native/))
- Introduction
- What is a front-end developer?
- Part I: The front-end practice
- Front-end jobs titles
- Common web tech employed
- Front-end dev skills
- Front-end devs develop for...
- Front-end on a team
- Generalist myth
- Front-end interview questions
- Front-end job boards
- Front-end salaries
- How FD's are made
- Part II: Learning front-end dev
- Self directed learning
- Learn internet/web
- Learn web browsers
- Learn DNS
- Learn HTTP/networks
- Learn web hosting
- Learn general front-end dev
- Learn UI/interaction design
- Learn HTML & CSS
- Learn SEO
- Learn JavaScript
- Learn DOM, BOM & jQuery
- Learn web fonts
- Learn accessibility
- Learn web/browser API's
- Learn JSON
- Learn front-end app architecture
- Learn Interface/API design
- Learn web dev tools
- Learn command line
- Learn node.js
- Learn module loader
- Learn package managers
- Learn version control
- Learn build & task automation
- Learn site performance optimization
- Learn JS testing
- Learn headless browsers
- Learn offline dev
- Learn security
- Learn multi-thing dev (e.g. RWD)
- Directed learning
- front-end schools, courses, & bootcamps
- Front-end devs to learn from
- Newsletters, news, & podcasts
- Part III: Front-end dev tools
- General front-end dev tools
- SEO tools
- Prototyping & wireframing tools
- Diagramming tools
- HTTP/network tools
- Code editing tools
- Browser tools
- HTML tools
- CSS tools
- DOM tools
- JavaScript tools
- App (desktop, mobile, tablet etc..) tools
- Templating tools
- UI/widget tools
- JSON tools
- Testing framework tools
- Data storage tools
- Module/package loading tools
- Module/package repo. tools
- Web/cloud/static hosting tools
- Project management & code hosting
- Collaboration & communication tools
- CMS hosted/API tools
- BAAS (for front-end devs) tools
- Offline tools
- Security tools
- Tasking (aka build) tools
- Deployment tools
- Site/app monitoring tools
- JS error monitoring tools
- Performance tools