Blog app re-do

posted by Jeff | Saturday, January 2, 2016, 8:35 PM | comments: 0

I decided to finally do some updating to the blog app running this very blog. As a guy who builds stuff like this for a living, it's kind of embarrassing to have something hanging around after six years, because the technology changes so fast. I was actually slightly horrified when I busted open the source code, as it was based on MVC v1, using the old webforms views (instead of Razor), and it used LINQ to SQL, an ORM mapping technology that has long since been abandoned. Ouch.

One may question why anyone would write their own blog software, but I think that's kind of missing the point. There aren't many things that you can build that are that simple. I originally did it because I needed to make something "real" with the then-new MVC framework. Here we are at v6, and it's being changed radically, along with ASP.NET under it. That's a perfect opportunity to get my learning on, again with a relatively simple project.

I'm not going to lie, I think the transition to ASP.NET "vNext" is going to be a little brutal for a lot of folks. I get the desire and benefits of going open source, and I'll be the first to champion that, but at the RC stage, with something that is expected to be used so widely, having placeholders in your documentation isn't good. The tooling is pretty rough too. It's cool that you can do all kinds of neat things from the command line and run it on many platforms, but I'm not sure that many people were really asking for that. There's a perception out there that the CLI and "run anywhere" motive has trumped making a great platform that cuts the legacy cruft. I don't think that's actually the case, but perceptions are reality for a lot of folks.

In any case, I've been recreationally moving the forums to MVC6 for the last few months, with some level of success. It was a bit of a moving target during the betas, so I didn't go all-in. At the release candidate phase, it seemed like a good idea to do an end-to-end port. That's what the blog is now running on. There is still a list of where I want it to go. It isn't "done." Specifically:

  • Actually design something. Hey, I loved my yellow stickies on a monitor design. Six years was a long time for it, however. What's here now is just a placeholder.
  • Combine my tech blog and personal blog, have a "switch" of some kind so you can filter and choose which you want to read and/or subscribe to.

A few observations about the port (which also helps me for the talk I'm giving to the Orlando .NET User Group next month):

  • I <3 Bootstrap. It makes the scaffolding of your layout so easy, and the responsive design comes for free.
  • I used Entity Framework 7, because it's the new hotness. Some odd choices here and there.
  • Doing async is easier than ever, across the whole stack.
  • I really like the new middleware pipeline, way better than the system of modules and handlers.
  • There's no way in hell that the forums will run on the core CLR any time soon, but the blog actually can. You know, because I totally want to run it on Linux and a Mac (not really).
  • All of the build orchestration is pretty solid if you take the time to understand it all. Minifcation and cache busting is fantastic.
  • Configuration is infinitely, uh, configurable, but it also feels a little half-baked. The deployment scenarios for user secrets are also half-baked.

There is a lot more to think about, and I still have work to do regarding those earlier points. But whatever, I got something into "production" before the bits shipped. I'll still miss the stickies...


Comments

No comments yet.


Post your comment: