Template for live coding is in live-coding-template branch.
- NodeJS NodeJS
npm i -g node-static
Installation of a web server- Git-Client (GitHub for Desktop)
- Postman https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop
- WebStorm
- 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
- Download and install Atom or another editor of your choice (free:
notepad
, Visual Studio Code; commercial: Sublime Text, WebStorm)
The gulp task will build iOS, Windows Phone, Android phone apps as well as desktop apps for Mac OSX, Windows and Linux. To get it working, please do the following:
- Only after cloning the repo:
npm i
within the root folder of this repository - Live reloads:
- Run
gulp dev:livereload
to start a live server, which is best when developing the app - Run
gulp nwjs:watch
and withinnwjs
-foldernw .
for nwjs live reloading - Run
gulp cordova:watch:ios
and within the cordova foldercordova run ios
for cordova live reloading (only works for iOS, not for Android or Windows Phone)
- Run
- Run
gulp
to build all apps in release mode (will executegulp build:all:release
) - Debug Mode: Use the following gulp tasks to build the apps in debug mode
- Run
gulp build:all
to build all apps in debug mode - Run
gulp dist:default
to build the web app in (and usestatic
within the dist/ folder to explore the app) - Run
gulp cordova:default
to build all phone related apps - Run
gulp nwjs:default
to build all desktop related apps
- Run
- Release Mode: Use the following gulp tasks to build the apps in release mode
- Run
gulp build:all:release
to build all apps in debug mode - Run
gulp dist:release
to build the web app in (and usestatic
within the dist/ folder to explore the app) - Run
gulp cordova:release
to build all phone related apps - Run
gulp nwjs:release
to build all desktop related apps
- Run
- To login just use username = password (eg. user: bob, password: bob).
- If you don't want to use the Azure Web API, you can run the server by yourself by starting the BoardGame.Host project with Visual Studio and change the url within the AngularJS app. The server will run on port 8080.
- If starting the server leads into a TargetInvocationException, you'll need to add a url to your urlacl settings by executing the following command (on Windows :)) in an elevated command line:
netsh http add urlacl url=http://+:9090/ user=your_user_name
- 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 NW.js
- AngularJS, JavaScript framework — HTML enhanced for web apps!
- Angular Translate, i18n for AngularJS apps, made easy
- Angular Translate Static File Loader, loading translation from static json files
- UI Router, AngularJS routing framework
- ngSanitize, service for sanitation
- ngAnimate, service for animatio
- ngNotify, simple, lightweight module for displaying notifications
- Angular Loading Bar, an automatic loading bar
- Bootstrap, responsive layout framework
- AdminLTE, free responsive dashboard template
- Font Awesome, free icon font
- jQuery, JavaScript library required for AdminLTE
- winstore-jscompat, fixes jQuery issues with Windows (Phone) 8 and 8.1 platforms
- FastClick, eliminates the infamous 300 ms lag on touch devices
- three.js, JavaScript library for WebGL and 3D content
- Touch Polyfill, adds touch event support to Internet Explorer 11/Windows (Phone) 8.1
- Leaflet, an open-source JavaScript library for mobile-friendly interactive maps
- Angular Leaflet Directive, Leaflet directive for AngularJS
- Cordova
- Camera Plugin, allows native camera access
- Geolocation Plugin, allows access to geolocation
- Statusbar Plugin, allows modifying the statusbar
- Crosswalk Plugin, adds Crosswalk WebView
- Splashscreen, adds a splashscreen
- Ionic
- NW.js
- nw-builder, builds NW.js apps for Mac OS X, Windows and Linux via CLI