Website
The temporary version of my website is up and running. I hope you enjoy its current level of simplicity while I work on a completely new site.
As I’m pretty busy these days splitting my time between the “day job”, a new website and life, it’s made it necessary to have something in place quite quickly, while I work on the new site.
After a little research, I came across Jekyll and decided to use it on a git based server. Since I use git daily for development work, it seemed a good temporary fit and it makes website deployment much easier. The system I use has push to deploy and automatically updates the website after building and running a few tests (something I also intended to use on my new site).
So far, Jekyll seems to be a nice static website builder. It uses a number of flexible modern tools and techniques to construct the site - such as Liquid template engine and SASS/SCSS. It also uses Markdown, one of my favorite tools for simplifying text generation for posts.
If you’re starting a new, simple website you should certainly take a look at Jekyll. In the long run though you may, like myself, be looking for a more complex, modern and dynamic site. To this end, I’ve been researching a number of possible choices, including some I have used on previous projects…
- Wordpress - great for content creation but somewhat less attractive if you want to write your own interactive elements on the site as it’s less structured than some other systems.
- Writing a site from scratch using PHP, MySQL and jQuery - I worked this way for a photography print sales site with PayPal integration. However, this is a very ‘old school’ way of coding a site, taking a long time as it does not make use of the many frameworks which exist in modern development to handle the ‘heavy lifting’ and speed up the process.
- ExpressionEngine - again, great for content and also extremely flexible, capable of being extended in many ways - including plugins for shops. I’ve used this for a commercial wedding photography site and it proved to be a good fit due to its built-in user management, security and easy database extension on a per-user bases.
- CraftCMS - looking like a cracking little CMS, written by a company who wrote some particularly lovely plug-ins for Expression Engine. It also has much easier upkeep and management.
- Laravel - a very modern website framework, used by many online sites and SaaS systems. It was a strong contender for my new site.
Ultimately though, these systems all suffer from one ‘problem’. They are written in PHP and one of my design goals for the new site is to implement it in a more modern language. One that is better structured, has better type-safety and includes better compliation / code checking.
My experience with C# and it’s ability to be used in the modern ASP.NET core web development framework, makes it a better choice. It, like Laravel, is used in many large scale sites and SaaS systems.
The front-end will most likely be either Vue, React or Angular - with the latter being the front runner because it is more widely used and based on TypeScript, a modern super-set of JavaScript which is again type-safe and so-forth.