Giter Site home page Giter Site logo

status-im / react-native-desktop-qt Goto Github PK

View Code? Open in Web Editor NEW
1.2K 88.0 86.0 111.96 MB

A Desktop port of React Native, driven by Qt, forked from Canonical

JavaScript 56.04% Makefile 0.02% HTML 0.09% Ruby 0.11% C 0.30% C++ 38.60% Shell 0.22% Batchfile 0.07% CMake 1.45% QML 3.08% Starlark 0.03%

react-native-desktop-qt's Introduction

⚠️⚠️⚠️

React Native Desktop project support stopped..


Cross-platform React Native Desktop port based on Qt framework.

Supported operating systems:

  • Linux (checked with Ubuntu >= 16.04 LTS)
  • Mac OS (checked with Mac OS X versions)
  • Windows

Apps using react-native-desktop

Documentation

Getting started

Creating your own app

Debugging react-native-desktop apps

To access In-App Developer Menu press CTRL+R (Command+R).
In-App Developer Menu is available in Debug builds.

Contributing

Any kind of contribution is welcome! Check the list of opened issues or create new one.

Docs you may find helpful:

ClojureScript React Native apps support

Re-Natal fork extended with desktop platform support.

License

React Native Desktop is provided under BSD licensed.

react-native-desktop-qt's People

Contributors

amasad avatar andreicoman11 avatar astreet avatar bestander avatar brentvatne avatar cpojer avatar davidaurelio avatar foghina avatar frantic avatar gabelevi avatar ide avatar janicduplessis avatar javache avatar kmagiera avatar lexs avatar majak avatar martinbigio avatar maxhora avatar mhorowitz avatar mikearmstrong001 avatar mkonicek avatar nicklockwood avatar philikon avatar sahrens avatar satya164 avatar sophiebits avatar sunnylqm avatar tadeuzagallo avatar vjeux avatar vkjr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-native-desktop-qt's Issues

Switch to Yoga layout engine

React Native Linux currently uses layout engine implemented in Layout.c and Layout.h files. It looks like it was default engine for React Native when Canonical wrote the code.

Currently React Native uses Yoga layout engine, so we need to switch to it in order to provide the same layout behavior.

TicTacToe header text in a wrong position

Description

TicTacToe app window has a header text EXTREME T3 that should be at the top accordingly to javascript code:

return (
      <View style={styles.container}>
        <Text style={styles.title}>EXTREME T3</Text>
        <View style={styles.board}>
          {rows}
        </View>
        <GameEndOverlay
          board={this.state.board}
          onRestart={this.restartGame}
        />
      </View>
    );

But in react-native-qt it draws at the bottom:
screen shot 2017-08-17 at 6 25 32 pm

RedBox doesn't work

RedBox should show information about current error and stack trace.
Need to be fixed.

<Image> fails to load from base64 source

Description

<Image> works well with url as a source, but doesn't work with base64 uir. The example of code listed below works well on react native for ios but not for Linux

Code example

