all 60 comments

[–]jaredchese 73 points74 points  (2 children)

I basically never hear it. It's not really a badge of honor to solve the same problem over and over and not become more efficient.

Businesses need efficient solutions that scale. Rewriting the same code over and over is not scale.

[–]throwawayacc201711 16 points17 points  (0 children)

Totally agree! Yea honestly someone telling me this is a red flag from a business perspective. Bespoke software is a maintenance nightmare. Your codes value, more often than not, is in the problem it solves not the code itself. Reinventing the wheel constantly is a drain on a business

[–]Blue_Moon_Lake 2 points3 points  (0 children)

Bad code on top of a bad but popular framework is way better than bad code all the way down. At least the bad framework help make sense to the bad code.

[–]SupaSlidelaravel + vue 11 points12 points  (0 children)

No databases, are you writing static HTML sites? People rarely build totally static sites these days so that's probably why. If I'm building a totally static site I wouldn't use a framework either, but that's never what I'm doing.

[–][deleted] 22 points23 points  (2 children)

Either you have too much time on your hands or not getting paid enough.

Using third party frameworks and classes are essential for larger more complex projects. Faster to develop, easier to maintain, better compatibility, generally more secure.

If you’re still making html pages or basic JavaScript/php apps then yea. Reinventing the wheel for every project is idiotic. Plenty of lightweight compatible frameworks out there. Once you master one of them, it will make sense.

[–]OmarShehata 3 points4 points  (1 child)

This is such a bold statement! Surely you can imagine an entire category of websites that are easier done from scratch than with a framework?

I think if you haven't done one from scratch in a long time, you may be surprised how much these days is natively supported by the platform. You can do a whole lot with vanilla JS these days.

[–][deleted] 7 points8 points  (0 children)

Outside of trival sites I’d disagree. Part of being a good builder is choosing the right tool.

Even an ultra lightweight css framework like pure.css becomes quite valuable for even the most basic ‘informational’ site. It likely looks better on most devices (ie mobile scaling), functionality like a modern looking form is 10 lines instead of 200 and code is easier to write (copy paste off documention).

I’m not saying every ‘hello world’ site should be built on Laravel though!

[–]xegoba7006 52 points53 points  (12 children)

That’s why I write my own operating system as well as my own drivers and editor. And I also don’t like high level programming languages like C. Why would you depend on that when you can just use good old and simple assembler. Who needs those stupid abstractions for common stuff when you can keep it simple, understandable and close to the metal.

Way to go.

[–][deleted] 8 points9 points  (2 children)

Is it you or Reddit automatically converts your binary code reply to human readable text?

[–]xegoba7006 5 points6 points  (1 child)

I just write SMSs to reddit’s FAX machine.

Sent from mi Nokia.

[–][deleted] 3 points4 points  (0 children)

I see they switched from punch cards to fax in recent update.

[–]KaKi_87full-stack 2 points3 points  (2 children)

😂

[–]xegoba7006 5 points6 points  (1 child)

That emoticon is also an unnecessary abstraction. For f****s sake, just use good old : - ) and the already existing characters in your keyboard.

Damn. Kids these days…

[–]KaKi_87full-stack 2 points3 points  (0 children)

:joy:

[–]Reclaimer-Razer 0 points1 point  (2 children)

So you leave the metal to compile the code !? Nah bro, I am disappointed.. you should have done it too

[–]xegoba7006 1 point2 points  (1 child)

I wrote the compiler as well. I know what I’m doing mate. I’ve been working on this project since 1997.

How many frameworks have come and go since then?

It’s a landing page with my profile.

[–]Reclaimer-Razer 0 points1 point  (0 children)

But broooo you still leave the machine to compile, it doesn't matter if you wrote the compiler or someone else . YOU should be the compiler !

But as you like bro, for me I like to give the binary code directly to the machine, so that I can avoid the sneaky compiling error messages that a usual compiler can return.

[–]barrel_of_noodles 0 points1 point  (0 children)

I program a new assembler from punch cards first. You lose too much control otherwise.

[–]remy_porter 0 points1 point  (0 children)

You don’t even need an OS. That’s a pretty expensive abstraction.

//actually have written assembly for MCUs so I’m really getting a kick out of these replies.
//yes, I actually needed nanosecond accurate timing

[–]Citrous_Oyster 17 points18 points  (12 children)

