Marionette.js исполнилось 5 лет

в 11:08, , рубрики: backbone.js, javascript, marionette.js, marionettejs, open source, джаваскрипт, перевод, Программирование

image

11 декабря 2016 Marionette.js исполняется 5 лет. Этот проект постепенно рос все эти годы. Его развивали сотни контрибьюторов, было создано сотни коммитов и десятки сотен проектов, которые используют Marionette. Мы были инновационными и были устаревшими. Мы видели как новые фреймворки приходят и некоторые уходят. Мы, возможно, никогда уже не будем новыми и модными, но мы будем делать все возможное чтобы постоянно двигаться вперед.

Почему Marionette.js?

В начале 2013-го мне было дано задание найти решение для постоянно растущих сложностей в RoundingWell приложении, которое использовало PHP и jQuery. Дизайн постоянно требовал все больше и больше взаимодействий пользователей с приложением. Поддержка такого состояния приводила к созданию хрупкого и сложного для понимания кода. Я обратил взгляд на frontend библиотеки, чтобы найти решение, и после исследования многих ресурсов чувствовал себя с Marionette более комфортно. На то время он имел активное сообщество, сама библиотека выглядела достаточно маленькой и гибкой для взаимодействия с сервером. Откровенно говоря, команда RoundingWell училась на лету. Нам нужен был маленький API, который мы могли бы быстро понять, а возможность быстро читать и понимать исходный код была потрясающей.

Мотивы, по которым люди выбирают Marionette сегодня, очень схожи. Для разработчиков, которые только знакомятся с javascript фреймворками это предоставляет чувство комфорта. Marionette имеет маленький и гибкий API, а кодовая база проста и легка в понимании.

Интерактивный и дополняемый

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

Если вы разрабатываете довольно зрелый javascript фреймворк с практически стабильным API, что вы должны делать когда кто-то представляет вам улучшения в виде решений, имплементированых в другом фреймворке? Вы можете бросить свой текущий проект и начать переписывать все с использованием нового решения, и как результат, это обязательно затронет всех вокруг — они будут вынуждены делать то же самое. Но, честно говоря, это нереально. Более прагматичным и конечно же менее захватывающим будет обнаружить то, что работает сейчас и применить интерактивные и прогрессивные изменения, которые приблизят к лучшему решению. Это важно когда пользователи и контрибьюторы двигаются нога в ногу.

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

Оглядываясь назад

Наше путешествие не было идеальным. Я верю, что релиз Marionette v3 был амбициозным и изменил очень много вещей. Осуществленные изменения были хороши и очень нужны, но подготовка релиза заняла очень много времени. Конечно же нам нужна помощь всех, чтобы улучшить документацию и создать примеры, которые построены на третьей версии. Найти что-то свежее о третьей версии очень сложно, так как мы не уделили достаточно времени на создание новой информации и статей, а материалов о второй очень много. Это влияет на поиски. Вдобавок хочется сказать, если вы не пробовали новую версию — пожалуйста, сделайте это! Если вам нужна помощь — наше сообщество всегда с вами.

Смотря вперед

Смотря в 2017-й год, Marionette команда будет проводить маленькие релизы. Релизы новых версий в идеале будут в себе содержать маленькие и простые обновления, в то время как новые и захватывающие "фичи" будут релизиться в минорных версиях. Изменения, которые могут сломать логику ваших приложений, будут представляться в виде фича флагов или параллельно с существующей логикой. Разработчикам будет легко предугадать нововведения будущих релизов.

Наша главная цель не изменилась. Marionette стремится быть доступным, с маленьким и понятным API. Мы хотим, чтобы наш код был легко читаемым с четкой структурой. Мы хотим, чтобы Marionette был интерактивным как в подходе к изменениям исходного кода так и в применении его на реальных проектах. Marionette останется гибким. Мы будем предлагать лучшие практики, но большинство архитектурных решений, которые применимы к тому или иному проекту, лежат на плечах самих разработчиков. Скорее всего самая важная цель — поддержка нашего сообщества. В нашем сообществе всегда была превосходная взаимоподдержка и поддержка в создании контента который улучшает окружение фреймворка.

Спасибо. За следующие 5 лет!

» Автор
» Оригинал на блоге
» Оригинал на medium

» Репозиторий
» Сайт

Автор: denar90

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js