AngularJS, Coding

AngularJS-Services Book is Published

My book is now available.

3568OS_cov

This book provides you with the skills and best practices needed to create AngularJS services. It starts with the fundamentals of what services are and their role in a typical AngularJS application. You will walk through the development of a real-world application using services across the various application layers and then move on to create services that provide cross-cutting concerns such as messaging, logging, and authentication.

Next, the book covers services that provide data access showing you how to interact with external cloud-based data services and how to cache data on the client to reduce network latency. The book then shows you how to write services that leverage other cloud-based services to create mashups and include functionality in your application without writing a lot of code.

You will also learn how to create business logic objects, rules engines, and finite state machines, which can be used to provide business logic for your application.

You can get my book in e-book or paper back via the Packt Publishing website or Amazon.

Standard
AngularJS, Netcast

AngularJS End to End testing with Protractor Episode 001

This is the first episode in a revised series of videos about using Protractor to perform end to end test for AngularJS applications.

Since my original video back in August of 2013, the Protractor end to end testing framework has changed significantly. It has become easier to use, simpler to write tests and its functionality has increased.

This series of videos are a deep dive into using the Protractor testing framework to write end to end tests for your AngularJS applications.

This episode covers what Protractor is and how to install it into your application. It also provides a simple hello world style demo showing how to configure a project to use protractor and phantomjs to write end to end tests.

Standard
AngularJS, Coding

Using Page Objects in AngularJS Protractor

This is one of the presentations from the February 2014 DFW Area AngularJS Meetup.

Introduction on how to use the Page Object pattern to simplify your Protractor End to End scenarios.

Topics covered:

• Common redundancy in end to end scenarios

• The Page Object pattern

• Implementing Page Objects in Protractor

Slides can be found at

https://docs.google.com/presentation/d/1B6manhG0zEXkC-H-tPo2vwU06JhL8w9-XCF9oehXzAQ/edit?usp=sharing

Code can be found at

https://github.com/lavinjj/breweverywhere

Standard
AngularJS, Coding

Responsive Web Design using AngularJS

This is one of the presentations from the February 2014 DFW Area AngularJS Meetup.

Introduction on how to use AngularJS Services and Directives to handle some of the finer points of Responsive Web Design to improve your page speed and reduce the reduce download times.

Topics covered:

• What is Responsive Web Design

• The various strategies used to implement Responsive Web Design

• Implementing the strategies in AngularJS with angular-responsive

Slides can be found at

https://docs.google.com/presentation/d/10qoU_mIhRLDmq-ej5xd9-DXR09DUeIPMtUp0-Il6c_o/edit?usp=sharing

Code can be found at

https://github.com/lavinjj/angular-responsive

Standard
AngularJS, Coding, Netcast

Introduction to AngularJS Unit Testing

The November 2013 DFW Area AngularJS Meetup Presentation. This month we take a Test Driven Development approach to show how to write unit tests for your AngularJS components.

Jim Lavin covers creating a project from scratch using Yeoman and then adds functionality to a controller, service and directive using a Test Driven Development approach by writing unit tests which describe the functionality and then adding the actual code to make the tests pass.

Code for the demonstration is available at https://github.com/lavinjj/diy-brew-controller

Standard
AngularJS, Coding, Netcast

Introduction to the MEAN Stack

The DFW Area AngularJS Meetup for October 2013.

This month We’ll be covering how to use the MEAN Stack, (Mongo, Express, AngularJS and Node.js), to develop AngularJS applications.

We will be covering the following:

1. Installing the required tools; Node.js, MongoDB, Grunt, Bower, Yeoman, and various Yeoman Generators

2. Application workflow using the Yeoman Generators to create AngularJS and Express Components

3. Connecting to MongoDB via Express

4. Setting up APIs using Express Routing

5. Consuming APIs via AngularJS

Slides for this presentation can be found at : https://docs.google.com/presentation/d/1ZMoWLEK14L48cyWcmI7DFc338t6a3OgV5LaIzGURYK8/edit?usp=sharing

Source Code for the app can be found at https://github.com/lavinjj/angular-scrum-mean

Standard
AngularJS, code.explode, Coding

Hailing All Frequencies – Communicating in AngularJS with the Pub/Sub Design Pattern

Hailing All Frequencies! Is anybody out there? This is the USS AngularJS, we have a problem our services are speaking in Klingon and our controllers can’t communicate with their Ferengi directives. Can anyone help us!

I don’t know how many times I’ve seen a question about what is the best way to communicate between components in AngularJS. A lot of the time the resulting answer is to use the $rootScope object to $broadcast a message to anyone who might be listening for it. But, that really isn’t the best way to do it. Broadcasting messages between components means that they need to know too much about how things are coded reducing their modularity and re-use.

In this article I show you how to use the Pub/Sub Design Pattern for inter-component communications in AngularJS.

Continue reading

Standard
AngularJS, code.explode, Coding

Localizing Your AngularJS Apps: Yet Another Update

So you are probably really jazzed about the addition of the new directive to the angularjs-localizationservice project and the fixes to help improve it’s performance. But, now that you are probably using the project I bet you are probably saying the same thing my devs and designers were saying, “Hey Jim, this new directive really works great, but how do we do translations for placeholders and titles?”

Well, this post is going to cover a new directive that’s been added to the project just to handle such things.

Continue reading

Standard