Quote (StormHasHe @ Aug 24 2012 07:20am)
HTML is not a programming language, it is a
markup language. It is used to build the "template" of the website. PHP uses HTML to build websites, like C# also does. All programming languages that aim to develop for the web will use HTML.
If you want to build a website, you'll need know-how in quite a bit different fields, like:
- Programming Language [C#, Java, PHP, etc]
- HTML
- Javascript
- CSS [Cascading Style Sheets]
- Databases [Oracles, Sqlserver, mysql, etc]
A good place to start learning is here:
http://www.w3schools.com/html/html_intro.asp http://w3fools.com/Wat wat.
Everything else is okay.
HTML & CSS are used to format the layout and then style the page. Any actual content should never be hardcoded into the HTML.
Using a language such as PHP, Perl, Python, Ruby, or numerous other languages, you write the back-end of a website. This is all of the server-side logic of how a website should handle a specific request.
The most common back-end design pattern is the
MVC pattern, which stands for model, view, controller. You can Google around to get a more in depth description of what it does, but I'll give a brief description.
These letters are a layer of the back-end logic. The model layer is how the database is designed; it contains your database schema/data model. That is all. There is no logic to do here at all.
The view layer is how this content from the database is displayed. These are files with HTML markup and some code (PHP/Python/Ruby/etc) for display logic (that is, no business logic for which data to use).
Lastly, you have the most important layer: the controller layer. This handles all of the business logic of which model to grab information to send to a view. This layer has all of the business logic; this is where the actual logging in of users happens, where the retrieval of a blog post happens, and so on.
Once you have a solid understand of each of those layers, you will do good in a web environment. However, I would consider using a web framework (yes, even from the get-go) to speed up development, as well as supply you with things you are not yet ready to handle (such as security). Frameworks even enforce the MVC pattern. Here are some recommended frameworks to know:
Django :
https://www.djangoproject.com/Ruby on Rails :
http://rubyonrails.org/CakePHP :
http://cakephp.org/CodeIgniter :
http://codeigniter.com/Play! :
http://www.playframework.org/Obviously you'll have to know a lot of things to be able to create a back-end. Here's a recommended start:
- Whichever language the framework you want to use (I personally use Django, and I really like how CakePHP enforces the MVC pattern)
- HTML & CSS (preferably HTML5 & CSS3)
- SQL Language (MySQL, SQLite3, PostgreSQL, and others)
- Patience
Now that is a pretty huge task, and if you try to do something you don't quite yet know how to do, you will probably either do it horribly wrong or you'll just get really frustrated. This is what I would do:
If you do not have a concrete understanding of HTML & CSS, get one.
Learn the language that the back-end you choose uses before trying to use the back-end. Don't learn from tutorials on YouTube; read a good book or take a class. You just need to know the language's limitations and how to use it properly.
Once you've gotten to this point, you should have a pretty solid understanding of a programming language. You have two choices: learn how SQL queries are formed, or start learning the framework.
If you start learning the framework, read a book about it, or at least the documentation. Learning SQL won't take more than a day or two if you learn quickly. It isn't that difficult, but it really helps knowing how to do it.
Let me know if anything doesn't make any sense, or if you want some more guidance or clarity.