DEV Community

Discussion on: Getting ready for my first website: Choosing the right platform

Collapse
 
ravavyr profile image
Ravavyr

Ok, so what struck me here is that you said

Some people just drop a WordPress installation and paste a theme on it, but I'm looking for something more interesting and advanced

And then you went straight into what 99% of newbies are using today. React/Vue Javascript frameworks that require a few npm installs and button presses and your site is done.

WordPress can actually be quite challenging if you were to build a custom theme, add custom plugins, use shortcodes and ajax calls to load dynamic data and apply caching, and so on and so on.

PHP in itself, building a site from scratch in PHP is relatively easy, but i'd say still more complex than any JS framework since again you'd actually be writing the url handling logic yourself. Try managing sessions and cookies and building a custom CMS in PHP versus any JS frameworks and you'll find it much more challenging and a greater learning experience.

I dare say Python would be a bigger challenge, mostly because i find it a tedious but simple language that likes things done in very specific ways so building anything with it would be more work than necessary.

Going back to JavaScript, why not build a dynamic site with nothing but vanilla JS?
That would also be far more of a challenge than using any framework. Note for PHP i skipped Laravel which is also a few commands away from having a done site without understanding how it all really works.

You want to learn and share things in your journey? then look at building things from scratch and you will learn a heck of a lot more than just installing premade code, writing some basic interactions on top and calling it a day.

Learning how things work from the ground up is the best thing a dev can do for their long term career. Once you do, all the tools and languages don't matter, you can work with any of them because you understand what's happening under the hood so to speak.

Collapse
 
apimike profile image
Mike Rozner

At most, I agree with your post up to:

You want to learn and share things on your journey? Then look at building things from scratch and you will learn a heck of a lot more than just installing premade code, writing some basic interactions on top and calling it a day.

Nowadays, building things from scratch is time-consuming and, overall, a waste of time. IMHO, an efficient way of building a website is to take advantage of the right technology and frameworks for the job.

I think that looking at the end product when starting, for example, if you want to build a web course site and that's the goal, I'd choose the most efficient way to do so. Also, the industry today is focused on frameworks and less on building by writing HTML, CSS, and JS from scratch.

However, if you want to become an expert in this field, you should start from scratch, but holy shit you're in for a long journey.

Collapse
 
ravavyr profile image
Ravavyr

That's the thing, you're really not. The majority of websites lack features that take long to build from scratch.

Sure, if you're going to build a custom ecommerce site, or a calendar /task management application, inventory management tools, and such, using prebuilt stuff of course saves time.

But 10-20 page websites, meh, the tools hardly save you time if you know how to write custom html/css/js.
And i'm not saying this to be petulant. I'm honestly saying, you can build a full website just as fast from scratch once you understand those three languages well enough. This of course takes some years of web dev to achieve.
In the mean time tools do speed things up, but leave you stuck with bugs you don't understand since you didn't write the tools.

In the long run knowing the languages speeds up your entire process, including when you choose to use tools to speed certain aspects up, but you'll also know better how to debug problems with those tools since perfect tools do not exist.