Git Product home page Git Product logo

browserhtml's Introduction

This project has been retired: https://groups.google.com/d/msg/mozilla.dev.servo/U5zhsBLXovM/HbRL69zZBAAJ


Browser.html

Browser.html is a research project aimed at building an experimental Servo browser in HTML. This project has 2 major pieces:

  • Graphene: a runtime for building native apps in HTML. It's currently in development and part of Servo.
  • Browser.html: an experimental browser UI for desktop.

This repository is for Browser.html (the front-end). Active development of Graphene happens in the Servo repository. Questions? Check out the FAQ.

browser

Contributing

We welcome contributions from anyone. See CONTRIBUTING.md for help getting started.

Development

There are two major components to the browser.html application.

  1. Local server that serves application UI.
  2. Client that is a application shell that connects to the server and renders served UI.

Server

If you're working on the Browser.html front-end, you'll need Node.js to install all dependencies and run the development toolchain.

git clone https://github.com/browserhtml/browserhtml.git
cd browserhtml
npm install --no-optional

Once all dependencies are installed, you can run the server component with the following command:

npm run build-server

Any changes to the source code will trigger a build, which is then automatically served. That will allow you to reload a client in order to see your changes. Alternatively you can use live-server to not only rebuild, but also trigger an automatic live code reload for the UI such that application state is preserved:

npm run live-server

Client

In order to run the browser.html application itself, you will need a client component. This would be a Servo binary with the Graphene runtime. You can either download pre-built nightly snapshots or build it yourself and run with the --browserhtml flag. Assuming you have a pre-built snapshot in the default location on a Mac you can run the browser.html application with the following command:

 /Applications/Servo.app/Contents/MacOS/servo -b -w --pref dom.mozbrowser.enabled --pref dom.forcetouch.enabled --pref shell.builtin-key-shortcuts.enabled=false http://localhost:6060

Gecko Client

Browser.html can also be run on top of a Gecko-based version of Graphene. We used to use this variant to test and debug features that were not yet in Servo. You can either download pre-built nightly snapshots or build it yourself. Assuming you have a pre-built snapshot in default location on a Mac you can run the browser.html application with the following command:

/Applications/B2G.app/Contents/MacOS/b2g-bin --start-manifest=http://localhost:6060/manifest.webapp --profile ./.profile

Electron Client

Browser.html can also run as an Electron application. Assuming you have electron installed you can run the browser.html application with the following command (must be run from the project root):

electron .

Browser Client

You can also just load http://localhost:6060/ in your favourite web browser, but be aware that many features will not work because they require APIs not available to web content.

browserhtml's People

Contributors

andreasgal avatar atouchet avatar cbrewster avatar chrmod avatar coder206 avatar d3jawu avatar donaldpipowitch avatar evilpie avatar fabricedesre avatar ferndot avatar gitter-badger avatar gordonbrander avatar gozala avatar gsiddardha avatar kevingrandon avatar kevinji avatar magopian avatar meehow avatar metajack avatar michaelkohler avatar notriddle avatar ochameau avatar onurtemizkan avatar palmeral avatar paulrouget avatar pquentin avatar renatodeleao avatar theefer avatar tschneidereit avatar vvuk avatar

Watchers

 avatar

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.