Day 1 - Choices
Where to start in a world of development possibilities
I am making a website (this one you are reading, in fact) totally from scratch. This part of the site is a blog of how I am doing it, and in that way it is partly for me. But it will also serve as a tutorial to allow you to do the same, and more importantly understand the reasoning along the way. That way maybe anyone can make something personal to themself, I mean, yourself. Yes you!
Sitting down to develop a website from scratch there are so many options and each choice will have a long lasting impact on how the whole project goes. Navigating the options can be a nightmare but I can help with some sensible choices for getting started. Even though I am not a developer, I am a Tester/Quality Assurance engineer and I get to watch developers making mistakes every day - don’t tell them I said that. Sometimes they make good choices too. Don’t tell them I admitted that either.
TL/DR Here’s what I’m going with:
- Computer - Low end specs Windows PC
- IDE - VSCode
- Framework - Nextjs
- Hosting - Vercel
- Source control - Github
Computer
I own what I own and I’ve got no plans to upgrade. It was bought in 2016 for around £400 so it is more than a little out of date but I know it will be fine. If nothing else, I’m going to prove that a high end computer is not a barrier to entry for developing a quality website. If you have a Mac or use Linux, then you can still follow along as everything I am using is very well supported.
IDE
An IDE, or integrated development environment, is the software that you use to write code. It helps with all sorts of things like highlighting code errors and making autocomplete suggestions. I’m going to use VSCode, Visual Studio Code, because it’s incredibly popular for JavaScript development. And it’s built by Microsoft, so the Windows docs are good. Oh and it’s free.
Framework
I’m super excited about Next.js, it has a tonne of features that will make it easy to develop a quick, modern website. In computer programming, a framework is a whole lot of code that you import into to yours so that you don’t have to reinvent the wheel. It takes care of the boring, and often complex stuff so that you can focus on the things that make your application unique. Some highlights of Next.js for me are that it can generate static html pages from your javascript, so they load much faster and don’t require lots of computing power from your users. And the Link component, which preloads the content of linked pages so that it is fast to navigate around the site. It has so many other things that I hope to discover.
Hosting
I think the first couple of posts are going to feel like adverts for Vercel and GitHub, but honestly it’s just genuine enthusiasm. I’ve experimented with other webapps in the past and sorting out hosting and infrastructure is a maze of confusion. I am amazed by how much easier it has got. I was expecting to deal with something like Amazon Web Services, choose resources, and worry about accidentally using expensive services - no dis for AWS, it has other strengths. But I looked at Vercel basically because they own Next.js. Everything to get a web app up and hosted was free and straightforward, as you’ll see in the next post.
Source control
GitHub, owned by Microsoft, is the best known place to store all the code. For many things it’s free, and above all Vercel made it super easy to link to a GitHub account. GitHub is a place for storing git repositories. Git, itself, is a history of your code changes, that allows you to work on new changes and merge them together when you are confident they are what you want. Git really is a wonderful tool and one that virtually all developers use, regardless of which coding language they prefer.
Next
Only a few clicks to make a website and server running in the cloud