My Rants and Raves about technology, programming, everything else...
There is a lot of buzz around the internet about Vue.js 3.0's announcement about a new composition model. There are a lot of questions about it and I think much of it is 'they moved my cheese' more than 'they're breaking everything'.
So let's talk about it...
Evan You's announcement in London last week scared a bunch of people, including me.
ASP.NET Core 3 seems to be taking a similar tact to version 1 as it is adding a lot of functionality and phasing it in with different previews. While a lot of the articles seem to be focusing on the non-ASP.NET features (e.g. WPF, WinForms, etc.), I thought it would be nice to let those of you who are ASP.NET devs know what is in Preview 6 just for you.
It feels a lot like the ASP.NET MVC/API side is being treated as mature and stable as there is are not a lot of surface changes. Microsoft does seem to be doubling down on Razor Pages and Blazor. It feels like they want .NET Core to be a good fit for different styles and backgrounds of developer. This release is no different.
Let's take a look at the details:
I have the reputation for working too hard. At least that's how my wife sees it. Luckily she's super supportive of my lack of work balance. I am sure if we had kids it would need to change.
If you follow me >Twitter then you'd know that I often am up late tweeting...I mean working. The thing is that I love my job. I don't feel like I'm overworking, but I likely am.
Over the past five years I've interviewed a ton of people for my podcast and the upcoming film. One of the things I asked most of them is about work-life balance. I've gotten a lot of varied experiences and opinions.
One of the goals of my film is to encourage people that don't necessarily look like me to join the ranks of software developers. Because of this I get asked quite a bit about what are the best skills/framework/platform to learn to get a job in tech.
The answer that most people want is something like "Learn C# for back-end, Angular for Front-end, and SASS for design". But that's not the answer I like to give them.
It would be easy to look at the top languages in GitHub or the StackOverflow Surveys and take that as what you should be learning. But that clouds the real issue. In my 30+ years in software, I've learned so many different skills. And I don't think I'm alone. This means, over an average career, the skills you learn won't matter. What really matters is understanding why those skills are used.
I've had a great time this week attending two events and talking about things I love: .NET and Vue.
Was a busy week, but really had fun time presenting again. Lots of great questions!
Earlier in the week I had the pleasure of speaking at DotNetSouth, a new event by the people who brought you Connect.Tech. They run a great show. I talked about .NET 3 (and 5) as well as Vue.js. Here are the slides and code:
As you might have heard, GitHub has created it's own package registry. On the face of it, it might just feel like an opportunity to get more 'buy-in' into using GitHub, but I think something else is going on.
While most people are focusing on the support in NPM for the GitHub registry, they're actually supporting a package repository for a handful of package services. These include Nuget, Ruby Gems, Maven, and Docker. Why are they doing this?
The biggest benefit for people already using GitHub is to be able to expose their code as packages directly in the same environment. This limits the number of steps involved.
One of the first times I started working with Vue, I was concerned about it's long-term success. I was coming from Angular and their ecosystem is huge.
I was delighted to find that the ecosystem is pretty varied. The Vue website tries to make it easier to find the kinds of libraries and components that you might need. It comes from two places on the website.
On the Vue website, you can look in the Ecosystem menu:
I've been writing demos for Vue, Angular, and React for my SignalR micro-courses over on my Wilder Minds site. For Angular and React, I started out with the the SPA templates, but I found them confusing and hard to do a minimal example.
I tend to suffer from "You Moved My Cheese" and wondered if I was throwing the baby out with the bathwater. Let me talk about my experiences creating projects with and without the templates.
My initial problem with the templates is that they are using node under the covers to handle the build of the project. I hate that these details are hidden from me, but I'm confortable with having a console window to keep a watch on my webpack-based projects (the Vue CLI, Angular CLI and React CLI all wrap webpack).
If you're using Vuex for state management in your Vue.js applications, there is a good chance that you need to use async operations (e.g. API calls). I have been doing this a while, but falling back to using Promises in most cases.
To start out, I have a little demo project where I'm making some API calls directly in Vuex via actions:
Now I know that you can use React without using JSX, but I think that is missing the point in a lot of ways. Of course, I'm not a React expert so I am sure you'll let me know how wrong I am ; )