Well, hello!
So I understand you’re looking to make a website? Well, great. It’s super easy, it’s just a sprinkle of HTML, CSS, and JS and you’re done!
Well sort of.. you must realise that these are really only the basic tools. And only scrubs code directly with vanilla CSS and JS. You’d be far better suited with less.js or postcss.js, or SCSS. No? Fair, but you’d be crazy not to use a frontend framework! React.js or Angular perhaps? Facebook and Google built them and they’re so fancy and flash, and they’ll make things soooo much smother. Or something else entirely? Vue.js, Ember.js? We don’t need to settle on that now though. There’s just so much else to talk about.
You mustn’t forget the idiosyncrasies of the different browsers — say how Mozilla Firefox and Apple’s Safari can render the same HTML and CSS differently. Google’s Chrome isn’t quite the same as Microsoft’s Internet Explorer — and oh, by the way, what version of Chrome are you running? And what version of IE? What about devices and viewports and how you’re site works with iOS and Android and touch and scroll, and sizing and oh I can see you’re already looking a little pale, you’re alright aren’t you?
But we’re getting ahead of ourselves! What about getting your website online? Do you have a computer connected to the internet? Good, that’s a start but you’ll need to configure it to be a web server, find out whether your internet provider even allows you to run servers behind its firewall, and then find out what your localised IP address is. Then maybe we can host your website.. Oh speaking of hosting it, do you have a domain name? Maybe coolwebsite.com or example.net? If not you’ll need to buy one and register it. Name taken? Bad luck!
Oh and how were you configuring your web server? You’ll probably need a server side application language to handle your requests, perhaps, Python or Java or Node.js. What’s that? You want to use Node.js because it uses javascript! Well great! Except it’s kinda different — well very different — oh don’t worry you’ll get there. What’s your build system like? And do you have the right system permissions set?
What does your server do anyway? Does it simply serve your nicely crafted HTML page or can it do more? Can it respond to different types of requests, and push out dynamic pieces of data based on those differing requests. Is it secure? Can it restart itself if it crashes? Hopefully, you’d hate to have your website go down!
Ha, speaking of, we should probably use a framework for our server too. Maybe Flask, or Express.js or maybe we should make it all static? Hmmmmm.
AND A DATABASE! Oh silly me! You’ll definitely need a database. There are hundreds of options locally, but maybe you’ll opt for the cloud. Or not. Do you know SQL? No? Maybe a non-relational database is for you then? Maybe that’ll be easier. Or throw the towel in, stoop over a toilet and feel sick for a few months. To say nothing of security..
This article was originally published on medium.
You can read more of my writing here. You can also subscribe to my RSS feed here.