Best way to start making a website?

  • Thread starter Jarfi
  • Start date
In summary: You will need to learn a server side programming language to build a dynamic website. HTML5 is the future, but you should start with HTML to get a good foundation.
  • #1
Jarfi
384
12
I already know java and my fair bit in tech, had some experience building a website in an into course once.

But I want to learn the professional way to build a website. What is the way to build a website that is fast but also not lacking and has all the possibilities?
 
Technology news on Phys.org
  • #2
Jarfi said:
I already know java and my fair bit in tech, had some experience building a website in an into course once.

But I want to learn the professional way to build a website. What is the way to build a website that is fast but also not lacking and has all the possibilities?

You learn the professional ways, by working on sites over the years. You need experience. A person does not become a master without experience. So, read up on design and programming principles, learn the languages and then start creating. It must be a hobby before a profession imo.
 
  • #3
Greg Bernhardt said:
You learn the professional ways, by working on sites over the years. You need experience. A person does not become a master without experience. So, read up on design and programming principles, learn the languages and then start creating. It must be a hobby before a profession imo.

And that's what I am aiming at, self teaching, I just don't know the platforms or where to start.
 
  • #4
Define "professional way of building a website".

Do you want to start with your own server, or with a hosting site? Do you want something that has good looks, or something that is fast? (Not that these are exclusive). Do you want something based on a ready CMS, or do you want to code one by yourself? There are so many answers to your question as there are web developers.
 
  • #5
Jarfi said:
And that's what I am aiming at, self teaching, I just don't know the platforms or where to start.

What specifically are you stuck on? Have you read through an HTML book?
 
  • #7
Greg Bernhardt said:
What specifically are you stuck on? Have you read through an HTML book?

Not sure if I should start with HTML or XHTML, I'm not stuck no. Figuring where the best spot to jump in the deep pool is.
 
  • #8
Jarfi said:
Not sure if I should start with HTML or XHTML, I'm not stuck no. Figuring where the best spot to jump in the deep pool is.

HTML5 is the future. Learn CSS3 too.
 
  • #9
I agree w/ Greg. Learn HTML (and use the HTML5 protocol, not earlier) and when you've gotten just a bit familiar with that, start to bring in CSS

If you start with one of those "do it all for you" tools, you won't have any idea what to do when things to wrong because the underlying markups will mean nothing to you.
 
  • #10
Assume the only tool you need is a text editor, perhaps with a syntax highlighting. No fancy HTML editors, as they will just hide the real thing from you.
 
  • #11
Borek said:
Assume the only tool you need is a text editor, perhaps with a syntax highlighting. No fancy HTML editors, as they will just hide the real thing from you.
I recommend Notepad++
 
  • #12
I have not mentioned any specific program as it I have no idea what OS Jarfi uses. But yes, under Windows Notepad++ is a very good solution.
 
  • #13
It depends whether you want to build a static website or a dynamic website (with a database behind it). A static website only requires HTML/CSS and perhaps some JavaScript if you want to make it a bit fancy/flashy.

If you are building a dynamic website that has lots of content sitting in a database (like this forum, or a blog maybe, or a news site, or whatever), then you probably want to use a server side programming language and handle HTTP requests dynamically.

For that, you can use pretty much any language, but maybe start with one you are familiar with (Python? Java? PHP?). There are many frameworks out there for any given language that will make this easier for you, but you probably need to make a few decisions yourself with regards to what you want to pursue.

Edit: you mention you know Java. Why not have a look at Java servlets? A servlet handles a HTTP request, does some decision making perhaps, builds a web page based on that and sends it back in a HTTP response. You might also look at JSP and JSTL.
 
Last edited:
  • #14
Adyssa said:
It depends whether you want to build a static website or a dynamic website (with a database behind it). A static website only requires HTML/CSS and perhaps some JavaScript if you want to make it a bit fancy/flashy.

If you are building a dynamic website that has lots of content sitting in a database (like this forum, or a blog maybe, or a news site, or whatever), then you probably want to use a server side programming language and handle HTTP requests dynamically.

For that, you can use pretty much any language, but maybe start with one you are familiar with (Python? Java? PHP?). There are many frameworks out there for any given language that will make this easier for you, but you probably need to make a few decisions yourself with regards to what you want to pursue.

Edit: you mention you know Java. Why not have a look at Java servlets? A servlet handles a HTTP request, does some decision making perhaps, builds a web page based on that and sends it back in a HTTP response. You might also look at JSP and JSTL.


Would you say using java and java servlets classes has more possibilities then HTML5 and CSS for "flashy" web designs that will also store data?
 
  • #15
Java and servlets in general are quite separate from HTML and CSS. They serve up HTML and CSS to a requesting client. So you can make your front end, in HTML and CSS, however you want.

