1. Введение
Прежде чем говорить о конструировании с низким кодом, мы должны сначала понять, что такое конструирование (конструирование в этой статье относится к созданию пользовательской новой страницы посредством веб-взаимодействия).
Я думаю, что суть строительства заключается в повышении эффективности, а повышение эффективности делится на повышение эффективности персонала НИОКР и повышение эффективности клиентов:
- Повышение эффективности для научно-исследовательского персонала: по сравнению с режимом Pro Code уровень абстракции выше, и некоторые настройки приносятся в жертву в обмен на более эффективный метод разработки.
- Повышение эффективности для клиентов: если у пользователя есть желание создать веб-приложение, наиболее распространенным решением является покупка сервера у Alibaba Cloud и его сборка. начальные затраты или снизить начальные затраты для определенной области, например, для строительства бизнес-инкубаторов.
Хотя эффект гнилой, почти большую часть работы можно отнести на счет эффективности программной инженерии. Например, vscode, TypeScript повышают эффективность кодирования, React, Vue Framework повышают эффективность программных исследований и разработок, workbencture, устойчивая интеграция повышает эффективность совместной разработки и т. д. Можно смело сказать, что это должно повысить эффективность производства всего общества.
Платформы разработки с малым кодом идут еще дальше, позволяя быстро создавать приложения с нулевым или минимальным кодом.
Из практических результатов невозможно охватить все области полным нулевым кодом, а 100% полный код может охватывать все области, но стоимость разработки слишком высока, поэтому стоит попробовать режим с низким кодом между ними Да, потому что многие пользовательские сценарии часто можно выполнить без слишком большого количества сложного кода, а многие сложные логические операции можно выполнить с помощью нескольких простых операторов присваивания или условных операторов, но если написание кода не разрешено, стоимость его использования даже меньше, чем написание небольшого кода. сумма.Код еще выше.
Таким образом, суть построения заключается в повышении эффективности.Учитывая повышение эффективности, это зависит от экономической эффективности.Пользователям эффективнее использовать платформу с низким кодом после изучения нескольких строк простого кода или пользователям настаивать на том, чтобы не писать код и использовать громоздкую интерактивную стоимость построения. Некоторые люди говорят, что вы не можете научиться программировать, но суть простого кода такая же, как и конструирование, то есть ввод компьютерных инструкций.
Есть также некоторые сценарии, которые переносят сложность на другие ссылки, такие как сценарии построения данных.Хотя построитель не имеет возможностей low-code, он может реализовывать сложную бизнес-логику.Причина в том, что эта сложность съедается слоем SQL , Поскольку сложность Если ее нельзя устранить, то какой слой более эффективен, разумно использовать какой слой для этого.
2 Интенсивное чтение
Низкий код не только включает в себя «быть в состоянии записи кода», но в основном имеет следующие четыре характеристики: доступом к материалу, способность макета, способность рендеринга и способность кода.
Доступ к материалам
Общий строительный движок должен иметь доступ к общим материалам, то есть сам компонент может использоваться строительной платформой, не заботясь о среде строительства.
Это требует, чтобы сама платформа не вторгалась в реализацию кода компонента и могла полностью контролировать реквизиты, предоставляемые компонентом.Необходимо автоматически определять, какие переменные реквизита есть у компонента, и автоматически рекомендовать тип формы редактирования в соответствии с типом.
Помимо простого текстового, числового, выпадающего окна и других редакторов Setters, существуют также следующие сложные редакторы:
- Редактор функций обратного вызова.
- Редактор узлов узла.
- Редактор интернационализации текста.
- Редактор выражений.
Редактор функций обратного вызова и редактор выражений — оба проявления возможностей low-code, по существу использующие код для описания значения переменной или обратного вызова.
Редактор узла специально обрабатывает параметры реквизита типа узла, такие какprops.header,propder.footer, который описывается как компонент в режиме кода и должен быть преобразован в режим детализации холста для редактирования в визуальном режиме.
Возможность оркестрации
Возможности компоновки включают компоновку страниц и логическую компоновку, что является основной возможностью построения с низким кодом.
макет страницы
Макет страницы включает в себя множество интерактивных действий, таких как перетаскивание компонентов и макета.Среди них макет очень многообещающий.Например, режим редактирования Yunfengdie благодаря свободному макету перетаскивания снижает затраты пользователя на понимание потока DOM компоновка, но через адаптивное четырехмерное расстояние по периметру имитирует эффект того, что компоновка потока автоматически растягивает контейнер, а контейнеры сталкиваются и сжимаются.
Комбинация компонентов и компонентов может образовывать новый материал, который обычно называется шаблоном.Например, страницу в целом также можно назвать шаблоном.Идентификатор компонента шаблона является компонентом-контейнером корневого узла узла страница. Однако в шаблоне есть и неудовлетворительные сценарии, например, предполагается, что комбинация, образованная компонентами, имеет новый набор конфигураций, в это время расширяется понятие low-code бизнес-компонентов, можно считать, что шаблон используется как полноценный редактор, и для шаблона может быть установлена любая форма редактирования. , значение этой формы редактирования может быть прозрачно передано каждому компоненту внутри для чтения.
логическое расположение
Логическая компоновка является ядром возможностей low-code.В движке low-code все параметры компонента могут быть описаны в low-code, напримерprops.colorВы можете выбрать фиксированное значение с помощью палитры цветов или преобразовать его в режим выражения и написать фрагмент кода.
Помимо обычных возможностей JS, этот код также имеет базовые возможности управления состоянием, то есть может обращаться к состоянию в текущей области видимости.this.state, а область состояния разделена контейнером.Контейнер делится на контейнер, который содержит состояние, и тот, который не содержит состояние.Состояния подкомпонентов в контейнере, содержащем состояние, взаимосвязаны.
Помимо основных возможностей управления состоянием, у него также есть возможность доступа к контексту, то есть вызова некоторых API движка для работы с холстом, которые обычно используются для обратных вызовов компонентов, вызываемых в обратных вызовах.this.setStateСостояние настройки также относится к контексту действия. В дополнение к контексту существуют также такие возможности, как стилизация, интернационализация и выборка чисел, которые можно передать черезthisПри доступе возможность извлечения числа специально отрисовывается на уровне движка, чтобы отделить все компоненты от логики извлечения числа.Компоненту нужно только получить данные и isFetching, и ему не нужно фактически отправлять запрос на получение числа.
Другим аспектом логической оркестровки является визуализация.Вышеупомянутые возможности low-code визуально выражаются в виде логических узлов и линий, что имеет определенные преимущества при описании и поддержке сложной логики.
Возможность рендеринга
Особенностью построения является то, что процесс построения может быть завершен только на стороне ПК, но приложения после выпуска часто требуют многократного рендеринга.Например, все больше и больше компаний используют мобильные телефоны для просмотра отчетов BI, и даже отчеты необходимо быть встроенным в WeChat и Alipay, В программе формы, созданные на ПК, часто также имеют большое количество запросов, которые необходимо заполнить с помощью мобильных телефонов.
Следовательно, стороны редактирования и рендеринга должны быть разделены, но для обеспечения логической согласованности необходимо повторно использовать основной код, поэтому лучше всего использовать независимый от пользовательского интерфейса уровень ядра + бизнес-уровень для расширения метода реализации пользовательского интерфейса для построения UI-независимое ядро отвечает только за хранение. , Манипулируя данными холста, после исключения кучи Панелей, прикрепленных дизайнером, часто бывает достаточно переиспользовать логическое ядро при рендеринге.
Кросс-энд повторное использование компонентов также необходимо, и есть много технических решений для кросс-энд рендеринга.
Возможность вывода кода
Взаимное преобразование между LowCode и ProCode также является большой проблемой.Прежде всего, преимущества взаимного преобразования не должны упоминаться.Свобода переключения между повышением эффективности и настройкой должна быть самым идеальным способом разработки, но есть много препятствия для реализации.
Во-первых, это преобразование LowCode в ProCode. Это относительно просто. Причина в том, что сам LowCode определен в JSON, а код является надмножеством JSON. Преобразование из подмножества в надмножество не представляет технических препятствий.
ProCode LowCode для преобразования от неприятностей, один из способов заключается в возможности определить ProCode даже заменить с новым родным синтаксисом JS, в основном за счет способности диапазона ProCode заблокирован, так что улов может LowCode. Другим способом является асимметричное преобразование, т.е. будет потеря функции после конвертации из ProCode LowCode, или даже если функция не удалена, но не функция соответствующая LowCode не может редактировать платформу.
возможность выполнения
Платформа построения, которая имеет только указанные выше возможности low-code, все еще слишком общая.Хотя функции очень мощные, это не обязательно может повысить эффективность в конкретных бизнес-сценариях.Конкретные бизнес-сценарии должны иметь конкретные решения.Суть построения заключается в том, чтобы повысить эффективность. , если будет слишком много атомарного и low-code контента, он поставит телегу впереди лошади, просто напишите код по-другому, и это не сильно повысит эффективность разработки за счет использования конструкции.
Существует три основных метода настройки бизнеса:
- Настраиваемые бизнес-компоненты. Например, компоненты, которые используются в 80 % сценариев сложной бизнес-системы, объединены в настраиваемый бизнес-компонент, что экономит большую часть времени на настройку и позволяет пользователям чувствовать себя более эффективно.
- Настраиваемые бизнес-шаблоны и бизнес-компоненты с малым кодом. Идите дальше, укрепите бизнес-шаблоны, которые по существу аналогичны шаблонам кода, или используйте бизнес-компоненты с малым кодом для создания гибридного компонента для бизнес-сценария без разработки новых компонентов.
- Индивидуальные элементы бизнес-конфигурации: некоторые бизнес-сценарии являются высокопрофессиональными.С одной стороны, группы пользователей разные, а с другой стороны, учитывается эффективность построения.Должен быть предоставлен элемент конфигурации, основанный на бизнес-перспективе, который не только соответствует логике бизнес-мышления, но также сохраняет конфигурацию.
Вышеупомянутые общие методы могут быть реализованы с помощью существующих открытых возможностей механизма, но для сценариев данных существуют некоторые сценарии, которые зависят от возможностей механизма выполнения, а возможности среды выполнения необходимо абстрагировать и реализовать с низкими затратами. код.
Например, пусть все компоненты на текущей странице, настроенные с одним и тем же набором данных, автоматически устанавливают ассоциацию связи фильтра. динамически вызывает API для добавления нового компонента, статическая конфигурация. Трудно выполнить сценарии динамической ассоциации. В настоящее время мы можем расширить некоторые глобальные возможности среды выполнения, чтобы компоненты могли получать информацию о холсте, когда эти возможности среды выполнения реализуются, и запускать их динамически, когда движок фактически вызывается, вместо редактирования и создания статического JSON. Полностью отключен от рендеринга.
Возможности выполнения будут разными на разных платформах для разных вертикальных сценариев.Если вы хотите открыть базовый движок, вы можете предоставить слот расширения и механизм для динамической регистрации возможностей выполнения движка.
3 Резюме
Платформа для создания с низким кодом не может принять все сценарии. Пока кто-то готов «индивидуализировать» вертикальные бизнес-сценарии, пользователи сразу почувствуют, что эффективность построения была улучшена. Максимизируйте способ сделать платформу .
Тем не менее, стоимость обслуживания создания платформы очень высока. Это определенно не долгосрочное решение для поддержки отдельного набора для каждого бизнес-сценария. быть «адаптированным» для своей собственной группы пользователей на его основе. «Пользовательский» — это набор эксклюзивных дизайнеров, которые используют общие возможности и протоколы для построения движков и свободно расширяют возможности настройки.
Следовательно, не только состояние рендеринга полиморфно, но и конструктор также должен быть полиморфным, а части, которые могут быть объединены в стандарты, должны быть согласованы, например, спецификации доступа к материалам, возможности оркестровки, возможности кодирования и возможности среды выполнения. разница.
В стране и за границей очень хорошо настроена система, но либо слишком общие, конкретные сцены, повышение эффективности не очевидно, либо слишком вертикальный, не меняющий бизнес-сценарий. Али теперь низко в фоновом коде, созданном организациями при разработке стандартов, возможность вылечить общий движок в качестве стандартного протокола, платформа может быть согласована так, чтобы разные спецификации и функции, будущее будет продолжать достигать конвергенции основной движок, основанный на нем, может создавать сотни тысяч вертикальных областей платформы для создания бизнес-структур и эффективности, сохраняя при этом ядро движка и спецификацию взаимодействия.
Техническая группа, работающая с данными среднего уровня, принадлежащая автору, является членом организации по строительству среднего и внутреннего уровня с низким кодом, что доводит область построения данных до крайности. С точки зрения технологий, мы открываем технические решения для среднего и внутреннего построения и построения данных.Что касается продуктов, мы постепенно унифицируем платформу построения данных Alibaba Group, а внешне мы также представили QuickBI, чтобы стать единственный продукт BI в квадранте Gartner в Китае, и его можно ожидать в будущем.
Техническая команда среднего уровня данных Alibaba активно набирает сотрудников.Если вы заинтересованы, вы можете связаться с ziyi.hzy@alibaba-inc.com.
Адрес обсуждения:Чрезвычайно читаемое «Понимание low code» · Выпуск №260 · DT-Fe / Weekly
Если вы хотите принять участие в обсуждении, пожалуйста,кликните сюда, с новыми темами каждую неделю, выходящими по выходным или понедельникам. Интерфейс интенсивного чтения — поможет вам отфильтровать надежный контент.
Сфокусируйся наАккаунт WeChat для интенсивного чтения в интерфейсе
Заявление об авторских правах: Бесплатная перепечатка - некоммерческая - не производная - сохранить авторство (Лицензия Creative Commons 3.0)