{{Short description|Software used to help develop a website or web application}} [[File:Firefox dev tools.jpg |thumb|300px|The Wikipedia Main Page being inspected using Firefox]]
'''Web development tools''' (often abbreviated to '''dev tools''') allow web developers to test, modify and debug their websites. They are different from website builders and integrated development environments (IDEs) in that they do not assist in the direct creation of a webpage, rather they are tools used for testing the user interface of a website or web application.
Web development tools come as browser add-ons or built-in features in modern web browsers. Browsers such as Google Chrome, Firefox, Safari, Microsoft Edge, and Opera have built-in tools to help web developers, and many additional add-ons can be found in their respective plugin download centers.
Web development tools allow developers to work with a variety of web technologies, including HTML, CSS, the DOM, JavaScript, and other components that are handled by the web browser.
==History and support== Early web developers manually debugged their websites by commenting out code and using JavaScript functions. One of the first browser debugging tools to exist was Mozilla's Firebug extension, which possessed many of the current core features of today's developer tools, leading to Firefox becoming popular with developers at the time. Safari's WebKit engine also introduced its integrated developer tools around that period, which eventually became the basis for both Safari and Chrome's current tooling.<ref name="safari history"/><ref name="chrome history"/><ref name="odell"/> Microsoft released a developer toolbar for Internet Explorer 6 and 7; and then integrated them into the browser from version 8 onwards.<ref name="ie devtools"/><ref name="ie toolbar"/> In 2017, Mozilla discontinued Firebug in favour of integrated developer tools.<ref name="firebug end"/>
Nowadays, all modern web browsers have support for web developer tools that allow web designers and developers to look at the make-up of their pages. These are all tools that are built into the browser and do not require additional modules or configuration.<ref name="mdn"/>
* Firefox – {{Key press|F12}} opens the Firefox DevTools.<ref name="ff"/> * Google Chrome and Opera – Developer Tools (DevTools)<ref name="chrome devtools"/><ref name="opera devtools"/> * Microsoft Edge – {{Key press|F12}} opens Web Developer Tools.<ref name="edge devtools"/><ref name="edge overview"/> Microsoft incorporates additional features that are not included in mainline Chromium.<ref name="smashing 2"/> * Safari – The Safari Web Inspector has to be enabled from its settings pane.<ref name="safari inspector"/><ref name="safari enable"/><ref name="odell"/>
==Features== The built-in web developer tools in the browser are commonly accessed by hovering over an item on a webpage and selecting the "Inspect Element" or similar option from the context menu. Alternatively the {{Key press|F12}} key tends to be another common shortcut.<ref name="mdn"/>
===HTML and the DOM=== HTML and DOM viewer and editor is commonly included in the built-in web development tools. The difference between the HTML and DOM viewer, and the view source feature in web browsers is that the HTML and DOM viewer allows you to see the DOM as it was rendered in addition to allowing you to make changes to the HTML and DOM and see the change reflected in the page after the change is made.<ref name="pearson"/><ref name="odell"/><ref name="mdn"/>
In addition to selecting and editing, the HTML elements panels will usually also display properties of the DOM object, such as display dimension, and CSS properties.<ref>{{Cite web|url=https://developers.google.com/chrome-developer-tools/docs/elements |title=Inspect and Edit Pages and Styles {{!}} Tools for Web Developers|website=Google Developers|language=en|access-date=2018-09-06}}</ref>
Firefox, Safari, Chrome, and Edge all allow users to simulate the document on a mobile device by modifying the viewport dimensions and pixel density.<ref name="smashing"/> Additionally, Firefox and Chrome both have the option to simulate colour blindness for the page.<ref name="verge"/>
===Web page assets, resources and network information=== Web pages typically load and require additional content in the form of images, scripts, font and other external files. Web development tools also allow developers to inspect resources that are loaded and available on the web page in a tree-structure listing, and the appearance of style sheets can be tested in real time.<ref>{{Cite web|url=https://developers.google.com/chrome-developer-tools/docs/resources|title=Resources Panel - Google Chrome |website=Chrome Developers |access-date=2018-09-06}}</ref><ref>{{Cite web|url=https://blog.mozilla.org/blog/2012/10/09/firefox-debuts-new-developer-toolbar/|title=Firefox Debuts New Developer Toolbar|website=The Mozilla Blog|language=en-US|access-date=2018-09-06}}</ref><ref name="mdn"/>
Web development tools also allow developers to view information about the network usage, such as viewing what the loading time and bandwidth usage are and which HTTP headers are being sent and received.<ref>{{Cite web|url=https://developers.google.com/chrome-developer-tools/docs/network|title=Measure Resource Loading Times {{!}} Tools for Web Developers|website=Google Developers|language=en|access-date=2018-09-06}}</ref> Developers can manipulate and resend network requests.<ref name="reg"/><ref name="smashing"/>
===Profiling and auditing=== Profiling allows developers to capture information about the performance of a web page or web application. With this information developers can improve the performance of their scripts. Auditing features may provide developers suggestions, after analyzing a page, for optimizations to decrease page load time and increase responsiveness. Web development tools typically also provide a record of the time it takes to render the page, memory usage, and the types of events which are taking place.<ref>{{Cite web|url=https://developers.google.com/chrome-developer-tools/docs/profiles|title=Profiles Panel - Google Chrome|website=developers.google.com|access-date=2018-09-06}}</ref><ref>{{Cite web|url=http://msdn.microsoft.com/en-us/library/hh180764(v=vs.85).aspx|title=F12 developer tools console error messages (Windows)|last=McCormick|first=Libby|website=msdn.microsoft.com|date=3 March 2016 |language=en-us|access-date=2018-09-06}}</ref><ref name="odell"/>
These features allow developers to optimize their web page or web application.<ref>{{Cite web|url=http://msdn.microsoft.com/en-us/library/gg699341(v=vs.85).aspx|title=Using the Profiler Tool to analyze the performance of your code (Windows)|last=McCormick|first=Libby|website=msdn.microsoft.com|date=3 March 2016 |language=en-us|access-date=2018-09-06}}</ref>
====JavaScript debugging==== JavaScript is commonly used in web browsers.<ref name="pearson"/> Web development tools commonly include a debugger panel for scripts by allowing developers to add watch expressions, breakpoints, view the call stack, and pause, continue, and step while debugging JavaScript.<ref name="mdn"/><ref name="odell"/>
A console is also often included, which allow developers to type in JavaScript commands and call functions, or view errors that may have been encountered during the execution of a script.<ref name="mdn"/><ref name="odell"/><ref name="pearson"/>
===Extensions=== The <code>devtools</code> API allows browser extensions to add their own features to developer tools.<ref name="infoworld"/><ref name="devtools api"/>
==See also== * Lists of programming software development tools * Web development life cycle
==References== <references>
<ref name="safari enable">{{cite web |title=Enabling features for web developers |url=https://developer.apple.com/documentation/safari-developer-tools/enabling-developer-features |website=Apple Developer Documentation |access-date=13 February 2024}}</ref> <ref name="safari inspector">{{cite web |title=Web Inspector |url=https://developer.apple.com/documentation/safari-developer-tools/web-inspector |website=Apple Developer Documentation |access-date=13 February 2024}}</ref>
<ref name="ie devtools">{{Cite web|url=http://msdn.microsoft.com/en-us/library/ie/hh673541(v=vs.85).aspx|title=F12 Developer Tools (Windows)|last=McCormick|first=Libby|website=msdn.microsoft.com|date=3 November 2017 |language=en-us|access-date=2018-09-06}}</ref> <ref name="ie toolbar">{{cite web | url = http://www.betanews.com/article/Microsoft_Releases_IE_Developer_Toolbar/1178822985 | title = Microsoft Releases IE Developer Toolbar | date = 10 May 2007 | access-date=2007-05-11}}</ref> <ref name="edge devtools">{{cite web |title=Microsoft Edge DevTools documentation |url=https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/landing/ |website=Microsoft Learn |access-date=2023-07-05}}</ref> <ref name="edge overview">{{cite web |title=Overview of DevTools - Microsoft Edge Development |url=https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/overview |website=Microsoft Learn |access-date=13 February 2024 |language=en-us |date=7 December 2023}}</ref>
<ref name="chrome devtools">{{cite web |title=Chrome DevTools |url=https://developer.chrome.com/docs/devtools/ |website=Chrome Developers |access-date=2023-07-05}}</ref> <ref name="opera devtools">{{cite web |title=Explore advanced features: Streamline development with developer tools |url=https://help.opera.com/en/opera36/explore-advanced-features/#developerTools |website=Opera help |access-date=2023-07-05}}</ref>
<ref name="mdn">{{cite web |title=What are browser developer tools? |url=https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Tools_and_setup/What_are_browser_developer_tools |website=MDN |publisher=Mozilla Corporation |access-date=2023-07-05}}</ref> <ref name="devtools api">{{cite web |title=devtools - Mozilla {{!}} MDN |url=https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/devtools |website=developer.mozilla.org |access-date=13 February 2024 |date=10 August 2023}}</ref>
<ref name="ff">{{cite web |title=Firefox DevTools User Docs |url=https://firefox-source-docs.mozilla.org/devtools-user/index.html |website=Firefox Source Docs |access-date=2023-07-05}}</ref>
<ref name="safari history">{{cite web |last1=Hatcher |first1=Timothy |title=10 Years of Web Inspector |url=https://webkit.org/blog/5718/10-years-of-web-inspector/ |website=WebKit |access-date=13 February 2024 |date=16 January 2016}}</ref> <ref name="chrome history">{{cite web |title=10 Years of Chrome DevTools |url=https://blog.chromium.org/2018/09/10-years-of-chrome-devtools.html |website=Chromium Blog |access-date=13 February 2024 |language=en}}</ref> <ref name="firebug end">{{cite web |title=Saying Goodbye to Firebug – Mozilla Hacks - the Web developer blog |url=https://hacks.mozilla.org/2017/10/saying-goodbye-to-firebug/ |website=Mozilla Hacks – the Web developer blog |access-date=13 February 2024}}</ref>
<ref name="infoworld">{{cite web |last1=Bisson |first1=Simon |title=Developer tools in the new Microsoft Edge |url=https://www.infoworld.com/article/3526412/developer-tools-in-the-new-microsoft-edge.html |website=InfoWorld |access-date=13 February 2024 |language=en |date=11 February 2020}}</ref> <ref name="reg">{{cite web |last1=Claburn |first1=Thomas |title=Google adds 16 features to Chrome 117 Developer Tools |url=https://www.theregister.com/2023/08/17/chrome_117_developer_tools/ |website=The Register |access-date=13 February 2024 |language=en}}</ref> <ref name="smashing">{{cite web |last1=Brosset |first1=Patrick |title=Useful DevTools Tips and Tricks |url=https://www.smashingmagazine.com/2023/06/popular-devtools-tips/ |website=Smashing Magazine |language=en |date=27 June 2023}}</ref>
<ref name="odell">{{cite book |last1=Odell |first1=Den |title=Pro JavaScript development: coding, capabilities, and tooling |date=2014 |publisher=Apress / Springer |location=New York, NY |isbn=978-1-4302-6269-5 |pages=423–437 |chapter=Browser Developer Tools}}</ref> <ref name="smashing 2">{{cite web |last1=Brosset |first1=Patrick |title=What’s New With DevTools: Cross-Browser Edition |url=https://www.smashingmagazine.com/2021/09/devtools-cross-browser-edition/ |website=Smashing Magazine |access-date=13 February 2024 |language=en |date=7 September 2021}}</ref> <ref name="verge">{{cite web |last1=Lyles |first1=Taylor |title=Google now allows devs to view visual limitations in its Chrome dev tools. |url=https://www.theverge.com/2020/3/11/21174735/google-chrome-dev-tools-new-color-blind-friendly |website=The Verge |access-date=13 February 2024 |language=en |date=11 March 2020}}</ref>
<ref name="pearson">{{cite book |last1=Chinnathambi |first1=Kirupa |title=JavaScript Absolute Beginner's Guide |date=6 July 2016 |publisher=Pearson Education |isbn=978-0-134-49862-1}}</ref>
</references>
{{Authority control}}
Category:Programming tools Category:Web development