views:

122

answers:

5

1) I know HTML/CSS. Where do I go from here to learn how to build web sites and eventually web apps? I was thinking Javascript (jQuery, yeah?) and PHP/MySQL. Is that on the right track?

2) I know java. How hard will it be to learn what you recommend in question 1. And where/how do you recommend I learn?

+1  A: 

I would suggest learning PHP and MySQL as your next step. To get started you can download XAMPP that way you have a lightweight, pre-setup development environment. http://www.apachefriends.org/en/xampp.html

PHP really isn't that far off of java syntactically speaking, there's just no primitives. You can get started with w3schools.com and just work your way down the list on the left sidebar. Good luck!

Tape
Keep away from w3schools. It is good at SEO and bad at teaching. Their PHP/MySQL tutorials are positively dangerous. They teach outdated methodologies and fail to mention essential security safety checks (therefore teaching you how to write scripts that are highly vulnerable to trivial SQL Injection attacks).
David Dorward
A: 

As for jQuery (definitely the way to go), check out google there are a lot of sites out there which will get you the basics, and the official jquery site is pretty useful too.

And never rule out W3schools as a general guide for almost anything web related.

(Sorry I'd post more links but I'm limited by my rep.)

J Pollock
jQuery isn't the way to go until you have learned the fundamentals of JavaScript. And always rule W3Schools out, their documentation is shoddy, out of date, and suffering from security problems. It just happens to be better then most of the competition they had a decade ago.
David Dorward
+1  A: 

If you already know Java, why not use one of the rich Web Application frameworks on Java, such as Spring or Struts, or Wicket, or Google Web Toolkit. Or even just servlets and jsp?

Edit: I suppose part of the answer depends on your goal. Are you looking for a new career? Or, are you simply looking to broaden your horizons, learn a new facet of software development?

A lot of the concepts carry over from language to language - things like MVC are pretty universal. Web application architecture design is also pretty universal - caching, scaling, sharding, etc. are all more or less the same, no matter your underlying language.

For pure learning and fun, interpreted languages are hard to beat - no recompiling, instant changes, etc.

Edward M Smith
Well, there are a few reasons. First off, hosting for web applications on Java are significantly more expensive than PHP (see Shared hosting for PHP, whereas you pretty much need a VPS or dedicated server for Java). Secondly there's a MUCH bigger market for PHP developers than there are for web java programmers (but this could also be a pro for using Java, since then you're a better all-around Java programmer). Third: there are far more open source PHP web projects than Java web projects, so it's easier to contribute to gain experience... Not that Java is "bad", just there are considerations.
ircmaxell
If hosting cost is your only limiting factor for learning web apps and you know Java I suggest Google App Engine Java. The hosting is free up to quota and gives you lots of access to docs and apis for getting up and running quickly.
Gabriel
Well, Google App Engine is free, and is arguably a much better hosting platform then cheap php hosting. I'm not sure the job market argument is a positive - you become yet another newbie php programmer - something you can't swing a keychain without hitting a few dozen of. As far as open source, perhaps. There are a LOT of very interesting open source java projects in the App Engine ecosystem at the moment.
Edward M Smith
I'm not trying to detract from your answer @Edward. I was just pointing out that there are some valid reasons why someone would chose to learn PHP instead of going the Java route (for websites. Not in general)...
ircmaxell
No worries! You're right to do so.
Edward M Smith
A: 

There's a pretty sweet tutorial for Ruby on Rails over at railstutorial.org. You'll learn about both Ruby and Ruby on Rails, although the guide definitely focuses on RoR. I've gone through it myself and I highly recommend it.

eml
A: 

A very legitimate question.. Once u r done with HTML, CSS.. next step will be Javascript [as it leads to client side scripting - for dynamic web page creation on the browser end]. next step would be to learn Server side scripting..
The most commonly used and a very vast language used in server side scripting is PHP.
Learn PHP and all types of Database connections to many databases. once ur done with PHP, as u already know Java start developing Java applets and JSP server side scripting.
At the end u'll be well versed in all basic fields of web development and u can also create professional apps using JAVA..!!!

All the best!

Noddy Cha