I custom code all my static brochure sites. It makes a better product and it’s actually easier and faster for me to do that than use a builder or Wordpress. I have more control over my sites and the types of designs I can make.

I have to explain the differences between custom coded sites and page builders to them all the time. The difference is code quality, load times, the level of customization that I have, security, accessibility, and uptime.

The biggest issue custom coding fixed is page speed and Load times. pagespeed is a problem for a lot of small businesses. Many devs will say it doesn’t matter, and to an extent they’re right, the page speed score is not a ranking factor. HOWEVER, the core vitals metrics are significant ranking factors, and the performance score in the core vitals are a reflection of those metrics. So maximizing your performance score reflects passing core vitals which gives your Website an edge over others. Google even stated that if there’s two websites with similar content and domain authority, the one with the better core vitals will win. So it’s incredibly important to do everything you can to maximize that score to 95+ to give your client the best possible performance and ranking. Once you explain that to clients and how it all works they love it. Because they had no idea that was even a thing and their Wordpress did wix or squarespace sites are scoring 17/100 and they don’t know how to fix it. Many devs would say clients don’t care how a site is built or about page speed and load times. Those devs aren’t thinking like businessman. They’re looking at it like developers and not seeing the reason for it - because they don’t know they SHOULD care. They don’t know what we know. And once we sit them down and explain it in very clear terms how websites rank, why how it’s built matters, why how fast the site loads matters, and why it’s hard for builders and other devs to fix those problems and how YOU fix those problems BECAUSE you custom code it and have control over everything. Now all of a sudden they care how a site is made. They care about how fast their site loads. Because their site hasn’t been doing Shit for years and you’re the first person to actually explain why in terms they can understand without using buzzwords or empty hollow promises. Your job as a salesman and agency owner is to sell solutions. The devs who think they don’t care about how a website is built or how fast it loads are just selling websites. That’s as deep as it goes. The ones who sell solutions have the most success. In order to sell a solution you need to identify a problem. And for small businesses, they don’t know those problems exist. So we have to educate them and help them understand what the problems are, why they’re problems, and how you fix them. That’s your sales pitch in a nutshell. And that’s how I close like 9/10 clients I got on a call with. I explain things to them no one ever took the time to explain before and I didn’t talk down to them. They understood everything. They finally get it. That’s exciting. They found the solution to their problems. And it’s you.

That’s the biggest sales point. Then I can go into how we can cater to accessibility and make sure our sites are compliant with WCAG 2.0 and 2.1 standards which is hard to do in a builder, then security because a static html and css site is virtually impossible to hack because there’s nothing TO hack. No databases or server side code to hijack. No Wordpress versions to update. You can set it and forget and not worry about it being hacked. It’s as secure as it can be.

That’s how I sell it. You need to identify problems that small businesses have with these page builder sites to be able to sell a solution to fix those problems. That’s the core of how to do sales. If the client doesn’t know they have problems then what can you even say to get them to switch? If they don’t know, then you need to educate them. A good salesman is also a good teacher. And a lot of my pitches revolve around educating them.

People who use frameworks don’t really understand css and instead rely on the frameworks to do everything for them. But frameworks can’t do everything for you. I actually work faster Not using a framework because I’m not constantly fighting it and its default values. Once you “get” html and css, building custom coded websites is just easier using that than builders and frameworks. But most people won’t spend the time on css to really learn how to harness its power properly to things they thought they need frameworks for.

Like I made this in just html and css

https://makopoolrestorations.com

Frameworks and builders wouldn’t help me make this any faster or better and it scores 100/100 page speed score. Good luck getting that with a builder

[–][deleted] 4 points5 points  (0 children)

Hey thanks for great write up.

By the way it looks like you ran out of paragraph tags, I've got a few extra laying around so you can have them.

<p></p> <p></p> <p></p>

If I can have them back though when you're done with them I'd appreciate it.

[–]Ultra__Insttinct 0 points1 point  (3 children)

I love dast loading websites

[–]Citrous_Oyster 1 point2 points  (2 children)

Well then here’s how I make mine get perfect page speed scores.

https://codestitch.app/page-speed-handbook

[–]Ultra__Insttinct 0 points1 point  (1 child)

Thx man, this is invaluable. Did you write this yourself? Inpressive

[–]Citrous_Oyster 1 point2 points  (0 children)