Where servlets come in handy, is when you want to process a request differently each time.So if you have a page where you want to display 'the 5 newest forum' posts, you might use a servlet. The client navigates to www.yourwebsite.com/the5newestpostspage, your servlet is mapped to this address so the client is actually hitting your servlet when they navigate to it. Your servlet hits the database with a query like 'SELECT * FROM posts ORDER BY id DESC LIMIT 5' (i.e give me the top 5 results when I sort posts by id in descending order), and then processes the query results and generates a HTML page and then sends this HTML in a response to the client.

This is how most dynamic web pages are dynamic. HTML doesn't know anything about databases. It's just a document markup language. CSS is just a styling language. You need a proper programming language to do your data processing.

So if by 'flashy' you just mean what it looks like, then no, you don't need Java (or any other serve side programming language), but if you want dynamic data and perhaps a lot of processing of that data, then yes, you want Java (or any other server side programming language) to handle that.

You can store data client side with HTML5 (kind of like you can store data in a cookie on the client) but this is kind of different. You might store user preferences in a HTML5 datastore (for example, this client wants the 'blue' theme, and the 'xxx' widget and their timezone is 'some timezone') but you don't store forum posts client side, you store them in a database on your web server and you make a website with Java, or PHP, or whatever to serve HTML to a client.
 
  • #16
This small book is the best of many for learning about web coding and its tangled history: http://www.abookapart.com/products/html5-for-web-designers This book clarifies the different HTML standards, and does a great job of it. The book is only 85 pages, and is succinct and efficient and communicating about web development, which is a more complicated matter than it seems at first.

For some reason, they won't sell it on Amazon so you have to order it directly from the publisher. There is a companion book for CSS3 from the same publisher, also quite good.

The other big decision you have to make is whether to host your website on a Linux server or a Windows server. There are annoying differences in the two platforms, such as how permissions are determined and whether the filenames are case sensitive (on Linus they are, on Windows not). I am rare in that I have used both platforms about equally, although I prefer Windows because I really like the Microsoft development tools (free) these days, and I find it less work overall that on Linux, where I sometimes have to set permissions on each file individually. However, either works equally well; as a beginner, pick one and stick with it for awhile until you've learned HTML5 and CSS3 thoroughly.

I would advise against learning scripting languages such as Javascript, or server-side languages, initially. It will be too much. First learn to make a decent, static page using HTML5 and CSS3 that is standards-based and works well in all browsers. Then you can branch out into using programming languages if you are feeling up to it.

Also, you will need a good FTP client to transfer files up to your website. I use FileZilla, which is free and very good. It works equally well with either Linux or Windows.

Try to learn to provide an HTML standards declaration on all your web pages, and also a character encoding. If you don't learn about these things, simple web pages will work anyway, but someday if you have content that includes, say, non-English names or spellings, you may find that unless your page has adhered to standards, the page won't display correctly for some users.

Good luck!
 
Last edited:
  • #17
You say you have experience with java? I recommend building the webserver yourself (it's not more than 1500 lines) and then using notepad++ for HTML, HTML5, CSS and Javascript. This gives you a high level of control and doing everything server side makes your site extremely secure. I find it easier to use a language like java to do the webserver because the database management is more effiecnt aswell.But that's just me and everyone I know ;)
 

1. What is the first step in making a website?

The first step in making a website is to plan and gather all the necessary materials. This includes deciding on the purpose of the website, determining the target audience, and creating a content outline.

2. Do I need to have coding experience to make a website?

No, you do not need to have coding experience to make a website. There are various website builders and platforms available that allow you to create a website without coding knowledge.

3. What are the essential elements of a website?

The essential elements of a website include a clear and user-friendly navigation menu, engaging content, visually appealing design, and a responsive layout that can adapt to different devices.

4. How do I choose a hosting provider for my website?

When choosing a hosting provider for your website, consider factors such as uptime, storage space, bandwidth, customer support, and security features. Research and compare different options to find the best fit for your website's needs and budget.

5. Is it necessary to optimize my website for search engines?

Yes, it is necessary to optimize your website for search engines to increase its visibility and attract more visitors. This includes using relevant keywords, creating high-quality content, and following SEO best practices.

Similar threads

  • Programming and Computer Science
Replies
4
Views
1K
  • Programming and Computer Science
Replies
15
Views
1K
  • Programming and Computer Science
Replies
5
Views
935
  • Programming and Computer Science
Replies
6
Views
1K
  • Programming and Computer Science
Replies
3
Views
2K
  • Programming and Computer Science
Replies
4
Views
1K
  • Programming and Computer Science
Replies
9
Views
1K
  • DIY Projects
Replies
23
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
22
Views
1K
  • Programming and Computer Science
Replies
7
Views
1K
Back
Top