Немного о современных JavaScript — Графических Интерфейсах

Добрый день, уважаемые читатели. Этот пост не научит вас делать крутые толстые UI с полноценной бизнес-логикой и массой других плюшек. Эта запись просто содержит описание того, что я сейчас вижу.

В мире существует большое количество различных сайтов. Часть из них — маленькие домашние страницы. Пример — мой блог. Другие сайты зарабатывают миллионы долларов. Пример — амазон или яндекс. А ещё есть такая категория веб-приложений, как сайты стартапов, или, что в данном контексте одно и тоже, новые сайты каких-то свежих проектов.

Сайты стартапов выделяются среди прочих одной интересной деталью. Так как это в 99% случаев технологические стартапы, то создатели проекта считают нужным использовать все современные технологии. Популярна scala? Сделаем проект на play-е. Популярна Node.JS? Всё, пилим проект на ней. Толстые клиенты — новый тренд? Без проблем: выбираем какой-нибудь элитный MV* — javascript фреймворк (а-ка backbone, angular, Ember.js), реализуем на сервере restful интерфейс, а на клиенте рендерим абсолютно всё.

Если использование серверных трендов меня, как пользователя, практически не задевало (мне-то какая разница, как там обрабатываются мои запросы; пускай хоть маленький карлик бегает и обслуживает меня), то клиентские тренды уже начали проявляться.

Все мы понимаем, что стартап — это быстро, ведь, если мы немного задержим релиз, то мы можем потерять абсолютно всё. Поэтому, не стоит говорить, что первые версии стартапов бывают не такими качественными, как хотелось бы.

С другой стороны, если мы говорим о тренде толстых клиентов, то это JavaScript. Каким бы он не был крутым языком, у него есть недостатки. За простотой JavaScipt стоят такие киты, как динамическая типизация, оригинальная система вывода типов, замыкания, прототипное наследование и функции высших порядков. Чтобы не допускать ошибок в кодировании на js, со всеми этими штуками нужно уметь работать.

Увы, ошибки делают все. Правда, если вы на сервере сделаете ошибку, скорей всего вы просто не пройдёте тест. На JavaScript-е тоже, конечно же, есть unit-тесты. Однако их пишут меньшее количество людей, чем тесты для сервера.

Итак, какой посыл вообще всего, что я написал? Если кратко, меня раздражает тренд толстых клиентов. Он делает мир хуже. Я уже перепробовал десяток различных стартапов (в том числе, в сфере E-learning: «сапожник без сапог»), где интерфейс крайне багнутый. Да, это бета версии проектов (ещё бы, это же стартапы). Но всё же. Действительно ли мне нужен этот самый Rich Media Interface? Думаю, что нет. Я бы согласился на простой интерфейс, главное, чтобы всё работало быстро и корректно.

Категории: Веб-мастеринг