FreeSewing 3.0 нарешті тут.
FreeSewing is the leading open source platform for made-to-measure sewing patterns, loved by home sewers and fashion entrepreneurs alike.
Реліз 3.0 є кульмінацією більш ніж річної роботи і вийшов трохи більше ніж через чотири роки після релізу 2.0. Я хочу сказати, що я не часто роблю такі оголошення , як це, і це велика справа. Ти маєш радіти.
Кардинальні зміни
Почнемо з очевидного: це великий реліз, тому в ньому є суттєві зміни. Перерахувати їх усі було б досить складно, та й, мабуть, не дуже корисно. Першій попередній версії FreeSewing 3 вже майже рік, і всі люди, які надали свої дизайни, або портували їх, або я зробила це за них.
Still, I want to list three breaking changes that are super obviously going to break your stuff if you rely on FreeSewing code;
- FreeSewing 3 - це тільки ESM: Міграція великого проекту на Javascript на модулі ESM достатньо, щоб змусити навіть найдосвідченіших розробників зламатися і плакати, але це зроблено.
- FreeSewing 3 використовує іменований експорт: Очевидно, що є місця, де потрібен експорт за замовчуванням (дивлячись на вас, NextJS), але скрізь, де ми можемо, ми зараз використовуємо іменований експорт виключно тому, що ми всі знаємо, що він кращий.
- FreeSewing 3 потребує Node 18 або новішої версії: Я рекомендую lts/hydrogen
З цим покінчено, давайте поговоримо про те, що нового. У цей реліз було вкладено багато зусиль, і я не зміг би охопити все це. Але дозвольте мені перерахувати деякі з найбільш фундаментальних змін.
Дизайн тепер JBOP
A big driver for the decision to freeze the v2 branch and start working on v3 was to make it easier to mix-and-match parts from various designs.
Успадкування дизайну вже було можливим у версії 2, але оскільки конфігурація оброблялася на рівні дизайну, це вимагало ретельного переконфігурування (необхідних) вимірів, опцій, залежностей деталей і так далі. Це було можливо , але супроводжувалося великими труднощами.
У версії 3 всю конфігурацію перенесено на рівень деталей, і тепер дизайн - це не більше, ніж , а просто набір деталей (JBOP). Саме деталі самі налаштовують те, що їм потрібно. Це включає в себе все, починаючи від вимірювань, які вони вимагають, опцій, які вони надають, плагінів, які вони використовують, їх залежностей, і так далі.
This way, re-use parts from various designs, and all of their configuration, dependencies, plugins, and so on will follow.
Менше шаблонів
Creating a design has also become a lot simpler, you essentially pass your list of parts to our Design
constructor and you’re done:
import { Design } from '@freesewing/core'
export const MyDesign = new Design({
parts: [ /* ... ваші частини тут ... */ ]
})
Говорячи про меншу шаблонність, у версії 2 найпоширеніші плагіни вже були об’єднані в пакет @freesewing/plugin-bundle
, але вам все одно потрібно було включити їх у свій дизайн. У версії 3 ці плагіни переміщено до пакунку @freesewing/core-plugins
, і за замовчуванням вони завантажуватимуться з основної бібліотеки FreeSewing (хоча ви можете відмовитися від цього).
Плагіни з більшими можливостями
In addition to providing macros, snippets, or tapping into FreeSewing’s lifecycle hooks, plugins can now also add methods to the store.
Це дозволяє ще більше розширити FreeSewing будь-якими цікавими речами, які ви можете придумати. Наприклад, спосіб обробки журналювання у базовій бібліотеці було перероблено на основі цього. Це означає, що якщо вам потрібне інше рішення для ведення журналу, ви можете просто надати свій власний обробник журналу у плагіні .
Нове середовище розробки
With the version 3 release comes a new development environment that closely mimics what we will be providing at FreeSewing.org (more on that later).
Середовище розробки постачається з різними шаблонами, які ви можете використовувати для , щоб почати дизайн з нуля або розширити один з наших блоків. У вас також немає , щоб обирати один з них, ви можете використовувати всі одночасно, і, якщо хочете, навіть додати більше.
Наше нове середовище розробки тепер дозволяє (за бажанням) інтегруватися з бекендом FreeSewing. Ви можете авторизуватися за допомогою свого облікового запису FreeSewing, щоб використовувати свої мірки під час роботи над дизайном.
Не все є версійним
There’s a lot more I could talk about, but I need to address the elephant in the room: So we have 3.0 now, when do non-developers get to use this?
Ну… Мені потрібно ще трохи часу. Все нібито готове, але деякі речі завжди потрібно трохи більше часу, тому що ви не можете зробити їх заздалегідь. Такі речі, як переклад, додаткове тестування, не кажучи вже про міграцію 50 тис. користувачів на зовсім іншу інфраструктуру.
Отже, як постійному користувачеві FreeSewing.org, якому не терпиться створити середовище розробки , вам доведеться почекати ще трохи. Але ясно, що це буде вже скоро. Я б сказав, що це питання тижнів, а не місяців.
In the meanwhile, if you find a problem or bug, create an issue because FreeSewing 3 is now production-ready and fully supported.
Йост