/boardz-cross-platform-sample

Sample application for demonstrating various aspects of modern cross-platform applications - using Angular 2, Cordova, Electron & gulp. With a .NET Web API & SignalR backend.

Primary LanguageJavaScriptMIT LicenseMIT

Sample application for various “Cross-Platform HTML5 – in Action!” workshops

Setup

  • Download and install the platform SDKs and/or emulators for the platform you want to develop for (this might take quite a while… so do this first!)
  • Download and install node.js
  • Make sure you have the git command line tools installed
  • Install and install ImageMagick (base toolkit for image processing, here used for splash screen and icon generation)
  • Install Cordova: npm install -g cordova
  • Install gulp: npm install -g gulp
  • MacOSX and Linux users need to install Wine (for executing the Electron Windows build task)
  • Download and install Atom or another editor of your choice (free: notepad, Visual Studio Code; commercial: Sublime Text, WebStorm)

Building

The gulp tasks will build iOS, Windows UWP, Android apps as well as desktop applications for Mac OSX, Windows and Linux. To get it working, please do the following:

  • After cloning the repo: npm i --no-progress within the root folder of this repository
  • Run gulp watch-web to start a live server, which is best when developing the app
  • Run gulp watch-cordova-ios to orchestrate the cordova ios app with live reloading. When this task runs, go to dist/mobile and use cordova run ios to open a simulator which will live reload.
  • Run gulp watch-electron to start a live reloading electron app
  • Run gulp to build the web app
  • Release Mode: Use the following gulp tasks to build the apps in release mode
    • Run gulp build-all to build all apps in debug mode
    • Run gulp build-web to build the web app
    • Run gulp build-cordova to build all phone related apps
    • Run gulp build-electron to build all desktop related apps

Running

Web

Use gulp watch-web as mentioned above to start the browser version of BoardZ.

Cordova

To run the cordova project, open a terminal and point it to dist/mobile. Use one of the following commands to start:

  • cordova run ios: Runs the iOS version of BoardZ. Requires a Mac
  • cordova run android: Runs the Android version of BoardZ. Requires Android SDK to be installed and at least a simulator

If a device is connected, the run command will automatically deploy the App to your device, so you can start it directly on your device.

Electron

To start the electron packaged app, go to dist/desktop/build and open one of the directories suiting your current operating system. Then open the executable as used to.

Supported platforms

  • Any modern web browser (Chrome, Firefox, Edge, Safari) by simply hosting it
  • Mobile platforms (iOS, Android, Windows) by packaging the app using Cordova
  • Desktop platforms (Windows, Mac OS X, Linux) by packaging the app using Electron

Android Settings

SDK version

If you want to change Android's SDK version, open cordova/config.xml and search for android-minSdkVersion or android-targetSdkVersion:

  • android-minSdkVersion: An integer designating the minimum API Level required for the application to run.
  • android-targetSdkVersion: An integer designating the API Level that the application targets. If not set, the default value equals that given to minSdkVersion.

Third-Party Libraries

JavaScript, CSS

Native Wrappers

Additional Resources