Do you want to build a website?

In summary, the conversation discussed different ways to create a website, including using services like Wordpress.com and Squarespace, creating a standalone single page application (SPA), a static website, a web server application, or a modern API driven web application. The advantages and disadvantages of each method were also mentioned, including ease of use, cost, and scalability. It was noted that without knowing the type of website needed, it is difficult to give specific advice. The conversation also touched on the importance of considering the purpose and goals of the website before deciding on a specific method.
  • #1
pbuk
Science Advisor
Homework Helper
Gold Member
4,509
2,835
I wrote this in response to a recent thread start here which is now deleted, but this is close enough to a common question that I don't think has been answered (recently) here, so here goes...

A variety of services exist to create websites such as Wordpress.com, Squarespace and Shopify where you do not have complete control over the site: these are out of scope here.

If you want to build a website where you have complete control of its content and functionality there are (at least) four distinct ways to do this relevant in 2023:

  1. A standalone single page application (SPA).
    • As this runs in the browser it is written in JavaScript (or another language that compiles to JavaScript e.g. TypeScript).
    • In 2023 most SPAs are written using a front-end framework such as React, Vue or Svelte, although very simple applications (typically those with little user input) can be hand coded.
    • Searching can again be implemented by hand or handled by a library such as Fuse or Lunr. In either case this requires the whole search database to be downloaded by the user and is therefore only feasible for small databases.
    • The website can be hosted at low cost on any web hosting service, and in many cases can be hosted for free using services such as GitHub Pages or Netlify.
    • The solution can cheaply scale to millions of users using a content delivery network (CDN).
    • Advantages: easy, cheap and performant.
    • Disadvantages: limited to small amounts of data.
  2. A static web site.
    • It is possible to create every page you want individually by hand or by using an editor such as Dreamweaver, but in 2023 this usually consists of multiple pages generated from templates.
    • (JavaScript) code is only required for implementing things like searching and feedback forms.
    • Most such sites are built by a static site generator such as Hugo, Gatsby, Jekyll or Eleventy which can run on your local computer and the files are then uploaded to a web host or CDN.
    • Again the solution can be hosted at low cost and cheaply scale to millions of users using a CDN.
    • For limited amounts of data, searching can again be implemented in the browser. For larger amounts of data a service such as Algolia can be used, however this does not scale cheaply.
    • Advantages: easy, cheap and performant; can handle enormous amounts of data.
    • Disadvantages: not suitable for significant amounts of user interaction (e.g. a shopping cart).
  3. A web server application.
    • This runs on a web server and can be written in many languges including Python, Node JS, Java or Ruby, but the most accessible (due to the low cost of hosting services) is PHP.
    • Open source applications can be used or adapted for many use cases, perhaps most significantly WordPress which is behind millions of websites and MediaWiki which powers Wikipedia (however note that both WordPress and MediaWiki come with a heavy technical debt and should be approached with caution).
    • Because every user interaction requires a 'round trip' to the web server and rebuilding of the page in the browser from scratch performance can be slow, particularly for mobile devices.
    • Whilst small numbers of users can be handled by a cheap web host, as usage increases the costs and technical support required increase.
    • If the requirements are simple the code can be written from scratch: more complicated applications either use or adapt an existing application, or are based on a framework such as Laravel or Symfony (PHP), Django or Flask (Python), or Express (Node JS).
    • Advantages: easy and cheap for relatively small numbers of visitors.
    • Disadvantages: slower than other solutions; cost and support resource requirement escalate with larger numbers of visitors; security needs to be managed for any non-trivial user interactions.
  4. A modern API driven web application.
    • In 2023, modern applications consist of a front-end application running in the user's browser communicating with a back-end server via an API (pronounced 'ay (as in say) pee eye').
    • Decoupling the front and back ends provides a number of advantages including the near instant response of an SPA and the practically unlimited scalability of a web server. If you want to build the next Amazon or Google, this is the way to go, although it is still possible to start from scratch leveraging modern frameworks such as React or Vue for the front-end and Laravel for the back-end, hosted on a cheap web host.
    • A decoupled back end means that you can also develop native applications for mobile devices.
    • Third party APIs can easily be integrated such as FirebaseUI for user registration and login.
    • Advantages: easy and cheap for relatively small numbers of visitors; easy integration of third party services; potentially high performance and unlimited scalability.
    • Disadvantages: cost and support resource requirement escalate with larger numbers of visitors; security needs to be managed for any non-trivial user interactions.
 
