Giter VIP home page Giter VIP logo

cross-platform-app-dev-demo's Introduction

Cross-platform application development Demo

Supporting repo for the Cross Platform App Development at scale presentation by Addison Global. You can find the presentation slides here: http://slides.com/joaocamposribeiro/cross-platform-app-dev-demo

Getting Started

  1. Install yarn package manager https://yarnpkg.com/en/docs/install

  2. Install the project dependencies

yarn install
  1. Install all packages dependencies
yarn bootstrap

Running the applications

Backend

Runs the todo service backend which is required for the apps to function correctly

yarn backend

Native

Starts the native app

cd apps/native-demo && yarn start

Web

Starts the web app

cd apps/web-demo && yarn start

Other tasks

Linting

Validates the codebase against Addison Global frontend code standards

yarn lint

Typechecking

Typechecks the codebase using flow type

yarn typecheck

Monorepo

Exposes tasks related to the maintenance of the monorepo. Check LernaJS docs for more information: https://github.com/lerna/lerna#commands

# example to clean the node modules on each of the monorepos packages
yarn lerna clean

Coding Standards

This project uses the base Javascript coding standards defined by Airbnb. Apart from those, we enforce a few other rules:

  • (Error) 4 space indentation
  • (Error) 120 chars for max line length
  • (Warning) Maximum cyclomatic complexity of 3 - This is to flag potential code that could be prune to improvements on a PR level. All developers should take this into account and the code complexity should be kept under the limit unless a reasonable justification exists.
  • No jsx file extension is required

Flowtype

Flowtype coding standards aim to provide a consistent and unified way to write both JS and type definitions respecting the same rules for comma dangles, spacing, etc. A few rules are worth explaining in more detail:

  • no-weak-types Prevents the use of weak types - any, Object, Function - which cause flowtype to stop checking for type errors. This obviously undermines the value of using type checking and as such is discouraged. Type inference - __ - is recommended instead*. Currently only a warning is emitted and care should be taken during the review process.

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.