Giter Club home page Giter Club logo

jcef's Introduction

The Java Chromium Embedded Framework (JCEF) is a simple framework for embedding Chromium-based browsers in other applications using the Java programming language.

Quick Links

Introduction

CEF is a BSD-licensed open source project founded by Marshall Greenblatt in 2008 and based on the Google Chromium project. Unlike the Chromium project itself, which focuses mainly on Google Chrome application development, CEF focuses on facilitating embedded browser use cases in third-party applications. CEF insulates the user from the underlying Chromium and Blink code complexity by offering production-quality stable APIs, release branches tracking specific Chromium releases, and binary distributions. Most features in CEF have default implementations that provide rich functionality while requiring little or no integration work from the user. There are currently over 100 million installed instances of CEF around the world embedded in products from a wide range of companies and industries. A partial list of companies and products using CEF is available on the CEF Wikipedia page. Some use cases for CEF include:

  • Embedding an HTML5-compliant Web browser control in an existing native application.
  • Creating a light-weight native “shell” application that hosts a user interface developed primarily using Web technologies.
  • Rendering Web content “off-screen” in applications that have their own custom drawing frameworks.
  • Acting as a host for automated testing of existing Web properties and applications.

CEF supports a wide range of programming languages and operating systems and can be easily integrated into both new and existing applications. It was designed from the ground up with both performance and ease of use in mind. The base framework includes C and C++ programming interfaces exposed via native libraries that insulate the host application from Chromium and Blink implementation details. It provides close integration between the browser and the host application including support for custom plugins, protocols, JavaScript objects and JavaScript extensions. The host application can optionally control resource loading, navigation, context menus, printing and more, while taking advantage of the same performance and HTML5 technologies available in the Google Chrome Web browser.

This project provides a Java Wrapper for CEF (JCEF).

Building JCEF

The JCEF project is an extension of the Chromium Embedded Framework (CEF) project hosted at https://bitbucket.org/chromiumembedded/cef/. JCEF maintains a development branch that tracks the most recent CEF3 release branch. JCEF source code can be downloaded, built and packaged into a binary distribution. Once you have created the binary distribution for your platform you can distribute it as a stand-alone package without further dependencies on the JCEF, CEF or Chromium source code. Visit the BranchesAndBuilding Wiki page for detailed instructions.

Helping Out

JCEF is still very much a work in progress. Some ways that you can help out:

- Vote for issues in the JCEF issue tracker that are important to you. This helps with development prioritization.

- Report any bugs that you find or feature requests that are important to you. Make sure to first search for existing issues before creating new ones. Please use the JCEF Forum and not the issue tracker for usage questions. Each JCEF issue should:

  • Include the JCEF revision, CEF revision or binary distribution version.
  • Include information about your OS and compiler version.
  • If the issue is a bug please provide detailed reproduction information.
  • If the issue is a feature please describe why the feature is beneficial.

- Write unit tests for new or existing functionality.

- Pull requests and patches are welcome. View open issues in the JCEF issue tracker or search for TODO(cef) in the source code for ideas.

If you would like to contribute source code changes to JCEF please follow the below guidelines:

- Create or find an appropriate issue for each distinct bug, feature or change.

- Submit a pull request or create a patch with your changes and attach it to the JCEF issue. Changes should:

  • Be submitted against the current JCEF master branch unless explicitly fixing a bug in a CEF release branch.
  • Follow the style of existing JCEF source files. In general JCEF uses the Chromium coding style.
  • Include new or modified unit tests as appropriate to the functionality.
  • Not include unnecessary or unrelated changes.

jcef's People

Contributors

ahri avatar artemm-bochkarev avatar esayapina avatar fg185036 avatar forantar avatar frankdekker avatar friwidev avatar guusdk avatar harmfulbreeze avatar hugoboffin avatar jjlauer avatar joejensen avatar leesnhyun avatar magreenblatt avatar maxsenft avatar nikitkocent avatar s1artie avatar shalupov avatar smac89 avatar soscomp avatar throwable-one avatar vladrassokhin avatar yaaz avatar yazgoo 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.