Last edited:
  • Like
Likes PeroK and jtbell
Technology news on Phys.org
  • #2

I want to build a website​


Without your saying what KIND of web site you want, any advice we give you would be meaningless. Do you want to sell things? Is it just an informational site? WHAT?
 
  • #3
pbuk said:
thread start here which is now deleted (for good reasons)
It may have been the OP's post #666 so we barely escaped!

I think the before you deal with "what" you need to think about "why". I have a very small personal website which is entirely file: commands. It's a slightly more flexible and unversal ways of handling bookmarks.

It may be that it is "better" to build this with a sophisticated back end, maybe using a databasee, but this is good enough. In a past message I draw the analogy with siftware design as a doghose, a person-house and a skyscraper. This is a doghouse and for its job a doghouse is fine.
 
Last edited:
  • Haha
Likes pbuk
  • #4
Not knowing who asked the original question now removed and what the needs and specifications were, maybe worth being aware, several years ago there was a program containing a big bunch of possible documents to build, called ThePrintShop, or The Print Shop. The company was Broderbund. The program included the ability to create web pages. (Most people would use the program for making greeting cards and other things).
 
  • #5
phinds said:
Without your saying what KIND of web site you want, any advice we give you would be meaningless. Do you want to sell things? Is it just an informational site? WHAT?
OK, I chose a bad title: I have changed it.

Vanadium 50 said:
I think the before you deal with "what" you need to think about "why". I have a very small personal website which is entirely file: commands. It's a slightly more flexible and unversal ways of handling bookmarks.
That would fall under category 3.

Vanadium 50 said:
It may be that it is "better" to build this with a sophisticated back end, maybe using a databasee
I don't think I imply that, but I have added in "If the requirements are simple the code can be written from scratch".

symbolipoint said:
The program included the ability to create web pages.
Yes there are a number of such programs, and also services such as Wix. I have focussed on the four solutions described for a number of reasons, but perhaps mainly because they relate to the (now deleted) question - I had already written the answer before it disappeared and didn't want to throw it away! I could add something referring to these possibilities.
 
  • Like
Likes symbolipoint
  • #6
pbuk said:
OK, I chose a bad title: I have changed it.
I understood that by the original title, you weren't asking how to create a website; rather, you were providing some guidelines for people who have asked this question in the past and others who might do so in the future. That fact seems to have eluded several of the people responding in this thread.
 
  • #7
Yeah, I missed it --- the original title DID seem to pose a question, sort of.
 
  • #8
I'm sorry, every time I see this thread this is all hear...
1688696317320.png
 
  • #9
DaveC426913, post #8
Reminder of Geocities, from the past; something that Yahoo allowed for account-holders.

There was also something through AOL called "Outlook" (completely unrelated to the MicroSoft program or service).
 
  • #10
symbolipoint said:
DaveC426913, post #8
Reminder of Geocities, from the past; something that Yahoo allowed for account-holders.

There was also something through AOL called "Outlook" (completely unrelated to the MicroSoft program or service).
Remember one million pixels? Actual website:
1688697391611.png
 
  • #11
pbuk said:
1. A standalone single page application (SPA).
Can you give an example of this that is not an example of your #4?
 
  • #12
pbuk said:
A static web site.
  • This consists of multiple pages generated from templates.
I suppose nobody in their right mind writes HTML code from scratch nowadays, but that's what I did in 1996 after setting up the first experimental web server at the college where I taught. My site was originally plain-vanilla HTML. Later I added some CSS for formatting, and then some PHP code for convenience, but it's still basically the same site.