var base64Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAQAAACSR7JhAAADtUlEQVR4Ac3YA2Bj6QLH0XPT1Fzbtm29tW3btm3bfLZtv7e2ObZnms7d8Uw098tuetPzrxv8wiISrtVudrG2JXQZ4VOv+qUfmqCGGl1mqLhoA52oZlb0mrjsnhKpgeUNEs91Z0pd1kvihA3ULGVHiQO2narKSHKkEMulm9VgUyE60s1aWoMQUbpZOWE+kaqs4eLEjdIlZTcFZB0ndc1+lhB1lZrIuk5P2aib1NBpZaL+JaOGIt0ls47SKzLC7CqrlGF6RZ09HGoNy1lYl2aRSWL5GuzqWU1KafRdoRp0iOQEiDzgZPnG6DbldcomadViflnl/cL93tOoVbsOLVM2jylvdWjXolWX1hmfZbGR/wjypDjFLSZIRov09BgYmtUqPQPlQrPapecLgTIy0jMgPKtTeob2zWtrGH3xvjUkPCtNg/tm1rjwrMa+mdUkPd3hWbH0jArPGiU9ufCsNNWFZ40wpwn+62/66R2RUtoso1OB34tnLOcy7YB1fUdc9e0q3yru8PGM773vXsuZ5YIZX+5xmHwHGVvlrGPN6ZSiP1smOsMMde40wKv2VmwPPVXNut4sVpUreZiLBHi0qln/VQeI/LTMYXpsJtFiclUN+5HVZazim+Ky+7sAvxWnvjXrJFneVtLWLyPJu9K3cXLWeOlbMTlrIelbMDlrLenrjEQOtIF+fuI9xRp9ZBFp6+b6WT8RrxEpdK64BuvHgDk+vUy+b5hYk6zfyfs051gRoNO1usU12WWRWL73/MMEy9pMi9qIrR4ZpV16Rrvduxazmy1FSvuFXRkqTnE7m2kdb5U8xGjLw/spRr1uTov4uOgQE+0N/DvFrG/Jt7i/FzwxbA9kDanhf2w+t4V97G8lrT7wc08aA2QNUkuTfW/KimT01wdlfK4yEw030VfT0RtZbzjeMprNq8m8tnSTASrTLti64oBNdpmMQm0eEwvfPwRbUBywG5TzjPCsdwk3IeAXjQblLCoXnDVeoAz6SfJNk5TTzytCNZk/POtTSV40NwOFWzw86wNJRpubpXsn60NJFlHeqlYRbslqZm2jnEZ3qcSKgm0kTli3zZVS7y/iivZTweYXJ26Y+RTbV1zh3hYkgyFGSTKPfRVbRqWWVReaxYeSLarYv1Qqsmh1s95S7G+eEWK0f3jYKTbV6bOwepjfhtafsvUsqrQvrGC8YhmnO9cSCk3yuY984F1vesdHYhWJ5FvASlacshUsajFt2mUM9pqzvKGcyNJW0arTKN1GGGzQlH0tXwLDgQTurS8eIQAAAABJRU5ErkJggg==';

export default class ImageReactNative extends Component {
  render() {
    return (
      <Image
          style={{width: 50, height: 50}}
          source={{uri: base64Icon, scale: 3}}
        />
    );
  }
}

Cover supported React Native modules with unit tests

List of currently supported internal modules:

ReactTiming,
ReactAppState,
ReactAsyncLocalStorage,
ReactNetworking,
ReactNetInfo,
ReactViewManager,
ReactRawTextManager,
ReactTextManager,
ReactImageManager,
ReactExceptionsManager,

'Unrecognized platform: ubuntu' error

Currently react-native-linux should be manually patched after npm install, other wise 'unrecognized platform: ubuntu' error appears.

From @Maxris comment to pull-request:

Because react-native packager module was moved into separate node package along with separate git repo, to run application it's required manually edit {clone_root}/node_modules/metro-bundler/src/defaults.js by adding ubuntu platform into the list. Patch file is attached. add-ubuntu-platform.zip

This has to be somehow fixed. For example by proposing change to that module. Or by forking it and using fork via sinopia.

Revise repository files and directories structures/placement

Files and directories should be revised and maybe restructured.
We possibly don't want to keep in repository source code files related to iOS and Android native modules (Objective-C and Java sources), builds configuration files of others organizations, not relevant docs and so on.

Crash on TicTacToe new game

Steps to reproduce

  1. Run TicTacToe
  2. Finish current game
  3. press 'new game'

Crash appears on the original 'react-native-linux' branch before merging with latest 'react-native'. Need to be checked after merge.

Resolve linting errors

Running of npm run lint on directory with react-native is reporting numerous errors.
Linting should run without errors and added to be run with CircleCI.

Resolve flow tests errors

Running of npm run flow on directory with react-native is reporting numerous errors.
flow tests should run without errors and added to be run with CircleCI.

Automate validation of qml code formatting

There is no official command line tool to support auto formatting of QML source code files.
But Qt Creator provides some built-in functionality for auto formatting of QML code.
Qt Creator's built-in functionality was reused to create command line tool qmlfmt ( https://github.com/jesperhh/qmlfmt ). It should be possible to use qmlfmt tool to do auto formatting of QML source code files and also to automate validation of qml code on PRs.

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.