Tagged with AngularJS
So I’ve been on a mission of sorts…I’m looking for the right size framework for some of my web development. I know what you’re saying, “Aren’t you suggesting Angular2 for everything”? No, no I’m not.
I just made a bunch of you excited. You React, Aurelia, and Ember enthusiasts and now probably foaming at the lips ready to tell me to use one of your frameworks! Hold off for now. Let’s talk about it.
The problem for me is fairly simple, I don’t want to build a Single Page Application (e.g. SPA). Yeah, I know.
I’m currently in southeast Asia for my world tour. While in Singapore, I had the pleasure to chat with a great group of developers about AngularJS.
I love when I get great questions and the developers at this event were really keyed into the web stack and asked the hard questions about AngularJS (and of course AngularJS 2.0).
As promised, here is the slides and example code:
I’m on the World Tour and this stop is in Delhi, India! While here I had the fun opportunity to give a talk on AngularJS to a great group at Sapient in Delhi, India.
Via Pluralsight and the great Pinal Dave helped organize this event. If I go long enough without giving a talk, I start to get the shakes. The group had great questions which I always like.
As promised, here is the code and slides:
This week, I’m in Köln, Germany for two short events. This is one of my favorite cities and I spent time here back in the early ‘90s as a street musician. I didn’t need an excuse to visit this great city, but I had one anyway.
First was the Web Developers Kompact where I showed off AngularJS in an hour. The next day I did walkthrough of ASP.NET Web API at the .NET Developers Kompact. The attendees were great and even though there were fewer questions than I normally get, the quality of the questions was great.
Thanks to everyone involved for helping put these events on and inviting me and my wife to your wonderful city.
Today is the day that Netflix has decided to shut down their public API. They stopped giving out API keys a long time ago, but except for a select few apps, all others are dead…including mine.
As I shut it down today I have no regrets. I actually am surprised by how long it has lasted because the road was rocky and I learned a lot.
When I built the app, I was trying to build a service that I wanted. Unfortunately without Netflix, I don’t think the service is worth keeping alive. The reality is that I really believe that every success is built up other perceived failures. The net result of HowToWat.ch is a lot of learning that has served me well and I am sure will serve me well in my next idea (whatever it is).
If you are upgrading your projects to AngularJS 1.3 and you’re noticing a problem, there is a breaking change that might affect you. The error usually presents itself as “Controller error Argument is not a function”. If you’re seeing this, this post should help.
Unfortunately, my Pluralsight “Building a Site with Bootstrap, AngularJS, ASP.NET, EF and Azure” course repeats this problem (since it was built with a much earlier version of AngularJS. I am going to be rebuilding this course soon with updated versions of everything (Boostrap 4, AngularJS 1.3, ASP.NET vNext, EF7) but until then, you’ll want to see the fix.
It all comes down to how you create controllers. Luckily the fix is the way you should be writing your controllers (though you can opt into the old behavior). When I’ve taught AngularJS in the past, I’ve created controllers using global functions as that makes the story simple. Usually when I’ve taught it before, I’m trying to help people understand the concepts, not the best practices. Starting with AngularJS 1.3, this isn’t the default behavior.
The new course is all about using WebStorm 9 to build web applications. The course was built using the WebStorm 9 EAP so I was able to cover new features as well as the basics.
So AngularJS team finally is talking more publically about what they’re trying to do. At the ngEurope conference last week, they talked very opening about their new strategy for AngularJS 2.0 and it has a lot of people freaked out. Sounds a lot like some reaction to Silverlight in fact.
I’m seeing a flood of hate on the AngularJS team at the moment. I am not sure it is justified. Here’s why:
While there are a lot of details about what they’re thinking being shown and shared, the reality is that AngularJS 2.0 comes out in 13 months. A huge amount of time in web development. I am sure they are hearing all the concern and fear and are taking it into account. I suspect it will be fine.
Next week I start a short swing around southern and south-midlands England. I had hoped to do more events in England, but this short swing of four user groups is all I’m doing in England (though I’ll be in close-by Scotland in early August and Ireland in September).
These events will cover a variety of topics including Node.js, ASP.NET Web API v2 and AngularJS.
These are the events starting next Thursday.
As many of you know, I am heading out on World Tour this June and heading across Europe and Asia for a year. For the first stop, I’ve partnered with Sparkles to do a training in Belgium this June. If you’re in Europe and you’ve been looking for a way to easily take my web development course, this is your opportunity. We’re only holding it once in Northern Europe.
The course takes place from June 23-25th, 2014. If you’re in the area, this is a great opportunity to learn how to build websites using the ASP.NET on the back-end and open source tools like Bootstrap 3 and AngularJS on the front-end.
This course is a three-days, hands-on course that covers how to build web applications using the Microsoft’s ASP.NET stack including:
AngularJS is going through their release cycle now and that means that AngularJS 1.2 is going to be released soon with some specific changes that you'll need to address. I'll be updating my Pluralsight Course with the 1.2 changes as soon as the new version ships.
The biggest change for most people is the routing support is now packaged separately. To use routing you'll need to do two things:
Include the new angular-route.js:
Thanks to everyone for attending my sessions at this year's DevLink 2013 conference in Chattanooga, TN. I had a great time at the aquarium and enjoyed meeting so many of the attendees. If you get a chance, you should add this to your conference attendance next year.
I gave two talks at this year's event. I promised the attendees to get them the code from my talks. Here they are:
In this new course I build a new web site from scratch. I start out with a Bootstrap template (since my design skills suck) and move through creating content, building a database, exposing a REST-ful API and building a Single Page Application. I wrap it up by publishing the site to Azure Web Sites showing you how to not only get your application up an running in the cloud, but also how to monitor it and handle standard tasks like using your own domain in Azure.
You will see every line of code (with one small exception) that I write. This isn't slide-ware…it's show-n-tell. I use a range of technologies including:
Thanks to all who showed up to see me talk about AngularJS at the recent Atlanta .NET User's Group. At the talk, I wrote the client-side code for an AngularJS app by hand. The slides are pretty thin, but the code includes all the functionality I showed. I promised the slides and code so here they are!
If you have questions about any of this, feel free to comment and I'll help as much as I can!
A promise is a pattern for handling asynchronous operations. The problem is that essentially when you start an asynchronous operation, you need to execute some code as the operation is completed. Asynchronous code is so common that most libraries have found a solution for passing in callbacks. But there is little commonality to how each libraries does this. Let's take jQuery as an example:
I recently helped the Atlanta Code Camp effort by building them a new website. You can see it here: Atlanta Code Camp. I am pretty proud of what I was able to accomplish in the scant number of hours I had to build it. It's not done as we need to improve it when we have the speakers chosen and set up the schedule, but so far I am pretty happy with it.
I had a number of goals for the project:
My first thought was to start with a Mobile-First template and just build the site but as #4 was going to stymie that as PluralSight would really like me to finish my courses ;) So I started with a Bootstrap template (that I got from https://wrapbootstrap.com). This provided a good basis for the shell of the website. Before I did real color skinning of the site, I needed to wait for our logo. Dennis Estanislao did an amazing job on the logo. With that I was able to use the color scheme to change the template to match the logo and overall theme. But that was just the HTML part of the story.