To the first-time web developer
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.js 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!
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..