A couple of years before I retired, I moved it from a college server to a commercial server under my own domain name.

I suppose one could consider it "generated from templates" now, because I create new pages by cloning existing ones and editing them.

If I were starting from scratch now, I'd probably use Wordpress, or a template for an image-gallery site. However, I have enough legacy content that it would be a lot of work to convert to a new format, so I continue with the old "dinosaur-style" format.
 
  • Like
Likes pbuk
  • #13
pbuk said:
1. A standalone single page application (SPA).
Can you give an example of this that is not an example of your #4?
 
  • #14
PeterDonis said:
Can you give an example of this that is not an example of your #4?
  • How about the the cosmological calculator created by PhysicsForum members (many years ago: perhaps it looks a bit dated now)?
  • Most of the games here: https://github.com/proyecto26/awesome-jsgames.
  • You could perhaps include the Desmos graphing calculator (or the other Desmos calculators) - the heavy lifting is entirely implemented in the front end and it only makes server requests related to user accounts, loading and saving data etc.
  • Any one of thousands of hobby projects and portfolio sites for computer science students and graduates.
 
Last edited:
  • #15
jtbell said:
I suppose nobody in their right mind writes HTML code from scratch nowadays
My slightly-more-sophisticated-bookmark page was written that way. Doghouse metaphor and all.

jtbell said:
in their right mind
Oh.
Never mind.
 
  • Haha
Likes berkeman and pbuk
  • #16
jtbell said:
I suppose nobody in their right mind writes HTML code from scratch nowadays, but that's what I did in 1996 after setting up the first experimental web server at the college where I taught.
I had a similar experience back in about '95, as one of three or four members of the math department at the college where we taught. My part was putting together 8 or 9 Java applets and some other stuff in Javascript, plus associated hand-crafted HTML. The overall purpose was to create a precalc class that would be entirely online. The Java applets consisted of illustrations that were generated based on student input. Some examples that I recall include one for finding the dimensions of a kite whose area was maximized, working with a fixed length of carbon fiber rod to be cut for the crosspieces. The student would input the cut point, and the applet would calculate the area and draw the resulting kite. Another was finding where to sit in a theater to maximize the viewing area, based on the distance to the screen. A student would input that distance, and the applet would calculate the screen area and draw the portion of the screen that would be visible. It's been long enough that the details of the actual problem escape me to some extent.
 

What is the purpose of building a website?

The purpose of building a website can vary depending on the individual or organization. Some common reasons include creating an online presence for a business, sharing information or resources, selling products or services, or simply expressing oneself through a personal website.

What is the process of building a website?

The process of building a website typically involves several steps, including planning, design, development, testing, and launch. First, the purpose and goals of the website should be determined. Then, a design or layout is created, followed by the development of the website using coding languages such as HTML, CSS, and JavaScript. After the website is built, it should be thoroughly tested for functionality and compatibility with different devices and browsers before being launched.

Do I need to know how to code to build a website?

No, you do not necessarily need to know how to code in order to build a website. There are many website builders and content management systems (CMS) available that allow you to create a website without coding. However, having some knowledge of coding can be helpful in customizing and optimizing your website.

How long does it take to build a website?

The time it takes to build a website can vary depending on the complexity of the website and the skills of the person or team building it. Simple websites with pre-made templates can be created in a matter of hours, while more complex websites with custom designs and features may take weeks or even months to build.

How much does it cost to build a website?

The cost of building a website can vary greatly depending on the approach taken. Building a website using a website builder or CMS can be relatively inexpensive, while hiring a professional web developer or agency can be much more costly. The cost may also depend on the features and functionality needed for the website. It is important to carefully consider your budget and goals when deciding how much to invest in building a website.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
22
Views
934
  • Feedback and Announcements
Replies
0
Views
94K
  • General Discussion
Replies
4
Views
1K
  • Computing and Technology
Replies
4
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
2K
  • Feedback and Announcements
Replies
13
Views
3K
Back
Top