DayPath Journal

My Current, Aurelia-Inspired, Web-App Technology Road Map

This is Q4 2017. It has taken me this long to formally explore the Web-app landscape. My personal desire for formality and relatively deep reflection has left my company web site and this Blog stuck in Angular 1.x and outside of ASP.NET Core. From a “time-to-market” point of view this has been a colossal “failure” for 2017. My career as a software developer has been centered around building UI/UX and from my point of view I have little to show that this centering ever existed—let alone raged like a fire for the last 20 years.

The next phase of my development will be the final attempt to begin to clearly express focus on UI/UX. 2017 was my time to get comfortable with GitHub. I started with “dragging” my legacy load of core .NET code and then evacuated my WPF work out of CodePlex. My legacy load is significant and still relevant. I do not “waste time” on this work—this legacy stuff still has “day job” written all over it.

The SonghayCore project is now ready for the new .NET Standard 2.0 regime. The StudioFloor project is ready and waiting for expansion into Xamarin and UWP XAML technologies.

Take a peek today at my GitHub repository activity and you will see two projects with a warm heartbeat: nodejs and dotnet-core. These repositories expose my self-education investments in Node.js and .NET Core (featuring ASP.NET Core). This work has provided me with an opinionated approach to how I plan to do my non-XAML-related UI/UX work.

my commitment to Aurelia and angular.io

My work on nodejs should betray a commitment to Aurelia and angular.io. The gumbo of technologies that make up Aurelia are then broken into subtopics of study:

jQuery. jQuery still plays a role in the current life of Aurelia. It also is needed because of my current commitment to Bootstrap which might be replaced by Semantic UI. It must be mentioned that angular.io has no default jQuery dependencies. We can also see (today) that there are 10 jquery-* folders in nodejs showing more of my legacy load. I do see the possibility that “vanilla JavaScript” will replace all of this jQuery work.

karma and jasmine. The karma-and-jasmine-minimalfolder is there because Karma and Jasmine are used in Aurelia. It follows that these technologies will be the testing tools of choice for my frontend work. Now there are some limitations with these tools that calls for an investigation of selenium-webdriver [package].

Typescript. The typescript-minimalfolder is also a spin-off from my Aurelia investment. This study is based on the assertion that Typescript is the best language to preserve intent for all JavaScript-based applications. There is a possibility that WebSharper will allow me to confidently replace TypeScript with C#/F#.

Gulp. Yes, Aurelia is dependent on Gulp as well. This encourages me to continue my investment in this technology. My gulp-and-css-handlingfolder reinforces this intent.

my commitment to ASP.NET Core and Hugo

Hugo is retro-revolution back to static-file web sites. It can be used with Netlify to replace the venerable WordPress. The intention here is to investigate Hugo with view to use this technology as the primary way to present content on the Web. My md-hugofolder is the first step in this direction.

The SEO story for ASP.NET Core supporting Aurelia or Angular is stellar. My dotnet-spa-servicesfolder was nothing short of a revelation to me, going a long way toward preventing non-Google Web crawlers from ignoring SPA content. This SPA-oriented approach to ASP.NET Core is the second reason why the investment in ASP.NET Core will be deep. The first is the REST-service story in the time-frame of .NET Standard 2.0.

my reduced use of Visual Studio and increased use of Visual Studio Code

I see the need for full-blown Visual Studio for all of my XAML applications and most of my REST-based services. Everything else will be in cross-platform, shell-oriented workflows under Visual Studio Code. Moreover, the REST solutions will be compatible with Visual Studio and Code.

the functional-language bias looming in the background

My self-education work in the dotnet-fable-minimalfolder, the dotnet-giraffe-templatefolder and the elm-minimalfolder indicate my desire to transition some (perhaps most) of my C# investments to F#. The main reasoning for this is to formally control complexity.

Q4 2018

I actually will consider it failure: finding myself in Q4 2018 having moved not very far from my current location, still presenting Angular 1.x to the Web. The preparation has been quite substantial and the professional introspection quite deep. I am optimistic that, barring tragedy, my next moves on the Web will be quite satisfying.