Web Development

General discussion

Locked

What should one learn for web development?

What should a web developer learn as far as languages and scripting, etc. goes? There is so much out there besides HTML, CSS and JavaScript. ASP? VBScript? VB.NET? C#? Perl? PHP/MySQL?

What are the best things to get some background in?

This conversation is currently closed to new comments.

Thread display: Collapse - | Expand +

All Comments

Collapse -

It depends

by Mark Miller In reply to What should one learn for ...

If you're just interested in the web interface work, then HTML, CSS, javascript (and the development technologies that use it, like Flash) will be good enough. If you want to get into coding web applications, then I'd say learn many of the things you listed, and get familiar with the way that web application servers maintain state for an application. Learning that was the biggest hurdle for me.

If you're interested in DB application work, I'd encourage you to check out Ruby on Rails (http://www.rubyonrails.org/) in addition to the other web development languages. It's a clever framework that makes connecting a web application to a database very easy.

I've worked in ASP.Net 1.1, and it has a decent DB infrastructure, though it can still get laborious. ASP.Net 2.0 is better.

Collapse -

in addition to Mark's comment

by Jaqui In reply to It depends

AJAX, to "consume services" xml/xslt [ for the web2.0 rss feed thing ]

I would also pick a style of site to work with, and focus on learning exactly what that style needs first off, then expand your knowledge base into additional areas. By style I mean a rich media content or an accessablility guidelines compatable style. Yes the two are completely exclusive, rich media is not accessable content.
ajax/ rss feeds etc. are not accessable technologies.

if you are doing db driven sites, make sure you break the db work apart from the presentation, so the presentation part can be made search engine friendly urls rather than the http://www.somesite.com/index.php?sdkjfh&ghwilut wich search engines cannot index to promote the site.

Collapse -

I disagree with your choices of "rich media" for incompatibility.

by apotheon In reply to in addition to Mark's com ...

AJAX can be made to degrade gracefully, offering an iterative approach to accessibility vs. a "rich user experience". While AJAX is itself not high-accessibility, it is not strictly opposed to accessibility in the general case as it does (as I mentioned) degrade gracefully when well implemented. I'd recommend starting with accessibility and standards compliant use of web design technologies, then from there begin to learn how to use "rich user experience" stuff like AJAX and other Javascript-using design in a way that degrades gracefully.

RSS is actually an accessibility enhancement: it provides additional means of accessing content without interfering with the basic site design in any way. It's sort of a parallel interface so that other client applications than the browser (such as an RSS feed aggregator/reader) can be used to access the same content in a different way.

The so-called rich media approach that is actually incompatible with accessibility and standards compliance is "multimedia" crap like Flash, which is pretty much entirely impossible for some people -- such as the blind, using screen readers -- to access and use at all. It really does require one to make a choice, at least initially, between "rich media" and accessible design, if by "rich media" you mean technologies like Flash for website design.

Collapse -

the problem with ajax,

by Jaqui In reply to I disagree with your choi ...

other javascript functions and rss feeds for those using screen readers or braille terminals isn't just in the degrades gracefully or not, it's the non static content that stops these devices from working properly.

how does a screen reader work with a piece of a site that constantly changes? it doesn't it crashes instead.

so in effect, rich media is as non accessable as flash, or streaming video or audio content.

a braille terminal has no support for javascript, or flash, or rss feeds, so any site that requires them is driving a visitor away.

a screen reader cannot read content that isn't static, since the changing content keeps resetting it or brining it down.

a deaf person has no use for audio tracks on a site.

a blind person has no use for the video or flash content on a site.

all such content should be an enhancement to the text content, rather than a replacement for the text content.

Collapse -

it's about the Javascript

by apotheon In reply to the problem with ajax,

Javascript is likely to crash a screen reader that can't handle a dynamic interface. As such, most screen readers ignore Javascript, and even if you have one that doesn't you should have client-side scripting turned off anyway. If Javascript is turned off, you need graceful degradation. Voila, problem solved.

"a braille terminal has no support for javascript, or flash, or rss feeds, so any site that requires them is driving a visitor away."
That's what graceful degradation is about: not requiring support for the technology. A technology that is implemented so that it degrades gracefully works fine with something that doesn't support the technology. Voila, problem solved.

"all such content should be an enhancement to the text content, rather than a replacement for the text content."
I never said anything that disagreed with that statement.

Collapse -

I know

by Jaqui In reply to it's about the Javascript

we aren;t actually disagreeing on most, only on if the rich media / dynamic content is even slightly accessable

I made the enhancement comment soley to bring that point out in the clear for all who are reading and not posting to the thread.
rich media and multi media content is not the main content in any DECENT site developers sites.
[ no so subtle poke at those called web/multimedia designers they think the rich media and multimedia content is the entire site, to the detriment of their clients ]

Collapse -

Depends

by duckboxxer In reply to It depends

I agree, it depends on where you want to focus. Regardless you are going to have to learn HTML, CSS and JavaScript. But if you want to focus more of the 'pretty' side, then Flash, Flex and graphical tools like Photoshop, ImageReady, Fireworks or even GIMP.

If you want to focus on making things work, rather than the pretty parts, look to a server side language, SQL and database design. As far as what server side language, it depends on your background. From VB, look at .Net; from a C-like language, try Java or C#. No coding background? Look at ColdFusion - it's syntax is formatted like HTML.

And for heaven's sake, don't try to write code in FrontPage or worse, Microsoft Word. Look into Eclipse, Notepad or if you must, Dreamweaver. I would suggest a text editor rather than a GUI application. This will be more painful at first, but you will learn the code faster and help you out in the long run.

Collapse -

LAMP Linux, Apache, MySQL, Perl, PHP or Python

by technical In reply to What should one learn for ...

Linux (FreeBSD even better) Apatche MySQL and PHP.
OK I admit you do not need to know very much about the Linux (or FreeBSD) but you should 'glance' over the subject so you understand the platform your likely to use. Apache to the same level, understand the server you are likley to use. Just get the hang of the security 'a bit' so that you have 'some' idea. Why ? Apache is hosting more than 50% of the servers on the web. Why Linux etc, Its a personal view. I happen to think Linux / FreeBSD servers are better. They have a better TCP/IP stack, run faster, take more load and are more secure, only in my opinion you understand.
I think they have been used for Hotmail for some reason.. I cant think why that might be?
Maybe hotmail knows something about FreeBSD I don't...
The next bit you need to go quite a bit deeper....
MySQL and PHP to build web sites because its the most common e-commerce platform. It just happens to be the simplest to get your head round as well. Why E-commerce focus. Because any idiot can produce a web site. Its the people that know a bit more that do e-commerce and understanding a bit about the security is always good... next thoughts....
Perl is good but PHP is easyer. Python is the next stage after you understand some PHP.
I would look at content managment systems CMS .
I would not bother too much about graphics to start off with ( things like Dreamweaver Flash etc) because its easy to add Art you need to understand the actual web server and hosting with server side scripts.
Too many people have flashy sites and no idea of e-commerce and CMS.
I have had to run all sorts of servers and all sorts of web sites.
NEXT .....
I would recomend the following action as a fast track.
TRY hosting an OS-Commerce site to learn the MySQL and PHP. To do this Get an old PC load some simple linux distro ( an really easy one like SimplyMEPIS 6.0 and load Apache ( takes all of 10 seconds to load Apache) This should cost you practicaly nothing. Load PHP and MYSQL onto the linux box, install OS-Commerce ( all the software is open source and freely avalible and people will help you). RUN the hosting on your LAN ( even at home). Then learn how to alter the PHP to customise the site to give it a new image and feel. Then start another web site writing your own PHP site linked to your own MySQL data base. None of this is rocket science. You will learn loads. It not difficult it just needs a bit of care to read the installation notes.
and I belive the experiance will not be wasted.
For a book I would read
PHP and MySQL for Dynamic Web Sites: Visual Quickpro Guide By Larry Ullman.
Because its got both MySQL and PHP in the same book its doesnt assume you know much but it should take you to another level.
at the end of this exersise you should know enough MySQL and PHP to do some real damage!
Next stage is to learn how to do it for real.
You then need to get your head round backups version control (VITAL) Systems that control all the amendments in structured data all pictures with name conventions etc.
good luck.

Collapse -

LAMP Linux, Apache, MySQL, Perl, PHP or Python

by technical In reply to What should one learn for ...

Linux (FreeBSD even better) Apatche MySQL and PHP.
OK I admit you do not need to know very much about the Linux (or FreeBSD) but you should 'glance' over the subject so you understand the platform your likely to use. Apache to the same level, understand the server you are likley to use. Just get the hang of the security 'a bit' so that you have 'some' idea. Why ? Apache is hosting more than 50% of the servers on the web. Why Linux etc, Its a personal view. I happen to think Linux / FreeBSD servers are better. They have a better TCP/IP stack, run faster, take more load and are more secure, only in my opinion you understand.
I think they have been used for Hotmail for some reason.. I cant think why that might be?
Maybe hotmail knows something about FreeBSD I don't...
The next bit you need to go quite a bit deeper....
MySQL and PHP to build web sites because its the most common e-commerce platform. It just happens to be the simplest to get your head round as well. Why E-commerce focus. Because any idiot can produce a web site. Its the people that know a bit more that do e-commerce and understanding a bit about the security is always good... next thoughts....
Perl is good but PHP is easyer. Python is the next stage after you understand some PHP.
I would look at content managment systems CMS .
I would not bother too much about graphics to start off with ( things like Dreamweaver Flash etc) because its easy to add Art you need to understand the actual web server and hosting with server side scripts.
Too many people have flashy sites and no idea of e-commerce and CMS.
I have had to run all sorts of servers and all sorts of web sites.
NEXT .....
I would recomend the following action as a fast track.
TRY hosting an OS-Commerce site to learn the MySQL and PHP. To do this Get an old PC load some simple linux distro ( an really easy one like SimplyMEPIS 6.0 and load Apache ( takes all of 10 seconds to load Apache) This should cost you practicaly nothing. Load PHP and MYSQL onto the linux box, install OS-Commerce ( all the software is open source and freely avalible and people will help you). RUN the hosting on your LAN ( even at home). Then learn how to alter the PHP to customise the site to give it a new image and feel. Then start another web site writing your own PHP site linked to your own MySQL data base. None of this is rocket science. You will learn loads. It not difficult it just needs a bit of care to read the installation notes.
and I belive the experiance will not be wasted.
For a book I would read
PHP and MySQL for Dynamic Web Sites: Visual Quickpro Guide By Larry Ullman.
Because its got both MySQL and PHP in the same book its doesnt assume you know much but it should take you to another level.
at the end of this exersise you should know enough MySQL and PHP to do some real damage!
Next stage is to learn how to do it for real.
You then need to get your head round backups version control (VITAL) Systems that control all the amendments in structured data all pictures with name conventions etc.
good luck.

Collapse -

What to learn?

by wayneb In reply to What should one learn for ...

It is a very simple answer to the question. You should learn as much as you can. As you may not become the master of any one particular language, it is a good thing to know a little about each type. With continually growing technology of today, it is a good idea to grasp all of the technologies. There are still sites designed with ASP and now there are sites with Flash and AJAX. A little goes a long way.

Related Discussions

Related Forums