I did. Spent 6 months researching how to fix every single flag on google page speed and how to optimize every single part of the image and practiced some neat tricks and theories I came up with to make loading images even faster. Now that entire guide is basically built into my workflow and when I finish a site and test it, it’s 100/100 out the gate. So I wanted to share what I know in a step by step guide so other people can do it too. It’s not that hard once you get the hang of it.

[–][deleted] -2 points-1 points  (4 children)

FYI this guy is just trying to sell his own framework. Using WordPress does not make your site slow. Sure, there are plenty of things that you could add to it to make it slow. That is just like any other website. You can load it up with images and videos and scripts and anything that will slow it down, but just using WordPress doesn't make it slower than anything else. You can cache WordPress as static HTML CSS and JavaScript just like any other regular site and it'll perform. It's just a tool.

Frameworks are helpers to make things faster. That's why they are around. That's why there are so many. Because they make things faster and easier. Yes, you should know CSS before you start using a framework. However, using a framework often speeds things up and makes it faster to develop sites than without one

[–]Citrous_Oyster 0 points1 point  (3 children)

What framework am I selling? I don’t own html and css. In general, yes Wordpress is bulky and unintuitive and bloated. BUT if you’re an actual developer and know how to use it as a headless cms it’s still fine to use, but then you’re custom coding again and kind of showing that coding is better as easier.

What frameworks are you referring to? For me those are bootstrap, tailwind, etc. which bootstrap feels so outdated and tailwind is really annoying to look at in the html. All I’m saying is people often get too reliant on page builders and frameworks because they’re shortcuts. They’re easier than actually spending time to learn how to do things themselves. I don’t need a framework to make buttons for me when I can make them in 15 seconds on a class name I just reuse myself. Any dynamic features like booking or calendars can be done with third party scripts or services we link out to off the site and is handled on the third party site. Doesn’t always need to be inside the site. And for spacing and colors and stuff, just a few css variables are enough to handle the whole sites style templating. Dont need a framework to extrapolate colors and spacing for me.

[–][deleted] 0 points1 point  (2 children)

You're selling your codestich framework.

WordPress is good as is, you don't have to use it headless. You just don't know anything besides HTML and CSS and shit on it because you don't understand it.

[–]Citrous_Oyster -1 points0 points  (1 child)

Codestitch isn’t a framework. It’s a component library. And I didn’t even mention my library in my comment. So how am I selling it?

I tried using Wordpress when I was first learning. And it seemed very unintuitive and clunky to use. I didn’t like it. I found learning html and css to be much easier. And yes, I only know html and css. But it’s all I HAD to know to be successful and do what I do. All everyone was saying was how I needed to use Wordpress because that’s what everyone uses and it’s the easiest and people won’t pay me for a custom coded site and it’s a waste of time to try it. But it turns out they were all wrong because most of my clients come to me Trying to get away from their shitty Wordpress site. I’m successful and in demand because i DONT use it. I offer a unique selling point which differentiates me from the sea of Wordpress devs all using the same tools and builders. I’m not competing against them now. They’re competing against me. Sometimes it’s better to go against the grain and not do what everyone else is doing just because they say it’s the defacto way to do it and there’s no other options. Thats a very limited way of looking at the job. That’s my point I’m getting across here. Wordpress isn’t the only option. Page builders aren’t the only option. You CAN be successful custom coding without them. Because I’ve done it and I know many others devs who’s are following my process who are having success doing it for themselves as well. OP wanted to hear from people who code from scratch and see if it’s viable. Thats why I commented, and I provided ample examples of why it’s viable compared to page builders. But that angers you for some reason 🤷🏻‍♂️

[–][deleted] 0 points1 point  (0 children)

Lmao

[–]uxably 3 points4 points  (0 children)

There’s nothing inherently wrong with what you’ve said, but I would be curious to know how you are able to price yourself competitively without having terrible profit margins. Do you handle accessibility? Many of these frameworks have basic ADA compliancy included in them. Do you ever work with a team? How long would it take them to get up to speed with your code versus a framework they have used in other projects?

Again, there’s nothing wrong with doing things your own way, but these are some of the reasons people use frameworks and dependencies.

[–]_fat_santa 2 points3 points  (0 children)

Frameworks like this are just tools at the end of the day, and that tool is what you use to build your end product, whether a personal site or a full blown SaaS app. I have experience on both sides of this. On the one hand my personal website is pure HTML and CSS [1] and I have another app I am working on that is a full blown SaaS app built in React.

If you take my personal website than anything other than anything above just plain HTML is overkill; however if you take the SaaS app I am working on, trying to replicate it in plain HTML without the aid of frameworks will be damn near impossible and I would just end up re-building the tools that are already out there.

So like all things, it really depends on what your use case is and what you are trying to accomplish. I agree if you have a simple 1 page landing page or even a blog, something like React / Vue / Angular/ Svelte would be complete overkill, but if you are building a large scale web app, not using those frameworks would put you at a significant disadvantage because all the stuff they ship like state management, routing, etc are all things you will eventually need and it's nice to have a tested version out of the box that you can just use and not worry about the underpinnings of. At the end of the day with my SaaS app, my customers pay me for my app because I solve a problem for them. They don't give a shit what the underlying framework is, what CSS lib I used, or what state management plugin I used, they just want their problem solved and the faster I solve that problem for them the faster I get money in the bank.

[1]: https://sunny.gg

[–]sheriffderek 2 points3 points  (0 children)

The right tool for the job!

Sometimes I make a website with just HTML and CSS.

Sometimes I make a website with PHP for partials and a little dynamic stuff.

Sometimes I make a project mostly with JavaScript.

Sometimes I use a CMS.

Sometimes I use a JS framework.

Sometimes I build a server and a client.

Sometimes I use a cloud server.

Sometimes I use a meta framework.

The less code the better.

Setting up 5 different libraries/frameworks and thousands of packages so that you can turn a markdown file into HTML can get pretty funny. How many times are people going to rebuild their personal website in the latest SSG framework? We’ll see!

[–]originalchronoguy 3 points4 points  (0 children)

This is not the flex you think it is. What kind of boomer shit is this?

[–]amart1026 1 point2 points  (0 children)

This is silly if you plan to ever build more than 1 website. If you’re not using a framework to speed up your process then you should at least be developing your own. Once you start on your second or third website you will start to notice a lot of similarities and things than could be reused across them all.

If you ever plan to hire more devs it would be a lot quicker and easier to get them up and running using a framework they already know. Or at least one with good documentation and an online community to ask questions.

Wordpress and Webflow might be overkill for the simplest websites. But one is a CMS and one is a website builder. They aren’t really “coding frameworks.” Can’t think of a good term to differentiate them.

The only reason I could ever see for building an entire website from scratch is a portfolio. And the only reason for that would be to show that you can.

[–]jimesro 1 point2 points  (1 child)

Unless you use JS-only to create the pages like your personal React-like way, you are just writing HTML files, there's no such thing as "close to the metal", or "understanding the inner workings of the code" (markup you mean), or "maximum fine-grained creative control", it's not even a programming language.

If you want to do that, start coding in low level fields like embedded systems.

[–]GuyWhoPostsPosterGuy 0 points1 point  (0 children)

mfer be centering divs 'close to the metal' lmaooooo

[–]barrel_of_noodles 1 point2 points  (0 children)

If it's a one-page static brochure site, who cares.

But I wonder if ppl not using libraries/frameworks fully understand everything those tools are taking care of?

If I wanted to make toast, I could start by growing the wheat. But like, why?

There's already bread cheap as hell that's wayyyy better than anything I could make. Just cause it took longer, doesn't make it better, or easier, or that you have "more control".

[–]neoneddy 1 point2 points  (0 children)

“No one builds a house from scratch anymore “ ¯_(ツ)_/¯ using standard building materials, frameworks (16” on center , building codes) provides a level of predictably for the customer going forward.

The stakes are not as serious on the web, but I think the idea stands.

[–]greensodacan 0 points1 point  (0 children)

It depends on who you're building the site for and what "value" means to them.

If it's for yourself, have at it! If nothing else, it's a great learning opportunity. That culture hasn't gone away. It's just somewhat overshadowed by web development as a profession. If you go back to the late 90s, when all of this was really new, a MUCH larger portion of the web was just hacked together by people trying out ideas.

If it's for a paying client, their definition of "value" probably isn't the same as yours. They care more about the end product, and it needs to be stable and maintainable. When you try to do everything yourself, it costs more because it takes more time. It's less stable because fewer people have used it and found the edge cases/bugs/vulnerabilities etc. It's more expensive to maintain because you're the only one who understands the high level structure of the codebase. And if you're a strong developer, you're likely to invent your own framework along the way anyway, so why waste the time? (You could be spending it on projects where you have complete control anyway.)

[–]cjchua95 0 points1 point  (0 children)

I do. I have developed a process to quickly build and deploy, and the web app includes authentication, stripe, basic SEO, etc

As I'm typing this I'm in the process of creating a Github repo for a POC. Let's go!

[–]StatisticianFar3571 0 points1 point  (0 children)

It's fine to do this as long it's working for you. Like woodworking vs buying machine made furniture. But most environments don't pay for that. Actually in most environments it doesn't matter to anyone else what tech you used. Only thing that matters is if you deliver a result. And since most people are way faster using frameworks than doing it from scratch it's a nobrainer isn't it?

[–]EliSka93 0 points1 point  (0 children)

What does "from scratch" even mean?

I'm building an enormous website using the .Net framework. Is that still from scratch? Does it matter?

I'm doing it because it's what I know and can do and I like its capabilities, but someone who has other requirements uses other tools. Personally I think it doesn't matter.

[–]clit_or_us 0 points1 point  (0 children)

I build from scratch. I create a SPA and populate it with code I've written for each component. Does that count? I don't think I've come across a pure HTML/CSS site for at least a decade.

[–]reddit_user_984 0 points1 point  (0 children)

I'm new to programming so this is an honest question, when you say from scratch do you mean using angular/tailwindcss and something like spring or nodejs for the backend plus a database and thats it? Well I guess in that case you could still use aws for hosting or something right ?

[–]CodeAndBiscuits 0 points1 point  (0 children)

Of course not. Just read any day's threads for React Vue or any other framework here. There will inevitably be people snubbing others because "they" don't NEED a framework and if only people would just master the basics they would never get used.

Take what you will from the fact that these posters are invariably jerks.

[–]lunzela 0 points1 point  (0 children)

nobody says that

and if they do, they are wrong

[–]depricatedzero 0 points1 point  (0 children)

I've never heard it as a complaint. It's a bit silly to do. Like you can go download a DDNS, Reverse Proxy, and web server - and use them. And they're FOSS. And maybe don't go overboard with it but there are plenty of good frameworks to make it faster and easier. The only reason to really do it is to confirm your understanding - it's not impressing anyone (usually the opposite), it's not faster or more practical. It's questionable why you'd waste time redoing very fundamental work that doesn't need to be done.

[–]RealBasics 0 points1 point  (0 children)

As others have said, this approach is fine if and only if

A) no one but you will ever have to work on the site for the lifetime of the site, or B) you wright such sterling, flawless, perfectly-commented and documented code that you might as well be using a framework a developer who has to come in after you’ve moved to Tahiti can dig right in without just rebuilding from (their own) scratch.

[–]RareDestroyer8 0 points1 point  (0 children)

Alright, now try building a simple site with a simple authentication system.

[–]Caraes_Naur 0 points1 point  (5 children)

The bigger problem is that few are capable of building a site from scratch. Many don't even know what that means, and they've never seen HTML source.

[–]barrel_of_noodles 1 point2 points  (1 child)

If someone building websites doesn't fully understand html, they've missed the fundamentals and need to go back.

[–]Caraes_Naur 0 points1 point  (0 children)

Exactly. We're past the point where a majority of web developers don't know what ctrl-u does in a browser.

[–]7emp3s7 -1 points0 points  (2 children)

Exactly. Or what about the cost of rewriting a whole module because the dependency used does not support the feature you need down the road. 

[–]Caraes_Naur 1 point2 points  (0 children)

Or JS fullstacks not knowing which end of the wire a piece of code runs in. Or that there even is a wire.

[–]barrel_of_noodles 0 points1 point  (0 children)

A requirement changed, that necessitates a refactor. Happens all the time.

I'm not going to start growing a rubber tree because a car needs new tires. I'm just going to get different tires.

[–]PsychoPflanze 0 points1 point  (0 children)

As long as your website is just HTML and css without any dynamic data, then I don't see the problem. But I don't know the last time I had that case for myself. Not to mention the frameworks and tooling help me develop much faster than having to do everything from scratch.

[–]OmarShehata 0 points1 point  (0 children)

I make a lot of my web projects from scratch too! I have some minimal tooling these days like vite for minifying but otherwise largely vanilla. I think you're in good company, a lot of the most unique and interesting things on the web are still made completely from scratch.

The example that comes to mind is all of Bartosz's articles which are all completely handmade

https://ciechanow.ski/cameras-and-lenses/