Узнайте достаточно о каждой среде, чтобы иметь возможность выбирать технологии, которые соответствуют вашим текущим проектам, и над какими проектами вы планируете работать в будущем.
Кажется, вещи движутся в направлении JavaScript - направление технологии браузеров, ожидание богатых веб-приложений и т. Д. Несколько месяцев назад я читал, что javascript станет основным языком и в Windows 8, так что хороший Твердое знание основного javascript будет полезно в целом, независимо от того, работаете ли вы над веб-сайтами, мобильными устройствами или какими-либо еще - на стороне клиента, на стороне сервера и в настольных приложениях.
Я думаю, что jQuery - хорошее основание для начала; он зрелый, документы хорошие, в нем хорошо используются события и обратные вызовы, вы найдете свои ноги в правилах определения области видимости, которые кажутся немного странными, и, хотя у вас есть много силы, доступной вам, это не настолько отвлеченно, что Вы чувствуете, что полагаетесь на магию.
Кроме того, для вас будет хорошим упражнением попытаться создать что-то с большим количеством Ajax, если у вас его раньше не было - управление частями вашей страницы через dom, а не полное обновление страницы каждый раз; чтобы вы действительно почувствовали, что вы создаете полнофункциональное веб-приложение на javascript, разбитое на клиентские модули, вместо того, чтобы думать о том, чтобы иметь внутреннее приложение с интерфейсом переднего плана с некоторыми эффектами. (Я говорю это, потому что это то, где я был не так давно)
Когда вы создаете что-то вроде javascript, вы можете подумать: «Мне бы хотелось js-фреймворк, в котором я мог бы создавать MVC» (магистраль), или «Я бы хотел js-фреймворк, в котором я могу делать MVVM». (нокаут) и так далее. Вы и ваши проекты привыкаете к тому, какие дополнительные фреймворки вы выбрали для работы, а не наоборот.
node.js может стать основной серверной платформой вплоть до масштабируемости, я еще не пробовал (извините!), но я чувствую, что самые важные вещи, которые могут возникнуть в процессе обучения, это низкий (ish) уровень сетевые / веб-технологии (если вы были защищены от отправки собственных заголовков, прослушивания портов и т. д. до настоящего времени) и другого подхода к параллелизму, а не самого языка.