Nowadays, everyone can own a website. All we have to do is to purchase a domain name, sign up a web hosting, develop your content, and publish it on the internet. Sounds complicated?
The questions that are commonly asked: What programming language should I learn? What level of coding expertise is required? How much is the cost of hosting a website? How should I maintain it?
Demystify website development
Generally, there are two widely used method to build a website:
- Build from scratch with HTML, CSS, Javascript, PHP etc.
- Content Management System, for example WordPress.
HTML and CSS are the basic skeleton of the client side frontend. HTML, or Hypertext Markup Language, will decides the structure of a web page. Whereas CSS, or Cascading Style Sheets, will decides how the visual and layout of the webpage. Both complement each other and would be suffice to form a static website. If you want to add some interactive features to the website, JavaScript will come into the picture. If there is a need of backend for your website, then server-side language such as PHP and Python will be used.
Seems intimidating right? Don’t worry, we have WordPress as an alternative. WordPress is an open source content management system which is written primarily in PHP. The next question: do you need to know how to code with PHP language? It depends. If your objective is to create a simple website that uses the available template and plugins, there is no need to know PHP (unless you are a developer who want to create your own plugin). On this basis, WordPress is famous among the people who want to create website fast and be able to maintain the web content easily. For those who want to create an e-commerce website, simply integrate WooCommerce plugin with your WordPress website and start developing.
Web development, where to start?
Today, website building know-how is very open source and we can find reference from all over the internet. To simplify your understanding, let’s break it down into 4 main steps:
- Plan and prepare website content.
- Register a domain name.
- Choose a web hosting company.
- Develop your website and publish them.
Preparing website content includes understanding the objective of the website, the information to be published, prepare the required media resources and visualizing your website layout. One possible way to visualize your layout is by creating a wireframe, which is basically a sketch of your desired UI. This can be done in many ways like in powerpoint slides or handsketch. You can also do it on online resources such as wireframe.cc, which is offered free-of-charge for basic wireframe features.
The most famous web hosting companies like Bluehost and Godaddy usually comes with a free domain name and SSL certificates. Hence, it is recommended to do step 1 and 2 with the same hosting company. Depending on your hosting plan and payment term, the price can be as low as just USD $2.95 per month.
Amazon Web Services (AWS) is also getting more popular these days. Simply sign up for an AWS account and enjoy free-tier for up to 12 months. AWS does not offer free domain name and SSL certificate, hence will need to be purchased separately via Amazon Route 53 services. But the good thing is, AWS offers a broad range of cloud services with excellent service availability that you can integrate them to develop a highly robust web application. This is particularly useful for developers that is working on a more advance use cases. For simple static website, Amazon S3 coupled with CloudFront will be sufficient. For WordPress website, Amazon Lightsail is the right option.
Next is the development, which is the step that requires the most effort from you. But how to do it? Signing up an online course is the best way to build a strong fundamental in website building principle. The most common online course websites are Udemy, Coursera and edX which offer a structured and comprehensive web development courses at an affordable price.
Stack Overflow can also be a great source of learning, especially for a more specific area that you want to get a quick answer for troubleshooting and problem solving. Stack Overflow is an online public forum which allows anyone to post questions or contribute answers for coding related topics. There is a saying that a great programmer is not the one who can write codes from scratch, instead it is the one who knows where to find answers in any circumstances. I would say 99% of the issues that you face would surely be encountered previously by someone somewhere and posted in the forum. Hence, all you need to do is to know what keywords to be searched in the forum.
Another source of learning, which probably out of your expectation, is YouTube. Many freelance programmers and content creators have actually contributed step-by-step tutorial for all range of coding and development challenges. Same as the forum, search the right keyword in YouTube and the relevant videos are there to answer, if any.
Summary
Website building may look intimidating at the first glance. But there is always the first step to be made. There is no better way than to start developing a website on your own.
Sign up a course is a good way to build your fundamental. Some online course providers include Udemy, Coursera and edX. Free resources such as Stack Overflow and YouTube are also helpful as long as you search with the right keywords.
Web hosting solutions such as Bluehost, GoDaddy and AWS are highly accessible and low cost today. AWS also offers free-tier account, which you can access their cloud services like S3 and Lightsail for up to 12 months. You can simply sign up the free-tier account and experiment your web deployment.
In summary, it is definitely not easy to develop a perfect website. However, with enough practices and the experience you go through an actual website development will surely help you to pick up the necessary skillsets. Remember that practice makes perfect.