День прогнозов

Яков-зачинатель (и лучше уже, наверное, не скажешь): http://jakobz.livejournal.com/236681.html
Ваня-продолжатель: http://gliv.livejournal.com/125078.html
UPD: дискуссия размазывается — комментарий Льва: http://lionet.livejournal.com/130032.html
А вот моя версия:
Крупные компании (G) пиарят свои решения: Dart и Angular, что им еще остается делать. Наверное, Dart рано или поздно можно будет использовать, но нужно понимать, что это примерно Джава. Что шаг вперед по сравнению с js, конечно, но всё равно. Принюхиваются к нему пока осторожно. То ли он слишком неамбициозный, то ли все его плюсы сводятся к стратегическим плюсам для самого Гугла, но что-то как то энтузиазма не видно.
Ситуация обстоит так, что если нужно сделать что-то небольшое, всё равно что брать. Вопрос только в том, что брать для большого, разрастающегося проекта. Мне кажется, что сейчас основной вопрос не в выборе языка, а в выборе фреймворка — как организовать код, зависимости, потоки событий, работу с DOM. Чем бы таким обложиться, чтобы не сойти с ума и не сильно воняло. Конкуренты — это старенький backbone, angular, ember, react.
Что касается языка, то писать на чистом JS я особого смысла не вижу. Ну то есть, вот прям вообще уже никаких аргументов за него не осталось. Как язык JS никогда ничем не привлекал. Производительность? Google Closure умеет advanced компиляцию и минификацию кода, в стандарт JS добавлен strict mode, всё это заточки на производительность, которые не работают с ручным кодом, только с кодом, который генерят компиляторы в JS. Отладка? Нормальные компиляторы уже умеют или скоро научатся делать source maps.
В ближайшие 2-3 года:
- сообщество начнет наконец закапывать JS как язык и оставит его
как VM.
- Chrome введет несовместимые расширения и еще больше углубится в
создание своего отдельного web.
- Dart научится запускать в Chrome нативно, во всех остальных
браузерах через js трансляцию.
- Во фреймворки придет понимание что надо разделять DOM и JS как
GPU и CPU и синхронизировать батч-обновления DOM с vsync, раз в
кадр.
- Вместо всех имеющихся фреймворков вырастет какой-то новый,
корявый и избыточный, на который все пересядут
- Фреймворки начнуть строиться вокруг push-state через web
sockets по умолчанию.
- Мы увидим очень много client-side rendering. Гуглу и Яндексу
придется deal with it.
- HTTP/2 примут, но Хром будет поддерживать свою несовместимую
версию SPDY 5 и всё это останется уделом маргиналов, потому что
трудно вспомнить как именно мы ставили и настраивали себе Апач 10
лет назад чтобы теперь эту красоту на нем включить.
- ECMAScript Committee предложит следующее поколение стандарта, в
котором они продолжат развивать язык и на который можно будет
безопасно перейти через очередные 10 лет.
- Microsoft объявит о внеплановом продлении поддержки IE 6 еще на
5 лет и объявит что поддержка свойства border-radius появится в IE
16.
- Про single page applications: появится фреймворк/плагин к
jQuery/мода перехватывать клики мышки по ссылкам и вместо перехода
по ссылке грузить страницу средствами JS и анимировать как-то
переход. Будут забывать менять url / html history или наоборот,
менять его неправильно, коряво обрабатывать ошибки, js будет
ломаться. Будет полный бананас. Мы получим юзабилити флеш-сайта под
православным брендом html5.
- Мобильные браузеры объявят что не будут поддерживать
border-radius и box/text-shadow потому что и так ресурсов с гулькин
нос. Наступит ренессанс эпохи нарезания картинок с тенюшкой на 9
частей. Мобильные браузеры объявят следом что не будут поддерживать
полупрозрачность и смешивание, только булевые маски.
- Разработчики забьют на адаптивный лайаут и начнут тупо делать
отдельные мобильные версии.
- Появится первый фреймворк, который рендерит сайт полностью
внутри canvas.
- В стандарт CSS 4 добавят переменные. Их не будет поддерживать
ни один браузер, а IE 16 будет еще и падать, если где-то увидит
переменную.
- Помимо Майкрософтовской директивы