Pull to refresh

PHP фреймворк отечественной разработки

Reading time5 min
Views16K

Друзья, всем пример. Меня зовут Макс и я хочу познакомить вас с IsEngine framework.

Это новый фреймворк отечественной разработки для простого и быстрого создания web-приложений.

Я занимаюсь его разработкой в течение последних 5 лет. Сейчас готовлю его к релизу, и поэтому начинаю продвигать.

Про велосипеды и что isEngine из себя представляет

Чтобы понять любой продукт, вообще любую систему, нужно понимать, какие задачи она решает. И здесь самый первый и самый главный вопрос - это для кого она создана. Для программистов? Разработчиков? Или для обычных людей (я имею ввиду не специалистов в web'е).

Я позиционирую isEngine как фреймворк от разработчиков для разработчиков. Я достаточно давно знаком с web'ом в целом, первые сайты начал создавать году в 2002, еще когда только поступил в техникум. Это, наверное, обычная для многих история. Теперь вот непосредственно в разработке, с 2017-го.

Здесь я хочу обратить внимание на то, что когда ты создаешь сайт для себя... Не важно, сам или нанимая подрядчика, в конце концов тебе потом им пользоваться, и в конечном итоге это твое приобретение. Так вот, когда ты занимаешься этим для себя, ты стараешься использовать самые передовые технологии, и это разумнее всего. Но когда ты представляешь студию, которая занимается разработкой большого числа проектов, и часть из них (если не все) потом обслуживает, ситуация предстает в совершенно ином свете.

А обслуживание, хочу отметить, приносит далеко не столько же денег, сколько сама разработка, а времени занимает, ну почти столько же. И время - это еще один важный ресурс. Надо понимать, что время ограничено, и есть «потолок» проектов, которые один человек физически может обслуживать.

И здесь ты уже смотришь не на то, какие технологии в топе, а на то, как быстро можно их внедрять, насколько они «дружат» между собой и насколько безболезненно их можно обновлять.

Конечно, большую роль по-прежнему играют возможности того или иного решения. Но если для себя ты можешь какими-то недостатками пренебречь, то в выборе решений для заказчика это всегда компромисс между тем, что нужно сейчас и тем, что будет в перспективе дальнейшего развития. И хотя на рынке существует множество решений, они в большинстве своем не сильно отличаются друг от друга.

Плюсы и чем isEngine может вас заинтересовать

isEngine автоматизирует многие процессы. Например, редиректы с «www» на «без www», с «http» на «https» и наоборот без нужды влезать в конфиг сервера. Он налету генерирует «robots» и «sitemap» по запросу.

Широко настраивается router. Например, вы можете задать обязательное расширение для конечных страниц, использование или отключение индексных страниц. Это полезно, если вы хотите обновить сайт, но при этом важно оставить всю накопленную «ссылочную массу».

Шаблонизатор имеет огромные возможности. Например, вы можете создать несколько админок, личный кабинет, закрытые разделы и так далее. Можно вынести часть элементов шаблона в блоки и использовать их между шаблонами.

Есть реализация API, причем тремя способами: в виде обозначения части пути, в виде номера для части пути или сделать весь сервер только для API. Ну и конечно можно отключить его совсем.

Что еще? Есть автогенерация SEO, различных меню.

Про отечественные разработки

Так как это наша, российская разработка, я очень внимательно отношусь к поддержке кириллицы в частности и к поддержке мультиязычности в общем. Так, в isEngine «из коробки» идет очень простая и легко настраиваемая мультиязычность. Мне кажется, это будет полезно не только нам, но и в других странах, особенно где не используется латинский алфавит.

На мой взгляд, все классные разработки развивались естественным путем. Они завоевали рынок за счет того, что сами по себе были классные, удобные и нравились людям.

Я много слышал о том, что в нашей стране отечественные проекты принимаются плохо. Но это не так. Есть много примеров web-разработок, я не буду их здесь называть, которые востребованы у нас. Ими пользуются. И не потому, что «партия распорядилась», а потому что они действительно нравятся людям.

Конечно, я хочу, чтобы isEngine тоже пользовались. Чтобы вокруг него сформировалось русскоязычное сообщество, пусть не большое, но дружное. Для этого нужно привлечь внимание к проекту. Пишется документация, готовятся обучающие ролики, будут проводится прямые трансляции.

Вот мы приступаем к очередному проекту. У него есть его собственная, внутренняя, сложность. И мы выбираем фреймворк.

А фреймворки нужны для того, чтобы упростить нам жизнь, освободить от написания однотипного кода. Но по мере их развития, кодовая база разрастается и они начинают привносить свою долю сложности в проект.

Поэтому мы оказываемся в двух ситуациях. Вариант недостаточности, когда фреймворка недостаточно, чтобы перекрыть внутреннюю сложность. И тогда нам придется либо дорабатывать его, либо подключать дополнительные инструменты. И второй вариант - вариант избыточности. Когда необходимый нам функционал перекрывается, но оставшаяся часть висит «мертвым грузом», а это излишняя трата ресурсов.

Ну может, и нагнетаю. Но реально такие ситуации везде. Вопрос, насколько это критично.

Еще про плюсы и чем isEngine может быть вам полезен

isEngine я разрабатывал с тем учетом, чтобы в нем были инструменты, позволяющие максимально эффективно его использовать.

Например, вы можете использовать его как библиотеку в своем проекте. Причем там такая модульная система, где классы сгруппированы по функционалу. Не нужна работа с базами данных - не подключайте этот класс. Нужны хелперы - берите только хелперы.

Библиотека и ядро изолированы. Вы можете расширить существующее ядро фреймворка, можете написать свое. Можете расширить функционал существующих классов, можете создать свои компоненты, используя наследование. Можете создавать свои хелперы.

Для кастомизации системы - просто неограниченное число возможностей.

Установке и обновлению я уделял особое внимание. Во-первых, чтобы они происходили максимально просто, быстро и безболезненно для пользователя. Во-вторых, чтобы любое обновление не могло снести все надстройки, которые вы сделали.

Про минусы

Почему-то сложилось мнение, что пользуясь отечественным, вы почти всегда получаете продукт более низкого качества, чем зарубежный аналог. Я сейчас не буду касаться причин. Здесь хочется сказать, что у меня не так, что здесь все отлично! Но правда в том, что isEngine не лишен недостатков. Я работаю над тем, чтобы он был идеальным. Но нельзя все сделать сразу и также нельзя все сделать одному.

Так что в моем случае, это следствие того, что я занимаюсь фреймворком в одиночку, без поддержки.

Я стараюсь быть объективным.

Про поддержку

Сейчас я приступаю к работе над релизом. До этого надо документацию причесать. Опять же для себя, потому что я сам часто ей пользуюсь. И составить дорожную карту. Там будет все написано про планы на ближайшее будущее.

Чтобы isEngine успешно развивался, им должны пользоваться. Я, в свою очередь, стараюсь сделать его максимально полезным.

Если вы хотите помочь фреймворку, начните использовать его в своих проектах.

Подписывайтесь на наши каналы, вступайте в наши группы. Ссылки на них есть ниже. Комментируйте, задавайте вопросы.

Я жду вас в рядах сообщества.

Спасибо.


Ссылки:

Официальный сайт
Проект на гитхабе
Канал на youtube
Канал в телеграм

Tags:
Hubs:
Total votes 53: ↑24 and ↓29-5
Comments73

Articles