Code Monkey home page Code Monkey logo

cef.swift's Introduction

CEF.swift

Carthage compatible

Swift bindings for the Chromium Embedded Framework.

Requirements

Xcode 10.1, Swift 4.2 (see notes below)
Supported target platforms: macOS 10.9+

Required tools: jq, xcpretty, lxml
To set up your environment:

$ brew install jq
$ gem install xcpretty
$ pip install lxml

How to build

The easy way

You can now build CEF.swift using Carthage. Just add the following line to your Cartfile:

github "lvsti/CEF.swift" "<branch_specifier>"

(For the branch_specifier, see the notes on branches below.)

Note that the bootstrap build will take quite some time as CEF.swift has to fetch and build external dependencies as well.

The oldschool way
  1. fetch this repo
  2. switch to the appropriate branch in CEF.swift to match the CEF distribution (see notes below)
  3. run scripts/setup.sh from the repo root
  4. now you are ready to compile the CEF.swift framework

CEF branches

CEF is developed on multiple branches simultaneously, which differ in API and functionality (see Spotify OpenSource and ChromeStatus). CEF.swift aims at supporting the current stable release branch and a couple more of earlier releases. For any CEF branch NNNN, the corresponding CEF.swift branch is named cef_NNNN.

Currently supported branches:

  • 3904 (Chrome 78) Build Status - Swift 4.2
  • 3865 (Chrome 77) Build Status - Swift 4.2
  • 3809 (Chrome 76) Build Status - Swift 4.2
  • 3770 (Chrome 75) Build Status - Swift 4.2

Archived branches (not maintained anymore):

  • 3729, 3683, 3626, 3578, 3538 - Swift 4.2
  • 3497, 3440, 3396, 3359, 3325, 3282, 3239, 3202, 3163 - Swift 4.1
  • 3112, 3071, 3029, 2987, 2924, 2883, 2840, 2785, 2743, 2704 - Swift 3.0
  • 2623, 2526, 2454, 2357 - Swift 2.3

Getting started

Check out the (pretty skinny) CEFDemo app under Samples/CEFDemo to get the basic idea of how a CEF-based app should look like. For more inspiration, take a look at the cefsimple and cefclient apps shipped with the CEF binary distribution.

If you get stuck

CEF.swift is just a (partial) language wrapper around CEF. Once you can get a webpage to load, you are pretty much set on the integration side. If, later on, you bump into a problem, you should first go and check the official CEF forum for guidance unless it is clearly a flaw in the Swift bindings themselves (in which case please create an issue here).

Disclaimer

This project is incomplete, untested, and most likely unstable, so use it at your own risk. Bug reports and suggestions are welcome though.

cef.swift's People

Contributors

jansauer avatar lvsti 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.