Code Monkey home page Code Monkey logo

devtools-core-spec's Introduction

DevTools Core Protocol Specification

Specification for the DevTools Core Protocol.

The proposal

This is a proposal to introduce a DevTools Core Protocol Specification based on common and public API's that exposed by Chromium. These API's already are used and deployed on a broad variety of devices, and should give new implementors (ex: Microsoft, Mozilla, Facebook) a stable set of API's as an implemetation target. While giving existing implementors (Google, Apple) a head-start without pushing additional commitments on their shoulders, as the API's already committed to through their public and non-experimental nature.

This proposal is more casual in it's current state, but I imagine a traditional non normative W3C-style document could be written up over time.

The API starting point

This specification contains a protocol.json generated by the generate-core-protocol script which grabs the Chrome's CDP 1.2 protocol.json files, and generates the command, event and type objects which are marked as non deprecared or experimental.

The proposal is to use the output as the starting point for this DevTools Core Protocol Specification.

Core Protocol

The intent here is to establish a DevTools Core Protocol Specification, that serves as the minimim implementation, where addtional specifications can be added on top. Think of a similar model as the CSS Specifications with CSS level 1, CSS level 2, etc.

In the future specifications like "DevTools Time Travel Debugging" could be imagined.

Proposing new APIs and changes

We should adapt a simiar approach to how the Service Worker specification came to life, by using GitHub to manage issues, commits and revisions of the specification.

Protocol & transport

The RemoteDebug DevTools Core Protocol is based on JSON-RPC as the underlaying protocol, and the protocol is in it's nature transport agnostic, but WebSockets are widly used in today's implementations.

Documentation

The current protocol.json file can be viewed via the RemoteDebug Compatibility Tables, where it can be browsed and compared to other runtimes.

devtools-core-spec's People

Contributors

auchenberg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

devtools-core-spec's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.