Web development languages: really basic questions and which one for web apps?

They have: 3 posts

Joined: Apr 2010

If I was hoping to develop some web apps (essentially saas) in a few years, and I wanted to learn how to code them now, which would be the best language/framework to learn?
Originally I would have thought RoR, however looking into it a bit it seems there are some issues with scaling, and that Java might be better?

Also, it would be great if someone could help me understand how all the different aspects of web development/design work together.
e.g. Is Java comparable to ruby, or ruby on rails?
What is ruby as opposed to RoR?
How does Javascript, Ajax and PHP come into the mix when using RoR or Java? Used with them or as alternatives?
-----If I learnt RoR, would I still need to learn html and css?
Is java for frontend also?
If you use a CDN, do you need separate web hosting as well?

I have done a reasonable amount of research prior to this, however it is the pure basics of how everything fits together that I haven't been able to find.
The 'Introduction to web development' from tip-kit (can't post urls) gave me a bit of an idea.
Also, I have built a basic website using css and html before, and coded applications in vb6 and some small objective-C apps.

I am looking forward to your replies, so feel free to scroll down and begin typing Smiling

pr0gr4mm3r's picture

He has: 1,502 posts

Joined: Sep 2006

How does Javascript, Ajax and PHP come into the mix when using RoR or Java? Used with them or as alternatives?

PHP is an alternative (and a better one IMO).

-----If I learnt RoR, would I still need to learn html and css?

Yes - all these server side languages would return HTML & CSS in some way because that it what the client's web browser uses to form the page.

W3Schools is a good place to start to learn something like PHP.

Also welcome to the forums Smiling.

They have: 3 posts

Joined: Apr 2010

Cheers mate Smiling
Looks like I better start off there then, thanks for that and cheers for the welcome Smiling
Anything other than css/html that I need to start off learning? Should I start learning javascript as well?
I have done a fair bit more looking into this and the only things I am left wondering are:
Which should I learn after html/css - java/grails, ruby/ror, python/django, scala/lift - I think It is good because I can start out with the 'best' language rather than choosing a framework based on what I know. Obviously this is a hard question to answer - I know there is no 'best', however I would like to hear people weigh in on different aspects.
Is ruby on rails a front end or back end framework?

Megan's picture

She has: 11,421 posts

Joined: Jun 1999

I'm not developer, so I can't say much about particular languages, but you will need a strong understanding of Javascript. It is a huge part of interface design these days.

They have: 3 posts

Joined: Apr 2010

Thanks for that, I will definitely aim to learn Javascript early on.

I had asked this question on a few other forums, and I have summarised the responses below. If you have anything to add, please do:

And to quickly note: I am aiming to develop web apps, not just websites - similar to Basecamp, Remember The Milk, Hunch.com, evernote, Freshbooks etc.

Quote:
Is Java comparable to ruby, or ruby on rails?

Java and Ruby are comparable as both are languages. Java is combiled, Ruby is scripted.
Rails is a web framework for Ruby.
Java equivalent to Rails = Spring MVC/Tiles framework or Struts/tiles, or Grails

Quote:
Scaling issues with Ruby?

There will always be scaling issues, and this shouldn't be worried about at the start.
Rails can actually be very easy to scale as this is one if its features.
Plenty of popular apps built using Rails: Basecamp, GitHub.
Also, scalability issues will be addressed as the language develops - Java has been around for years of performance tuning.
Very interesting note: 'it is cheaper to build a scalable product with a fast development language like Ruby where you can add servers as you need them than it is to develop in a slower-to-code environment (e.g. arguable Java).'

Quote:
What is ruby as opposed to RoR?

Rails is a backend web framework for Ruby, a general programming language.

Quote:
How do Javascript, Ajax and PHP come into the mix with RoR or Java?

Ajax is Javascript - clientside. PHP is an alternative to RoR or Java.
AJAX allows you to make requests to the server (which would be handled with RoR, PHP, Java etc) and to receive data back from the server without refreshing the page.
PHP is a very similar language to Java.

Quote:
If I learnt RoR, would I still need to learn HTML and CSS?

Definitely, along with Javascript - also, get familiar with the DOM.
Should I learn XML?
I should start with learning these languages before moving onto a backend language w/ framework.
Also, as I am looking to code web apps, not just sites, I should learn SQL.

Quote:
Is Java for frontend also?

Yes? Java applets are client side and Javascript is client side.

Quote:
If coding in java for a website, I assume that the JRE is not required on the client's computer?

Only for Java applets, which are essentially dead. Not for Java deployed on a server.

Quote:
Is ruby on rails a front end or back end language framework?

Back end.

Quote:
If you use a CDN, do you need separate web hosting as well?

Yes. CDN handles your content (images, css, js, views), then you will also have a db host/webhost (usually combined)
The webhost handles the Models (db handles) and the controllers.

Quote:
Best language/framework to learn? [Note: Opinions reside below! Not purely factual!]

Look at the typing methods of each languages - strong/weak.
Differing syntaxes - verbose like VB, or short syntax.
Will depend on: cost, scalability, maintenance, learning curve, time to launch, language capabilities.

Cautions against Scala and Lift for a beginner - not mainstream enough.
+ for ExtJS.
PHP frameworks: CodeIgniter, CakePHP are good. Zend Framework is terrible. Hydrogen is a PHP toolkit. Frameworks often force you to comply with their methods of doing things, which can be good for a beginner.
PHP > RoR due to popularity - means highly supported, huge community support, easy to scale, however RoR is gaining momentum.
RoR: harder to find a reliable webhost that suppors Rails.
Python: most popular framework is Django, again harder to find a reliable host.
Java = cumbersome, complicated. Fast, scalable - however can be daunting to learn. You need to learn the language, as well as how to use it to manipulate web pages - before it becomes powerful you need to learn libraries like Struts, Spring, Hibernate, Log4j and XMLbeans.
Then you also need to to use Ant an Maven - and terminology such as EAR, WAR. More suited to massive operations for big corporations.

They have: 9 posts

Joined: Jun 2010

This thread is interesting. Can anybody correct the order of difficulty or the stages in which I'm going to learn them all? HTML, javascript, CSS, PHP, AJAX. Is that the correct order or do I miss something?

They have: 8 posts

Joined: Oct 2010

well, the correct increasing order is HTML, css, javascript, php and ajax.

stokes1900's picture

They have: 55 posts

Joined: Oct 2010

you can select any of server side scripting language. like asp.net, php etc..ike php beacause it is easy to use. and simple to understand.

They have: 11 posts

Joined: Nov 2010

i was in the same dilemma before but i just choose to start learning one at time..W3School helps me more to understand and learn more about php..but still i need more knowledge and practices.

They have: 19 posts

Joined: Nov 2010

The best way is to use notepad and write raw HTML coding, before doing this make sure you lookup some basic HTML tags and how they are used?

John Zhao
Photographer
{links removed}

John Zhao

They have: 10 posts

Joined: Dec 2010

You can go for Asp.Net, PHP, AJAX. They are easier and simpler to understand and also are in much demand nowdays............

Want to join the discussion? Create an account or log in if you already have one. Joining is fast, free and painless! We’ll even whisk you back here when you’ve finished.