Construction Surveyor at Black & Veatch Member of Software Society from formation Founding Member of Dundee MakerSpace [email protected] @ipaulsutherland paulsutherland.net
can do similar development in: Python, Ruby, PHP, .NET yada yada … • I am not promoting that this is the best or only or the righteous path to do web development • Tool for the job • The point is never stop experimenting • Don’t develope programming prejudices
This slide deck is intended to be a gateway to MEAN resources • Hands on workshop making Apps and get help from experienced developers • Questions on the mailing list • Email me • Drop into the MakerSpace on our Monday Evening open night
on Linux Install Git on Mac Install Git on Windows Available in all major distribution repositories Available in xcode command line tools Available from Git for Windows $ sudo yum install git $ sudo apt-get install git $ sudo pacman -S git Install xcode in App Store Download installer from http://git-scm.com/download/mac Install Github tools http://mac.github.com Install git for Windows http://git-scm.com/download/win Install Github tools http://msysgit.github.io/.
Git • Get Git installed and accounts at Gitlab and Github set up. • Walk through the basic commands. mkdir MEAN cd MEAN git init git add -A git commit -m “Initial Commit” git remote add origin [email protected]/YOUR_ACCOUNT/mean.git git push -u origin
days in 1995 • Considered a toy language by developers • It has bad parts and good parts • Some bad parts are really bad • Some good parts are excellent • Making use of a subset of the good parts has improved the use of the language
language of the web • Installed on almost every smartphone and desktop web browser • Mac OSx now supports building apps with JavaScript • Google’s V8 and Rhino’s JavaScript engines bring JavaScript to the server, enabling MEAN full stack development
Ryan Dhal • Was keen to develop a non blocking event driven IO web framework • Utilises Google’s V8 engine to execute code • Node is modular and has many packages written in JavaScript and managed by the Node Package Manager (NPM)
Install Node on Mac Install Node on Windows Available in all major distribution repositories Available from Node website Available from Node website Ubuntu $ curl -sL https://deb.nodesource.com/setup | sudo bash - $ sudo apt-get install -y nodejs Fedora, RHEL, CentOS $ curl -sL https://rpm.nodesource.com/setup | bash - $ sudo yum install -y nodejs Arch $ sudo pacman -S nodejs Binary Source code http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz See: Installation Instructions for other distributions Download installer from http://nodejs.org/dist/v0.10.33/node-v0.10.33.pkg Install from source http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz Install Node for Windows http://nodejs.org/dist/v0.10.33/node-v0.10.33-x86.msi
native data types in modern languages (Python Dict, Ruby Hash etc) • Embedded documents and arrays reduce the need for expensive joins • It does not support transactions, so not ACID compliant • It is not a relational database Check out the Documentation for more information: http://docs.mongodb.org/manual/
Install MongoDB on Mac Install MongoDB on Windows Available in all major distribution repositories Available from MongoDB website Available from MongoDB website Ubuntu Installation Documentation http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ Fedora, RHEL, CentOS Installation Documentation http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat- centos-or-fedora-linux/ Arch Installation Documentation https://wiki.archlinux.org/index.php/MongoDB See: Installation Instructions for other distributions Download installer from https://fastdl.mongodb.org/osx/mongodb-osx-x86_64- 2.6.5.tgz?_ga=1.122936971.1837973966.1416410993 Install from source https://fastdl.mongodb.org/src/mongodb-src-r2.6.5.tar. gz?_ga=1.152755129.1837973966.1416410993 Install MongoDB for Windows https://fastdl.mongodb.org/win32/mongodb-win32- x86_64-2008plus-2.6.5-signed.msi?_ga=1. 92509981.1837973966.1416410993
MVC framework • Embeds custom tag attributes within the HTML, which are interpreted as Angular directives that bind to a model, which are a mix of JavaScript variables and JSON objects
setting up your webapps • Uses web app templates, which are called generators • Install Yeoman and the web app generator $: npm install -g yo $: npm install -g generator-webapp • Create a web app $: mkdir myApp $: cd myApp $: yo webapp
your webapps • It fetches and installs your frameworks, libraries, assets and utilities • Install Bower $: npm install -g bower • Create a web app $: mkdir myApp $: cd myApp $: bower install jquery
does the tedious tasks for you • Minification, unit testing, linting, compilation, live reloading of browser • Install Grunt $: npm install -g grunt-cli • A grunt file contains the tasks to be run: