9

Do people develop websites from scratch when there are no particular requirements or they just pick up an existing web framework like Drupal, Joomla, WordPress, etc.

The requirements are almost similar in most cases; if personal, it will be a blog or image gallery; if corporate, it will be information pages that can be updated dynamically along with news section.

And similarly, there are other requirements which can be fulfilled by WordPress, Joomla or Drupal.

So, Is it advisable to develop a website from scratch and why ?

Update:

to explain more as got commentt from @Raynos (thanks for comment and helping me clearify the question), the question is about:

  1. Should web sites be developed and designed fully from scratch?

  2. Should they be done by using framework like Spring, Zend, CakePHP?

  3. Should they be done using CMS like Joomla, WordPress, Drupal (people in east are using these as frameworks)?

Ali
  • 1,222

7 Answers7

16

Should web sites be developed and designed from scratch fully?

No.

Should they be done by using framework like spring,zend, cakephp?

Yes.

Should they be done using CMS like joomla,wordpress,drupal?

Yes.

Here's the rule.

Write Less Code. Get things done sooner.

Create value as quickly as possible, writing as little code as possible.

S.Lott
  • 45,522
  • 6
  • 93
  • 155
10

or using existing frameworks like Drupal, Joomla, WordPress is the norm now?

Certainly not for me; I think if you have reasonably complex business logic it is advantageous to develop from scratch. Well, when I say scratch I am using Spring.

NimChimpsky
  • 4,670
8

A Web Site is best served by a CMS.

A Web Application is not well served by a CMS. Some sort of coding framework may be helpful though.

The key is to ask yourself where on the scale from Site to Application you are. If most of your pages are about presenting information, lean towards a CMS. If they are about doing something, lean towards a framework.

4

Build From Scratch

At my last job (3 years ago) we built every website (all 300+) from scratch. We owned the servers. We knew exactly what was happening to our servers. We were a small shop 6 people. Our customers did not want to look like they came from a template.

Today, I see a ton of BLOAT that is caused by these web toolkits. View the source on some of the newer websites and look how much JS code is being imported/called. If you rely on all these external libraries to pull off the "Web Magic" then you better know how to tweak or fix it if it doesn't perform as expected.

For example: A customer wants "Futura" font which is not readily available on all machines. So, instead of telling the customer that "Futura" is a poor choice for a website font, you find a JavaScript library that embeds the font directly into the page. After the page loads then "Poof" the font changes from Times New Roman to the embedded "Futura" just like magic. If you can't fully support it don't use it.

We didn't build every thing from scratch. When ever a customer asked for a new widget would often ask ourselves... "Is this a Build or Buy" widget. If we could interface the widget into our existing code without too much trouble we'd buy it. We rarely bought widgets that we couldn't brand to be our own. We never bought widgets that did not include source code.

If you only build websites as a hobby or just do 2-3 a year then perhaps it's not worth it for you to build it from scratch... just be careful where you get code from. Ultimately it's your reputation.

3

The requirements are almost similar in most cases

Interactive web site or web application development is mostly a solved problem and this is evident in the powerful tools that exist today to support rapid development that didn't exist even 10 years ago.

The similarity in requirements usually fall under the typical boilerplate concerns that most web applications carry (Eg. Authentication, Authorization, Instrumentation, Data Access/ORM, Transaction Management, etc...).

We have today combinations of AOP (Aspect Oriented Programming) with DI (Dependency Injection) to help turn cross-cutting concerns from codes into configurations. See Spring for a practical implementation of such frameworks.

So when you talk about developing a website "from scratch" then you need to be more specific about that. I can build a website from scratch from tested and verified components or I could reinvent the wheel and design and build each one of my components individually which would be a rookie mistake. If I wanted to build a car, I would find and buy components like tires and radiators and assemble a car, I wouldn't start forming tires from moulds or forging steel. Those problems were solved long ago.

maple_shaft
  • 26,570
2

It really depends on the goals of the site, and what they're trying to present.

Yes, a lot of sites are using frameworks if they're making sites that sit well with that kind of thing, but (especially at the moment) a lot of companies want to do more with their pages (or think they're doing more) so will develop everything completely from scratch.

Which way is better really depends, again, on the goals of the site. Neither way is worse, exactly, but simply a decision the companies need to make on a per-site basis.

Trezoid
  • 666
1

If you want to get a prototype fast, you use a CMS (drupal, joomla etc.).

If you want to complete a project for a client you use a framework so you don't have to reinvent the wheel. Be it Django, Ror, symfony, spring etc.

For a personal project which are usually made to learn things, you can start from scratch. It's useful to try doing some things yourself to appreciate the power of those frameworks.

Arkh
  • 591