Production Build and Deployment for Enterprise JavaScript Applications George Bochenek Randy Jones Production

Production

zedzap/8373720815 gzip is awesome Image Optimization

If you build it they will come… Build Components

Bower A package manager for the web

http://bower.io install –g bower

bower install arcgis-js-api --save-dev bower install Esri/arcgis-js-api#3.20.0 --save-dev { "name": "arcgis-js-api-sample-app", "version": "1.0.0", "license": "Apache-2.0", “dependencies": { bower.json "esri": "arcgis-js-api#4.3.0" }, "resolutions": { "dojo": "v1.12.1/esri-3.20.0", "dijit": "v1.12.1/esri-3.20.0", "dojox": "v1.12.1/esri-3.20.0" } } { "directory": “." } .bowerrc { "directory": “build-src" } Running the Build

node ./dojo/dojo load="build", profile="../../build/buildProject.profile.js", profiles=null, appConfigFile=null, package=null, packages=null, require=null, requires=null, releaseDir="../../build-temp/js", action=null, cwd="./build-src/js", dojoConfig=null, basePath="." npm install –g grunt-cli

npm install grunt-dojo --save-dev npm install grunt-replace --save-dev { "name": "enterprise-test-sample", "version": "1.0.0", "description": “… "main": "Gruntfile.js", "devDependencies": { "grunt": "^0.4.5", "grunt-contrib-clean": "^1.0.0", "grunt-contrib-copy": "^1.0.0", package.json "grunt-dojo": "^1.1.1", "grunt-karma": "^0.12.1", "grunt-replace": "^0.11.0", "karma": "^0.13.22", "karma-chrome-launcher": "^0.1.4", "karma-dojo": "0.0.1", npm install "karma-jasmine": "^0.1.5", "karma-junit-reporter": "^0.3.8" } } Sample Project https://github.com/Esri/enterprise-build-sample-js What about… Web App Builder? Try it out: npm install –g esri-wab-build https://github.com/gbochenek/esri-wab-build Continuous Integration Resources https://github.com/Esri/enterprise-build-sample-js https://github.com/gbochenek/esri-wab-build https://developers.google.com/speed/pagespeed/insights/ https://github.com/h5bp/server-configs

Questions?