background preloader

Yeoman, Grunt, etc.

Facebook Twitter

Frontend Workflows with Grunt and Angular JS. Front end development workflow with angularjs and gruntjs. A primer into front-end tooling (Grunt.js) for an open-source workflow. Last time I wrote about a rather opinionated and controversial topic, the workflow.

A primer into front-end tooling (Grunt.js) for an open-source workflow

The modern advice I gave touched on boilerplates, automation, version control, compiling code, and most importantly the tools we use in the workflow. Tools such as Yeoman, which includes Grunt. Today, I’m going to talk about a new adaptation of the workflow which will be aimed towards those wanting to push their front-end development into a new dimension, try something new and really reap the rewards from a fast-track learning process.

For software application development at my workplace Appsbroker (where we build some insane HTML5 applications using Google software), and also at home, I use all of the tools and fully endorse their power and effectiveness. Team development Code compiling in teams became a slight problem inside our software house, we were all trying to configure our code compilers to fire the same processes using a config file, it had a few hiccups and we’d sometimes cross wire. Package Managers: An Introductory Guide For The Uninitiated Front-End Developer. Guide Outline Purpose and Intended ReaderA Note to Command Line NewcomersA Note To Windows Users What is a Package Manager?

Package Managers: An Introductory Guide For The Uninitiated Front-End Developer

What is npm? Installing npm (and Node.js)Configuring npmUpdating npmUninstalling npmWhere can I find npm documentation? Searching the npm registryInstalling and Updating packages from the npm registryInstalling Packages locallyInstalling packages globallyUpdating packagesListing npm packagesUninstalling npm packagespackage.json filePackage details are stored in package.jsonViewing package.json before installingInteractively create a package.json fileNPM is great, but I am a front-end engineer and NPM is for backend JS developersWhat is Bower?

Purpose & Intended Reader The purpose of this guide is to get the uninitiated front-end developer up and running with front-end relevant package managers. A Note to Command Line Newcomers Be aware, some experience with the command line is advised before reading this guide. A Note To Windows Users What is a Package Manager? $ v0.10.0. Automating Your Front-End Workflow With Yeoman 1.0. Manual Install · yeoman/yeoman Wiki. Note: The documentation below is for an older version of Yeoman and has been deprecated. Please instead see the Getting Started guide for information on how to install the latest version of Yeoman Installation Yeoman used to have an automated installer, which worked great on fresher systems, but had trouble with more used and configured systems.

It has been officially deprecated, though is maintained at the Yeoman-scripts repo. It's recommended for people with less experience installing node, homebrew packages, etc. Audit script The audit script can tell you what you're missing in order to install Yeoman. Curl -L get.yeoman.io | bash. Using AngularJS with a Rails backend - Emmanuel Oga's Software and Stuff. I created a sample AngularJSapp which uses rails as a backend.

Using AngularJS with a Rails backend - Emmanuel Oga's Software and Stuff

While it is possible to include AngularJS as part of the rails assets, I think it is better to setup the angular code base on a standalone folder, leaving the rails app as a (more or less) isolated backend. There are several advantages to this setup: Ability to manage the frontend app using Yeoman (including generators!). No more questions about file layout: use rails layout for rails stuff, angular-generator layout for angular stuff.Easily install external assets via bower (e.g. angularjs, jquery, twitter bootstrap, underscore, etc.).Write client side unit tests and run them with karma.Promotes unit-testing the js codebase and removes the temptation of integration-testing everything: testing with karma is a lot faster than using capybara or a similar solution.LiveReload support for free with yeoman's angular generator!

Btford/ngmin. AngularJS MTV Meetup: AngularJS + Yeoman (2012-10-9) Intro to Angular, Yeoman, and Chrome Apps (Revised) Cary Landholt - Grunt. Angular + Rails + Yeoman = Angrailman? Lots o’ fun new tools running around the JavaScript ecosystem right now (Angular, Ember, Backbone, etc…) Only trouble is that the relative immaturity of this space means high costs for new developers trying to navigate the thicket of options for testing, build, workflow, and other development things.

Angular + Rails + Yeoman = Angrailman?

I’m not going to wade into the debate around which client side JS framework is the “best”. However, for those of you who like AngularJS on the frontend and Rails on the backend, this post is for you. The basic idea is of course to use Rails as the API backend for persistence, session, etc., Under this scenario, it will also serve up the application code as a static asset from the /public directory rather than having your frontend code served from a Rails controller or have your assets compiled using the asset pipeline. Vlad/yeoman-rails-angular.

Yeoman & Rails app: using grunt-rev task to revision shared assets. Building Apps With the Yeoman Workflow. Trick question.

Building Apps With the Yeoman Workflow

It's not a thing. It's this guy: Basically, he wears a top hat, lives in your computer, and waits for you to tell him what kind of application you wish to create. As an example, scaffolding a web application would look something like this: The first thing that comes to mind is OMG so dreamy. All we did was tell him what we wanted and he replied with specific questions to give us even more control. Let's go back a step, though. He's a person with feelings and opinions, but he's very easy to work with. Let's take a second to break apart what that yo webapp command, from the previous screenshot really did. This is an OS X, Linux, and Windows friendly system-wide command that scours your hard drive for any installed "generators," then gives them control based on the next argument: