John Papa | Evangelist on the loose

John Papa

Evangelist on the loose

What’s Coming in AngularJS 2.0

with 1 comment

Interested in hearing about the latest on what AngularJS 2.0 holds in store for you? This week’s episode of Adventures in Angular has Rob Eisenberg of the Angular team talking about what’s coming in Angular 2.0. Rob has tons of experience building frameworks being the noted author of Caliburn Micro and DurandalJS. He talks in depth in this episode about his work on the router, which sounds awesome in Angular 2! Adventures in Angular web page follow the show twitter listen to us on iTunes Every Thursday morning you can join me and our All-Star panel of co-hosts Joe Eames, […]

AngularJS Snippets for Sublime, Visual Studio and WebStorm


It is nice to have some help to follow your own patterns. That is why I created some simple file templates and snippets that follow my AngularJS Style Guidelines. You can find a series of file templates and snippets for the various editors and IDEs that I use. These include Sublime, Visual Studio and WebStorm. (I may add others over time). Here are templates and/or snippets for some of the web development editors and IDEs. Sublime Text AngularJS snippets that follow these styles and guidelines. Download the Sublime Angular snippets Place it in your Packages folder Restart Sublime In a […]

Angular Function Declarations, Function Expressions, and Readable Code


We spend more time reading our code than writing it. That’s why it makes sense to write code that is easier to read. The good news is that there are a lot of really simple things that can make your code much more readable. This post describes simple techniques to make AngularJS controllers and services/factories more readable. For more details on these and other Angular coding styles, please see my Angular Style Guide and my upcoming Pluralsight course “AngularJS Patterns: Clean Code” (Sep 2014). Quiz OK, first let’s take a step back and start with a quiz. See if you […]

Building Angular with Gulp and Grunt


You’ve built your JavaScript application but how do you automate testing, code analysis, running it locally or deploying it? These monotonous tasks can consume valuable time and resources. Learn more about Grunt and Gulp in this week’s episode of Adventures in Angular. Adventures in Angular web page follow the show twitter listen to us on iTunes If you want to learn more about Gulp, keep an eye out for my upcoming course on JavaScript Build Automation with Gulp.js and Angular coming to Pluralsight in Q4 of 2014. Every Thursday morning you can join me and our All-Star panel of co-hosts […]

Adventures in Angular


I love talking to developers about JavaScript, web development, and Angular in particular. That’s why I’m excited to announce that I have joined as a co-host on the new podcast for Adventures in Angular (aka AiA or ngAdventures), brought to you by the same folks who host the popular JavaScript Jabber show. You can check out our: Adventures in Angular web page follow the show twitter listen to us on iTunes Every week (Thursday mornings) you can join me and our All-Star panel of co-hosts Joe Eames, Aaron Frost, Charles Max Wood, Lukas Ruebbelke, Brian Ford, Misko Hevery, and Merrick […]

Angular Style Guide


I just published the first draft of my opinionated style guide for syntax, conventions, and structuring AngularJS applications. You’ll find many of these and more explained in deeper detail in my Pluralsight course AngularJS: Clean Code (coming in August 2014). The styles contained here are based on on my experience with AngularJS, presentations, Pluralsight training courses and working in teams. I will keep this guide updated on github. Usage and Purpose I get asked a lot for style guides, how to get started once you learn the AngularJS basics, and what I recommend. This guide helps point in that direction […]

AngularJS’s Controller As and the vm Variable


The great thing about coding is that we are able to mix coding style and personal/team preference together. This post is all about a preference of mine that has helped me stick to be principles of readable, efficient, and maintainable code with AngularJS. It’s no secret that I am a fan of the “Controller As” syntax that was revealed in AngularJS 1.2.0, in fact I wrote an entire post about the Controller As feature. I’m also a fan of readable code and keeping things consistent and simple. We tend to spend a lot of time reading code. In fact, I […]

Easy Fix to a Common Angular Module Error


I love running my code right after making some new changes, so I can see them light up in the browser. But I don’t love when error messages are not straight forward. At least not to me. Recently I ran a project and was told ngLocale is not available! What? I’m not loading ngLocale, what does Angular want from me? After some digging in the console and Chrome debugger I uncovered more information about the issue. “[$injector:nomod] Module ‘ngLocale’ is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you […]

10 Angular Tips from TechEd 2014


Getting started with AngularJS is smooth sailing. But once you master the basics, you begin to realize there are things you wish you knew before you started. This session shares 10 such tips that go beyond the fundamentals. You can find the deck below and all demos (plus a few bonus demos) right here. Or watch the video now right here or at the source. I demonstrate how I build end-to-end apps using AngularJS and BreezeJS on the ASP.NET platform. We explore how to manage multiple screens, maintain clean code with popular patterns, implement CRUD, perform robust HTML validation, and […]

Toastr 2.0.2 Now Available on NuGet, Bower and CDNJS

Toastr 2.0.2 is now available on Bower, NuGet and CDNJS! We’re thrilled that toastr has been so helpful to many of you as it now has almost 150,000 downloads on NuGet and 1600+ stars on github! This release has several minor bug fixes and some new features. For details you can check out the changelog. Of course there are new unit tests for all of these too. Get Toastr Toastr on GitHub Toastr on NuGet using install-package toastr Toastr on Bower Toastr on CDNJS Learning Toastr The Toastr demo page is also updated to help demonstrate the features. New Features […]