Coding from scratch vs tools

I have been developing websites as a hobby for quite a while now and have become fairly proficient at writing my own HTML and CSS. My knowledge of JavaScript and PHP is very minimal. BUT. Although I love writing the HTML and CSS from scratch without any sort of tool, one cannot argue against the efficiency of things like Content Management Systems and static site generators and whatever else there is out there that ultimately outputs code.

I am now looking at trying to get a few side projects creating basic static websites for people to earn extra cash. All the tools available like I mentioned above seem to take the fun out of creating websites as I love to code them by hand. Just me and a text editor (usually Atom).

The question is am I wasting my time coding by hand when I can really speed up my development time using something that generates the site for me? I’m not interested in creating sites like that and much prefer coding them, but is that an unrealistic way to work?

Hi @trebleclef !

Welcome to the forum!

Why not use css libraries and frameworks like bootstrap, tailwind css, materialize?

You don’t have to use a site builder and can still build sites from scratch but these libraries will help speed up development.

1 Like

Hello and Thankyou for your reply.

I have used Bootstrap, Bulma and Skeleton in the past. I haven’t tried tailwind CSS yet.

I’m just so fussy about doing everything on my own. Perhaps I’ve got to give in and resign myself to using some assistance!

I would really like to build a basic online shop page, but don’t know how to go about building the back end. I would have to use WordPress for it but it takes the fun out of coding.

I think javascript is my next path.

Once again,

Thanks for your reply.

Have a nice day.

“coding from scratch” a CMS and a SSG (Static Site Generator) are three totally different subjects that In my opinion don’t overlap too much: all three can easily coexists.

  • CMS

Cms are a very easy and efficient way to manage your content: that doesn’t mean they code for you. Maybe you are thinking Wordpress as CMS, and yes, it does create a page for you, but that’s an extra.
The main purpose of a CMS is to give both non-tech and tech guy a common playground where to add and manage content.

Think of a big company: you may have a marketing department that adds and create new content for the website, but the Frontend team still have to grab that content and display it nicely.

  • SSG

The main purpose and usage of a SSG is for when you want to create a lot of “identical” pages but just the content changes. Imagine you have your own blog with hundreds of articles: would you manually write all pages, when they all have the same structure in common, but the content?
That’s where ssg comes in handy: you create and define a “skeleton” and let the ssg generate the pages for you filling the blanks where needed.

The three can coexists: there are lot of use cases where you want a separate CMS, then rely on a SSG for the repetitive stuff and fill in the blanks with your own code.

2 Likes

Thanks for your advice. How do I use my own code with WordPress? This is something I would be interested in. Can I use my own html and css pages and use WordPress to say, add a shopping basket?

How do I use my own code with WordPress?

Sorry @trebleclef, I am not the greatest expert of Wordpress, so I can’t express an opinion on that.
But certainly there are people rolling out themes for it, meaning that at some point they will use own code.

For example if you search for “Wordpress as CMS” on google you will find lots of resources and articles about it.

Wordpress is still a very prominent technology so you can find all resources you need out there :slight_smile:

1 Like

Hey @trebleclef

Maybe I’ll take a crack at answering this, my work is 100% WordPress.

To pick up where Marmiz left off let me explain how I see WordPress being used.

First there is the beginner WordPress developer/user. This class of developer picks a theme they like and loads it up on top a clean WordPress installation and basically “fills in the blanks” with there own content. The theme will have a place perhaps for a big banner image at the top of the page, them maybe they add some text and a few more images. Maybe the theme has a place for a Google map to be inserted. You get the idea, the developers page looks pretty much like the demo content of the theme they picked out. The theme could also be a “speciality” theme rather than a theme for simply generic content. For example maybe it a theme for real estate and you have to fill out an API to get the houses to load from some service. But in the end it will look a lot like the theme demo.

The second class of WordPress developers are more sophisticated in the way they use WordPress. Much of the content these devs create is from scratch using html, css, javascript/jquery and php. They may integrate a bunch of 3rd party APIs to achieve some client goal. The finished website may look almost nothing like the starter theme demo.

When I pick a WordPress theme I am looking for only a few things. I look at the header to find one that most closely matches the client’s mock-up, where the main menu is, where the company logo sits, that kind of thing. This saves me a lot of time and aggravation. I also look to see if it will support some of the special things my client may need, to use your example a store and shopping cart perhaps. But I pretty much disregard everything else, all the content and layout and functionality I write from scratch.

So, I hope that answers your question about being able to use all your own code, the answer is yes you can. Most WordPress developers do. As to how - well like everything else worthwhile in life answering that will take some work on your part, there is a lot to it, and even after years of WordPress development I am constantly learning new things.

If I may be allowed to give you a small bit of advice, start by setting up a server, either local on your computer or on a hosting account. Load up a fresh copy of WordPress and then a theme. The theme can be anything. Load up some content, I would pick a theme that comes with demo content. Then break it. Figure out how to change the theme’s layout, move stuff around, style it differently, change the fonts, the colors, the size of images. Doing that will get you to where you will see how to use your own layouts and your own content. At that point your will be using a quality theme to speed up your development, to provide a starting framework full of good things like well written security, good SEO practices, good performance, and a strong community of other developers to help you along. WordPress is extremely well supported and documented.

Best of luck to you…

Hello rickstewart and thanks for your reply. I already have apache and php setup locally on my laptop. I’m using Linux at the moment. I would have to install MySQL for WordPress (I think). I have messed around with WordPress themes before but I seem to spend ages looking through the menus to do what I want to do. I end up giving up.

I then go back to coding from scratch but my skills only go so far. I can use bootstrap and such frameworks to help but I really like the thought of developing online shops and would like to try WordPress with woocommerce for the backend while using my custom coded front end (with or without Boostrap).

I guess it boils down to me putting in the effort to really learn how to use WordPress in this way.

With this just being a hobby for me, my time is very limited at the moment. If I can learn WordPress seriously, maybe I can start to earn money from web development. Who knows?

Anyway, thanks once again for your reply.

I wish you all the best.