Giter Site home page Giter Site logo

fireonmac / lichobile Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lichess-org/lichobile

0.0 0.0 0.0 86.71 MB

lichess.org mobile application

Home Page: https://lichess.org/mobile

License: GNU General Public License v3.0

JavaScript 2.46% Ruby 0.15% C 0.01% Objective-C 0.02% Java 0.64% TypeScript 79.10% Swift 0.31% HTML 0.22% Stylus 17.00% Mustache 0.10%

lichobile's Introduction

Android build Lint and unit tests GitHub contributors GitHub All Releases GitHub

lichess mobile screenshots

Lichess mobile is the lichess.org official application. It is written in TypeScript, with a bit of Kotlin and Swift. It is a web application that accesses the native SDK, thanks to Ionic capacitor. The rendering library is mithril.js. It talks to a native Stockfish engine, supporting multiple variants, through a capacitor plugin. Multi-variant chess library is brought by a JavaScript version of scalachess.

Download

Get it on F-Droid Get it on Google Play

or get the APK from the Releases section

Required dependencies

Android:

  • in addition to capacitor dependencies, android ndk for stockfish compilation (to install with Android Studio).

Setup project

Make sure to install all dependencies:

$ npm install

Capacitor needs the web app before sync, so build it:

$ npm run build

Sync capacitor:

$ npx cap sync

Running in the browser

$ npm run serve

Will serve assets at http://localhost:8080. Once the server is up, browse to http://localhost:8080/www.

You should use a chromium based browser to be close to the android webview which is based on chrome.

Be sure to Toggle Device Mode or else you won't be able to click on anything.

Running in a device/emulator

Be sure to install all the dependencies and follow the steps above in the Setup project section.

In order to build Stockfish, you need to download the current stockfish plugin NNUE file and save it to the proper location for each platform:

$ npm run fetch-nnue

Android

Using command line:

$ npx cap run android

Using android studio:

$ npx cap open android

More information available here.

Free version

By default, the output APK will rely on Firebase Cloud Messaging to support push notifications. However, it is possible to remove this dependency if you don't care about push notifications.

To build the free version:

$ npm run patch-nonfree
$ npx cap update android
$ cd ./android
$ ./gradlew assembleDebug

iOS

You will need a GoogleService-Info.plist file in order to compile iOS project. You can download a dummy one from the firebase open-source project. Put it in the ios/App/App/ folder. Only debug builds are allowed with that example file. Push notifications won't work, but you will be able to run the app on a simulator just fine.

Using command line:

$ npx cap run ios

Using Xcode:

$ npx cap open ios

More information available here.

Advanced setup

See the wiki.

lichobile's People

Contributors

veloce avatar freefal avatar ornicar avatar jas14 avatar frankcalise avatar niklasf avatar happy0 avatar greatwolf avatar aldokkani avatar shabbychef avatar srimethan avatar manuelp2 avatar gilbsgilbs avatar burraabhishek avatar peutetre avatar izzysoft avatar neondactyl avatar duaner avatar isaacl avatar bapmrl avatar danielshaulov avatar ewanmellor avatar thuo avatar sepiropht avatar burnoo avatar tmutas avatar kraktus avatar gbtami avatar dsjoerg avatar dependabot[bot] 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.