JS - работает на стороне клиента, то есть, допустим ты кликаешь на кнопку что-то подсчитать - оно может подсчитать и обновить страницу не отсылая запрос на сервер. При нужде, можно и отослать и обновить частично страницу - AJAX. PHP - работает на стороне сервера, тобишь там происходят всякие штуки-дрюки, которые тут не видно, а потом тебе готовый результат . XML - это расширенная разметка страницы. Ну это так, на пальцах с головы... Всё же больше и толковее будет, если таки отослать в гугл.
Фреймворки - упрощают жизнь. Это как бензопила, заместо ручной пилы. Правда, иногда получается и пушка по воробьям.