Week of 08/02/2021: Local tech support appointments available.

Branching Out

September 10, 2019 -


Nic Reichelt

My website hasn’t seen a ton of love in awhile. I had my v2.0 release a couple months ago, but that was mainly some code clean up and streamlining. My articles, services, and portfolio have been sorely missing out.

The good news is I think I’ve found my stride. I’ve always been one to plan, learn, and take in as much as I can, but I haven’t always been the best at execution. Lately I’ve been doing some reflection, growing in my career, and processing some life circumstances, which have all given me some perspective. I can plan all I want, but unless I implement anything, what’s the point?

I’m still in the process of learning things, but I’m applying these ideas and concepts into real projects. I‘m branching out beyond general HTML, CSS, JS, and PHP development and currently focusing on two technologies to get ahead. 
First, I’m working with WordPress (WP). I’m not just using a bunch of plugins, but learning how the system is built and creating my own platform using WP as a foundation. My work is still in its infancy, but I am making progress.

Second, I’m getting back into Laravel. I dabbled in it after I got my degree but haven’t touched it in about two years. Now I’ve come back to it with the idea of using it to create a custom platform for a web service.

Over time, I’ve found that working with a vanilla programming language can be too abstract, which has hindered my growth as a developer to some degree. Working with tools that provide concrete functionality has helped me become more efficient and is allowing me to learn more about the base languages. This is helping me to achieve my project goals over the long run.

I had been adamant about not using a CMS for a long time because it didn’t feel like “real” development, but my supervisor had recommended I check it out after launching his own website on it. Once I got over myself and started digging, I found that quite a few people use WP as a foundational tool for their applications.

WP runs a lot of websites on the internet. According to the stats on whoishostingthis.com, WP powers over 75 Million websites, which is approximately 27% of all active sites. With that many websites out there using this platform, it seemed silly to not check it out further.

I did, however, find that using WP was not going to suit all of my project needs. Even though the platform has evolved from a simple blogging platform, it still has limitations. In order to use it for a social service I’m fleshing out, I would need to change the core of it, and that seemed counter intuitive.

This is where I started to look back into Laravel. I took a course on Pluralsight after I graduated and thought it was a solid PHP framework. As I looked into it more, it seemed to fit my project needs. Since it’s a framework instead of a content management system, I am going to have to do a lot more work to get it up and running, but the process will be very worthwhile.

I could have looked at building my project from scratch, but one lesson I have learned is to not reinvent the wheel if you do not have to. Since running a service in today’s internet age means thinking of security, performance, ease of use, and integration, a mature framework like Laravel takes care of the more tedious elements of this process while letting you create a solid product.

Recognizing this has helped me differentiate between my work and my education. I’ve been spending a lot of time doing things that many people have done before me (and have done better) because I wanted to learn how it all worked. I realized I can still look into how the frameworks/CMS’s function in order to understand the underlying programming language, while still taking advantage of the platform to create projects efficiently now.

As a web developer, I’ve been using a pretty standard toolkit for the last couple years. I have been trying out a few different text editor/IDE’s but haven’t landed on one I am completely happy with.

My Current Toolkit

Since working on WP projects, I’ve been using Visual Studio Code more because of the built-in terminal support to run commands. I’ve been diving into a lot of the new features of WP as well, particularly Gutenberg blocks, heavily customized themes, and plugins. Each of these components offers their own benefits, but none of them fill all the gaps in developing WP sites. I am finding there is a nuance in using them effectively and am using that knowledge to incorporate them into my WP projects.

With WordPress moving more and more into the JavaScript (JS) world, there is a larger mix of PHP and JS. The WP Gutenberg blocks are based in React for more readable code and enhanced functionality. The built-in terminal in Visual Studio Code has enabled me to work with React and the Node Package Manager (NPM) easily. NPM has opened up a lot of doors for working with frameworks like React and being able to add additional functionality to them, like working with images more easily. I am taking this area of development more slowly because it has so many moving parts, and if you don’t load your dependencies right the whole thing breaks. However, the benefits of NPM make this a worthwhile endeavor.

I’ve only been able to get into some of the core components of Laravel recently, but I did notice it’s using a JS framework called Vue.js. Some of the concepts are similar to React in that it is based in JSX, but it has a different syntax and implementation, making it its own beast. What I am learning with React and JSX will help when I fully dive into Vue and work that into my Laravel project.

If you are interested in a solid breakdown of the two, Hackernoon has a good read on them.

I’m currently using WP to build products to put up onto the various WP marketplaces, both for immediate sales and to expand my client-base. I’ve been moving my website over to WP, which has been the base for my first theme and some plugins/blocks. This gave me the opportunity to easily create a tangible product since the content was already there, and then I can build off of that going forward.

I’ve also spent the better part of the last three months learning the ins and outs of WP and how to use it effectively. I’m not tweaking the core of WP at all at this point, but I have been creating a heavily customized and customizable theme. I started using the WP_Customizer, but this limits the overall customization of the layout. This is where the Gutenberg Block plugins come in. There are a few elements that would be easier to implement this way, as it would give users of my theme/plugins a more unique experience, and they can tailor the theme to their product needs.

I am still learning how to make it all fit together the best, but I have been using LinkedIn Learning courses to give me practical examples to reference. Once I get a good grasp on everything, I’m hoping to put out a few solid themes, and I’ll post when those are ready. After that, WP will be on the back burner. I will look for client work to do with WP, but will scale my own projects back to a minimal amount so I can start diving into Laravel.

Overall, I plan to use Laravel as the base for a service I want to create – a blend of a social platform, memberships/groups, reference materials, and online store. It will take a fair amount of time to get comfortable with it, but I hope to have that project at a base level within a year. I could have used WP to get it started, but it’s not really tailored for this type of platform. Because this service is a mix of several different things, I’d have to rely mostly on plugins, which can break over time. Also, WP’s admin area and customization are already baked in, and I needed something tailor-made for this project. Laravel functions better for this since it’s basically the bones of the project, and I will be filling in the ‘fleshy’ bits.

It may end up going nowhere, but I am excited nonetheless. At this point, all of this is a side hustle for me. They are passion projects I hope can turn into something, but I have to fit working on them into my current schedule. This is not always easy to do, but I am really enjoying it and am learning a lot.