Статика с динамикой, как так вышло?
Как я и хотел уже ранее поведать о том, почему и каким образом я перетащил audiocoding.ru на статический движок – так тому и быть. Статья будет представлять собой некое рассуждение о принципах создания контента для веба и их истории.
Чуть философии
Вряд ли я кого-то удивлю, что нынче в тренде всякие статические движки для блогов. А где блоги, там и простейшие сайты. Вообще, философски, я считаю, что все имеет спиралевидное развитие. И зачастую так и происходит, например, давайте обратимся к базам данных. Как все было раньше? Все писали в файлики, и всем было хорошо. Что произошло дальше? Дальше люди захотели работать с файлами немного умнее, чем просто с массивами данных. Появились реляционные базы данных. Да, сложные, да, мощные. Но затем реалии современного мира продиктовали свои условия. Объемы данных возросли настолько, что пришлось экономить на логичности представления данных и мы вновь вернулись к более простым структурам, вроде документоориентированных баз данных. Да, все улучшилось, все стало умнее, но просто замкнулся один из витков спирали.
Вебсайты
Что же происходило с вебом все это время? Вспомните, начиналось все с простых HTML-страниц, которые практически ничего не умели, которые были просто файлы, отдававшиеся серверами по HTTP-протоколу. Потом люди сказали “это не круто”. Ну нет, не совсем так конечно. Они сказали, что HTML почти ничего не умеет, а хотелось бы уметь хранить какие-то данные о пользователе, чтобы он мог логиниться и у него был свой аккаунт. Так появились динамические языки вроде PHP, заточенные под эти цели.
И вроде бы все шло хорошо, мощности компьютеров росли, и сайты на PHP начинали работать все лучше и лучше. Тем не менее, все это оставалось уделом избранных, которым не жалко было платить по 1000 и более рублей за сервер в месяц. Параллельно развивались и технологии, в частности виртуализация. С этим росло предложение приватных виртуальных серверов со стороны всяких сервисов, которые со временем буквально за копейки начали предлагать услуги по предоставлению слабых, но тем не менее полностью выделенных серверов (это не те сервера, когда вы сидите в разных папочках с другими людьми на одной ОС, про этот ужас я даже упоминать не хочу). Так появилось желание платить поменьше и при этом иметь свои сайты, которые быстро открываются. PHP здесь и прочие языки плохо подходили, так как требовали гораздо больше ресурсов, чем просто отдача HTML-файликов. В этот момент и начали активно развиваться движки для генерации статического контента (именно таким и сгенерирован этот сайт). Благодаря современным языкам и технологиям, внезапно стало удобно генерировать статику и раздавать ее с невероятной скоростью на слабых машинах.
Audiocoding.ru
Думаю, уже примерно понятно, что сайт audiocoding.ru за свою вот уже почти 10-летнюю историю прошел примерно такой путь, как и было рассказано выше. Да, кстати, летом будет юбилей, и мы обязательно с вами это отметим. Теперь audiocoding.ru представляет собой статически сгенерированные HTML-страницы. Но, как показала практика, этого оказалось недостаточно. Например, раньше у меня был поиск по сайту и довольно богатый файловый архив, который хотелось бы представить в новом представлении, более удобном, более быстром. Что же было решено сделать в этом месте? Это было с одной стороны странное и неожиданное решение. Я предпочел оставить статику, добавив при этом динамику на стороне браузера. Иными словами, весь поиск выполняется без участия серверной стороны, на браузере. Возможным это стало благодаря развитию JavaScript в браузерах. Сказать, что за все это время он стал быстрым – ничего не сказать. Он стал просто молниеносным! Можете сами попробовать, поиск выполняется быстро даже на мобильных устройствах. И да, вот так все внезапно преображается. То, что раньше казалось полным бредом, преобретает вполне адекватные очертания.
Заключение
Таким образом, мы опять находимся на очередном витке все той же спирали. Для веба этот виток прошел за 10 лет, именно столько времени понадобилось для возврата к истокам, для того, чтобы снова начать использовать HTML. Нет, конечно я прекрасно понимаю, что область применения динамических сайтов на стороне сервера никуда не делась. Просто частично мы вернулись к тому, с чего начинали, но в новой реинкарнации. Мы частично вернулись, просто все стало немного лучше.
Что ж, на этом я хотел бы попрощаться с вами до будущих встреч. И я заранее прошу прощения, если вам сегодняшняя заметка показалась несколько сумбурной, но буду очень рад, если мне удалось донести свое видение происходящего вокруг нас.