Want to be a Web Developer, but don’t know where to start?
Where to start?
Internet is a good source of knowledge for any kind of research. There are tons of books written on many web programming languages. Learning from books and tutorials can be a good way to build your foundation. Actually you don't need to have deep understanding at the beginning. You need to understand the basic concepts of how it works and how to use it. A lot of times, beginners try to memorize the syntax without actually knowing how it works. For example, you can learn how to write a simple script to read and write to a database without understanding the functions and methods involved within it. Memorizing won't help you much, you actually need to have a good understanding of objects and methods you use. How you can use it in the real world to solve problems.
Basic things you will be doing while using any programming language
Today, many websites are dynamic. Programming languages are used to add functionality. Often sites use many languages for different purposes. At first knowing several languages may sound like a very overwhelming thing to do. Almost all the languages are built around the same basic concepts of a programming language. Syntax of languages may differ from each other a little bit, but really there isn't much difference when you start learning it.
Here are some of the very fundamental things you will be doing, no matter what language you use.
-
Displaying text on screen.
-
Reading user input from keyboard
-
Declaring variables
-
Create functions
-
Create classes
- Writing and reading from a database
Developing your programming skills are just like improving your language skills. You read books written from different authors and you also write your own. Likewise you read source code of others and try writing your own code, modify it, have fun with it.
If you want to start anything, don’t wait thinking about where to start or why some people use different techniques or tools. Just start from somewhere. When you start digging deeper and deeper, you will discover various tools to work and eventually will get used to the tools you like.
HTML
The mark-up language for writing web pages. It tells the browser how the text should appear. Which fonts to use, the size, style of the text. How to format and display pictures. HTML uses tags enclosed in brackets to format and display information, for example (<text>).
Server-side Scripting Languages
When websites first came into existence HTML was only used. Sites were static and simple with only pages of text and images. Users weren't able to log-in, search or register, do things we are able to do with many sites nowadays.
Server-side scripting languages have made the web more dynamic and interactive. Users are able to search information, use online programs. Chat forums, blogs, online-stores, newspaper sites and many more are built with programming languages.
PHP is one of the most popular open-source server-side scripting language. Its competitors include ASP.NET, Java, Ruby, Perl and others.
Client-side Scripting Languages
Javascript is most often used as the client-side language. The program compiles and runs in the user's browser unlike Server-side scripting Languages like PHP, ASP which runs on the server. Javascript can be embedded along with HTML too. Server-side scripting languages mainly generate HTML pages based on user input. Javascript makes the web pages even more alive. For example, you may want your page to open a dialog box when the user clicks a button. Insert text into website without reloading the page. Chat-rooms we see in many web-pages are mainly based on Javascript.
AJAX (Asynchronous and XML)
Not really a new technology. With AJAX users can send and receive data from a web-page without reloading it. Its mostly Javascript based. XMLHttpRequest object is used to send and receive data between a server and a client asynchronously. This is the technology behind many online chat-rooms.
Cascading Style Sheets (CSS)
Suppose your website may have hundreds or thousands of pages and the formatting should be uniform throughout the site. Traditionally changing the appearance of a website was a nightmare for Developers. They have to spend countless number of hours to make sure everything is consistent, each and every single file on the website must be manually edited.
CSS simplifies the job of changing the appearance. It makes controlling the visual aspects of a site much more easier than before. The style and look of the whole site can be managed easily just by changing some values in the CSS files. CSS can also be embedded along with HTML. Most of the websites have CSS files in a separate location. Maintaining all the CSS files in a central location is also the best way. It allows for better maintenance and update of the website.
CMS(Content management System) as a tool for building websites, forums, blogs...
Content management systems exist to ease the workload often from designing the website to maintenance. CMS enables the average computer user to upload, edit and manage contents of a website without the assistance of a Developer. The most popular Content management systems on the market are Drupal, Wordpress and Joomla. All of these are free open-source systems which can be downloaded for free.
Wordpress is a CMS and a blogging tool. You can either download and install on your own server or use the online wordpress available. Based on PHP and MySQL, its one of the most popular blogging tool available. Its quite popular among the blogging community and many prefer wordpress as their blogging tool. Users can change the theme, install new plugins for additional functionality. Wordpress is known for its simplicity and easiness. An average person without any programming experience can easily create good-looking websites with pictures and multimedia content.
Web sites that use Wordpress
Joomla is another free open source CMS based on PHP and MySQL. Allows you to design websites with minimal effort. You can choose from a wide variety of Designed templates available online. Extensions will give you additional features you need. For example: integrating a shopping cart, e-commerce features, translators, etc. You can also create your own extensions if you know PHP, mysql. Joomla is also very popular among Website designers.
Web sites that use Joomla
Drupal is a very flexible system based on PHP and MySQL. Drupal is classified as an CMF (Content Management Framework). CMF includes both the aspects of a CMS and Web Application Framework. A lot of times its also used as a platform for building web applications. Users without any knowledge of coding can also create a website easily. Users are able to customize their website in a way they desire, menus and contents can be created with the GUI interface. You can download tons of modules and themes from the internet for free.
Modules are like little components which can add functionality to your Drupal site. For example with forum module enabled, you can integrate a forum to your website. You can also write your own modules if you're familiar with php. A lot of developers usually go with Drupal, because of its flexibility to add new features with custom-made modules and themes.
Web sites that use Drupal
Security
One of the most neglected and overlooked aspect of many websites. Most developers aren't very well aware of the security of the code they write. Here are some of the methods attackers use to compromise websites.
SQL Injection:- The attacker enters SQL commands through the user-input interfaces provided, like through text boxes, url. If a website is vulnerable, its possible for a attacker to drop database tables, make changes such as modifying data of a database.
XSS (Cross-site Scripting):- Attacker inserts malicious client-side codes (most often javascript) through text boxes of the website. If the website doesn't have any mechanisms to prevent javascript from entering, it's possible to insert malicious code into the website. For example: An attacker can insert a link which can redirect Users to another website which can steal their usernames and passwords.
Sources of learning
thenewboston.org :- Video tutorials by Bucky Roberts. He has a lot of great video tutorials about computer programming. You will find these tutorials really helpful in web-programming and designing also. The really nice thing about his tutorials is, all the concepts are explained in a very easy to understand manner with examples based on real-life scenarios.
Phpacademy.org :- Video tutorials on web-programming languages such as PHP/MYSQL, CSS, Java, jQuery, JavaScript. The videos are made in a very easy to follow manner. Often the tutorials teach how to build simple applications using concepts of programming.
Lynda.com :- offers very good beginner and intermediate video tutorials for programming languages also. Most tutorials are created in a way users are able to learn even the very difficult concepts without much straining. The tutorials are divided into small parts for easy learning.
W3schools.com :- A website created by professional developers for helping anyone who wants to learn web-programming. The tutorials here are short and explained in great detail. W3schools tutorials are mainly focused on getting you to understand the main concepts without spending too much time in learning. You can also test code with the online code editor given, which can be very handy if you don't have the necessary applications installed on your computer.
Some final words
It definitely takes time to be able to develop robust and well-designed applications. You can try developing applications for your friends and personal use. It would be a great experience, not only you will learn a lot in the process. No matter how many books or how many years you study programming, you are not a programmer unless you write real software. The web is full of source codes and interesting tools for building web sites effortlessly. So let's roll up your sleeves and get started.