David Lambl

Software Developer, Gadget Geek, Foodie

Getting Started With Aurelia's 'Get Started'

| Comments

Though I’m a fairly experienced Microsoft developer, I’m only just starting to leave the comforts of Visual Studio and trying to become more of a T-Shaped developer.

My desire, and goal, is to become more proficient in JavaScript. There are several reasons for this, but the most prominent for me are: my enthusiasm for web development, the proliferation of the community, and, also, really, the bridges being built to it from the Microsoft ecosystem as established by such things as TypeScript and Visual Studio Code.

I decided to get started with Aurelia. There are a lot of JavaScript frameworks and libraries to choose from, and I had narrowed my list down to: Angular, React and Aurelia. I viewed this as an accomplishment, considering that there are others like Ember, Knockout, or even Angular 2 vs. Angular 1, and so on.

This short list was the result of the research I did with the intent of the framework / library being that it would be best one for me to learn with; so no disrespect to any of the others. I chose Aurelia because I know that it is being used by another team at my company, and React and Angular are not; so that made that last bit a little bit easier!

So, now that I’ve made my decision, it should be easy to just ‘get started,’ no?

Well, really, no. No, not for me. I’m new to this. It’s not like learning ASP.NET MVC after already knowing ASP.NET Web Forms, or even, for me, the jump from Java to C#. I’m seeing words like ‘npm,’ ‘gulp,’ ‘jspm,’ and I’m on a Mac! Ah! What is all of this?

I’ve learned. npm is Node Package Manager, gulp automates development tasks, jspm is JavaScript package manager which, from Scott Allen, “.. combines package management with module loading infrastructure and transpilers to provide a magical experience.”

My point here is that, if you are in a situation similar to mine, while all of these new terms and tools may cause initial panic, we can learn – don’t feel bad about being a newbie :) I really felt that Julie Lerman conveyed this sentiment well in an interview she did on .NET Rocks! (which is a fantastic podcast, by the way, and I highly recommended checking it out if you haven’t already). She’s a Microsoft MVP and a Pluralsight author, and, as she says in her interview, she too had to work from the ground up in getting started in this new world, and that honesty and lack of arrogance was inspirational to me.

Back to the ‘Get Started’ app, I started out by building the project in Visual Studio Code, but I couldn’t figure out what was causing these red squiggles, and I couldn’t get over them.

The error says that “This can only be used in ts files,” which would seem to indicate that the syntax is TypeScript specific, and not vanilla JavaScript. However, I think that it is? It’s from the Aurelia walkthrough, nothing that I wrote. It’s ES6 (ECMAScript2015), so maybe that’s the problem? But no, it can’t be, because Code supports ES6. Code is still in pre-release, so I don’t want to spend too much time tracking this down, as it may very well be due to that.

After some consideration, I thought, well, why hang on at all anymore? I may as well just jump in. So, I closed my project out from Code and opened it back up in Atom,

Now, I’ve got a working Aurelia Hello World. Magnificent!

My next step will be to try to push this to Azure. If I change course and try to push it to AWS instead, then I’ll know I’ve really fell off the deep end.