Итоги 2020 года
31-12-2020Reading time ~ 5 min.Блог 5597
Я не особый фанат подведения итогов перед новым годом, но, просматривая старые посты, даже сам удивился, насколько продуктивным оказался год. Если говорить не об IT, то наверное стоит отметить влияние пандемии — начало года обещало быть достаточно «денежным», но к лету пришлось сильно подтянуть пояса — новых клиентов не было, работы были только со старыми. Наверное из-за этого и появилось время на бытовые дела (стройка), а также запуск новых проектов.
Но если выделять самое-самое главное событие — оно астрономическое: появление кометы C/2020 F3 (NEOWISE). Совершенно потрясающее зрелище — я конечно в диком восторге! Словами этого не описать, нужно видеть воочию. :-)
Впрочем, вернёмся к делам интернетовским.
MaxSite CMS
Основной мой проект, который продолжает развиваться. За 2020 год было выпущено 4 версии (с 104 по 107.4 — текущая). Так что динамика нормальная. В этом году мы окончательно перешли на минимальную PHP 7.1, а с выходом PHP 8.0, я сразу же внёс необходимые правки. Так что MaxSite CMS поддерживает все текущие версии PHP.
Но кроме этого код системы был отрефакторен, подправлены старые «хвосты», которые тянулись много лет. Также я сделал новую документацию, которая рассчитана и на новичков, и на более опытных вебмастеров. Да, и сам официальный сайт я тоже переделал под лендинг. Так он более солидно выглядит.
Шаблон MF
За год вышло 4 версии (с 7 по 10) шаблона. На нём я отрабатываю новые идеи, которые потом используются в MaxSite CMS. Отдельное спасибо всем тем, кто покупает MF — по сути вы двигаете развитие MaxSite CMS! Поскольку MF моя единственная платная разработка для MaxSite CMS и, если бы не продажи MF, скорее всего система просто не получала бы необходимого движения.
В MF было ещё одно важное изменения — отдельный сайт с документацией. Раньше документация шла прямо в комплекте шаблона, что не позволяло её оперативно обновлять. Но когда объём увеличился, я решил, что лучше пусть будет одна версия, которая всегда актуальна. Ну и важно, что потенциальные покупатели смогут посмотреть на описание шаблона до его покупки.
Разочарование года — Bootstrap 5
Это мой промах — я не смог предугадать развития этого фреймворка и стал использовать 4-ю версию в своих проектах. Была надежда, что разработчики переделают его на утилитарные классы, откажутся от jQuery, сделают компонентный подход, а вместо этого просто убрали jQuery, но увеличили js-код и оставили массу ограничений и кучу старого хлама. Сейчас я вообще не вижу причин использования Bootstrap'a — он слишком отстал от текущих реалий.
Berry CSS (3-я версия)
С другой стороны, именно провал BS5 подтолкнул меня на переделку Berry CSS под полноценный фреймворк. Саму разработку я делал через документацию. У меня уже был подобный опыт с парой личных проектов, но здесь это была публичная разработка. Утилитарный подход к вёрстке сейчас показывает приличную динамику — всё больше вебмастеров начинают его использовать. В Berry я стараюсь придерживаться оптимального отношения возможностей и объёма кода. В качестве ориентира я использую Tailwind CSS: хотя он требует JS, мне нравится как он развивается и какие предлагает идеи. Не зря Tailwind сейчас такой популярный фреймворк на Западе.
Berry CSS я делал примерно 3 месяца (всё лето), много тестировал и экспериментировал. После этого я переделал MF и все свои проекты с Bootstrap'а на Berry — в первую очередь это MF. Между ними полная совместимость.
Также Berry повлиял на MF — в первую очередь отмечу поддержку Material Design, что решило проблему смены дизайна шаблона, без необходимости менять html-код блоков и компонентов. Это вообще была изначальная задумка для MF, но только сейчас эта задача фактически решена.
Alpine.js
Наверное для меня это и есть открытие года. Мучает только один вопрос — почему я не стал её использовать раньше? Альпина меняет сам подход к вебразработке. Да, я знаю, что разработчики React или Vue давно уже этим пользуются, но у нас не одностраничные приложения, а нормальные сайты, где использовать Node — верх мазохизма. Поэтому Alpine я бы сравнил с новым этапом, где наконец-то у нас появилась реальная возможность отказаться от jQuery. Если раньше все думали, что альтернативы нет, то сейчас всё поменялось — просто начинай пользоваться.
Я люблю когда есть альтернатива и возможность выбора, потому что это единственная причина, по которой вообще происходит развитие (чего угодно).
По Альпине у меня куча планов, но скорее всего я придержу «коней» до выхода 3-й версии. Уже анонсирована её разработка, поэтому может появится достаточно скоро. Если всё будет нормально, то скорее всего из Berry CSS уберу все нативные js-компоненты в пользу Alpine — эти фреймворки великолепно друг-друга дополняют.
Albireo Framework
Проект для удовольствия. Это единственная разработка, которая вышла из моих личных «закромов» на публику. Я люблю PHP и его возможность писать небольшие приложения, но мне не нравится, то что его пытаются использовать как Java. Меня тошнит от бездумного раздувания кода, использования ООП там, где оно сто лет не нужно, тупая мода делать всё на классах, интерфейсах и трейтах, придумывать «сто-пицот» оболочек над стандартными функциями...
Когда я учился программированию, то было стойкое понимание того, что количество кода должно быть как можно меньше. Потому что это был калькулятор MK-61, где нужно было каждый раз вводить каждую команду вручную. Вырубился свет, сдохли батарейки, просто выключил калькулятор — всё вводи заново всю программу.
Я бы хотел посмотреть на сегодняшних программистов, которые будут водить свой код вручную. :-)
Поэтому я за компактность, а реальный результат всегда можно оценить в байтах. Есть задача и она должна быть выполнена как можно меньшим количеством строк кода. Это и есть эффективность. И в Albireo я именно к этому и стремлюсь.
Ablireo я хочу развивать как «полезняшка» для блогеров и программистов. Поэтому там есть админ-панель, очень неплохая по возможностям, а также отдельный шаблон для создания документации. Все мы постоянно натыкаемся на очень хорошие разработки, но не используем их из-за того, что нет полноценной документации. Взять даже Alpine — там примитивный текстовый файлик — это и есть вся документация. Если бы была нормальная, где описаны возможности и приведены примеры использования, возможно, это сказалось бы на популярности библиотеки. Поэтому, если у вас есть свой проект, сделайте для него документацию. Albireo Doc для этого и предназначен, как говорится, без регистрации и СМС. :-)
Телеграмм
В 2020 году я решил завести свой телеграмм-канал. Обычно я долго раскачиваюсь, поэтому не решался на этот шаг, но постепенно он мне стал больше нравится, чем Твиттер. Я сразу его позиционировал как личный блог, поэтому там нет чёткой тематики и периодичности. В раскрутку я ничего не вкладывал, но за это время на него подписались уже более 100 подписчиков. К группе я прикрутил чат, где можно задать вопрос.
Вот такой получился 2020 год. Всех с Наступающим, пусть следующий год будет такой же безумный, как этот! Потому что когда нет волн — это болото. :-)
Отличная работа Максим! Благодарю за ваши труды!
Спасибо за роботу, Максим.
С наступающим Новым годом!
Здоровья и удачи.
Хорошие итоги, свои тоже планирую подвести на этой неделе. Наконец нашел вроде норм блог разработчика.
Все очень хорошо. Я ваш фанат)
Интересует другое (не стал писать под сеошными статьями - они очень давно и не уверен, что вы увидите): schema.org. Я знаю, вы плохо относитесь к поисковому продвижению, но оптимизация по schema очень полезная штука. если сделать с умом, то это даст фору в сто очков всяким там ворпрессам и джумлам.
и вообще, у гугла есть свое понимание верстки сайта. да хтмл ему понять легче всего и он может заиндексировать текст, но правильная верстка позволяет ему лучше понять смысл.
хотелось бы услышать ваше мнение по этому поводу
C чего вы решили, что я против SEO? :-) Это нормальная практика для любого сайта — заниматься продвижением. Но я против тех, кто создаёт мифы и откровенно обманывает людей в этой сфере. Люди наслушиваются таких распиаренных горе-оптимизаторов, а потом загоняют свой сайт в такое дно из которого потом сложно вылезти.
В MaxSite CMS нативная поддержка этой разметки. В шаблоне MF автоматом создаются схемы Article и BreadcrumbList. Так что нет никаких ограничений в этом плане.
Добрый день, Максим!
Спасибо за вашу работы!
Подскажите, в чем основные преимущества / недостатки / отличия Tailwind и Berry CSS?
С Tailwind я знаком.
Я уже делал обзор Tailwind https://maxsite.org/page/tailwind-css
Если кратко, то Tailwind работает через компиляцию js, поскольку используется как модуль Node. Сами стили — это по сути js-код, что вносит определённые особенности написания CSS.
В Berry используется обычный Sass, что позволяет его использовать абсолютно для любого проекта без дополнительных зависимостей.
Исходный css-дистрибутив Tailwind очень большой, то есть никто в здравом уме не будет им пользоваться на рабочем сайте — обязательно потребуется настройка. Berry же очень компактный и меньше по размеру в примерно 10 раз (140Кб), что позволяет использовать даже на рабочем сайте.
Также я считаю, что семантика Berry намного проще и логичней, чем у Tailwind, что выливается в меньшее количество ошибок при написании классов, да и запоминать их фактически не требуется. Tailwind же без документации понять во многих случаях проблематично.
Ну а так — эти фреймворки рассчитаны на одну целевую аудиторию — верстку через утилитарные классы. Только Berry следует принципу минимализма — иметь только то что требуется 90% пользователей, а Tailwind — максимализму: там много вещей, которые нужны только 10% пользователей.
Спасибо за ответ!
Надеюсь 140кб это без сжатия и с gzip будет меньше)
Tailwind можно и нужно настроить и выкинуть из него кучу лишнего, например, цвета. Тогда он сильно уменьшается в размере.
И после компиляции нодой вы получаете обычный css файл небольшого размера.
С gzip-сжатием Bery займёт всего около 25кб. Tailwind намного больше, поэтому он всегда требует настройки.
Berry точно также может настраиваться: только через Sass и также можно отключить неиспользуемые цвета и модули. Я в телеграм-канале недавно публиковал как это сделать. Если это лендинг из одной страницы, то размер css-файла с Berry можно уменьшить до 8Кб. Это 2-3Кб реального трафика.