Никита Прокопов (tonsky) wrote,
Никита Прокопов
tonsky

Category:

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

Сегодня мы пытаемся кратко просуммировать, что творится с веб-разработкой в масштабах всего веба, и делаем прогнозы на то, как будет выглядеть веб-разработка через 2-3 года.

Яков-зачинатель (и лучше уже, наверное, не скажешь): 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 будет еще и падать, если где-то увидит переменную.
  • Помимо Майкрософтовской директивы <!--[if !IE]> Chrome введет директиву «if not IE». Изменение будет портировано во все остальные браузеры, включая мобильные, в течение недели.

А ваши версии?

Tags: веб-шмеб, девелопмент, загадка, нужна ваша помощь, скандалы интриги расследования, формула успеха
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 69 comments