Кроссплатформенная унифицированная среда MVVM Didi с открытым исходным кодом: Chameleon

внешний интерфейс внешний фреймворк

Chameleon/ kəˈmiːlɪən / , стенографияCML,Китайское имя卡梅龙;китайское значение变色龙, что означает кросс-энд общее решение, которое может адаптироваться к различным средам, как хамелеон.

Документация

Главный сайт:CMLJS.org

задний план

Студенты R&D не только стремятся к гибкости h5 в терминале, но и добиваются производительности, близкой к оригиналу. Столкнувшись с расширением входа, основного терминала, независимого терминала, апплета WeChat, апплета Alipay, апплета Baidu, быстрого приложения альянса производителей Android, одна функция должна повторяться на каждой платформе, а затраты на разработку и обслуживание увеличиваются в геометрической прогрессии. Существует острая необходимость поддерживать набор кодов, которые могут создать решение с несколькими входами.После почти 20 месяцев полировки кросс-конечное решение Didi, Chameleon, наконец, было выпущено. Сосредоточьтесь на том, чтобы один набор кода работал на нескольких концах.

концепт дизайна

Самые основные концепции проектирования архитектуры программного обеспечения — «разделение» и «объединение». Значение разделения — «разделяй и властвуй», разделение сложных проблем на отдельные задачи, которые необходимо решить, например, «микросервисный» дизайн серверных бизнес-систем. ; «Смысл «слияния» заключается в том, чтобы абстрагировать одни и те же бизнес-требования в одно и достичь цели высокой эффективности и высокого качества, такой как проектирование «среднего офиса» в бэкэнд-системе бизнеса.

И Chameleon принадлежит к последним, определяя единый языковой фреймворк +Единый полиморфный протокол, а также выделить автономную, непрерывную и обслуживаемую «внешнюю службу среднего офиса» из многотерминального (соответствующего нескольким независимым службам) бизнеса.

перекрестная цель

Хотя различные среды постоянно меняются, архитектурная идея MVVM неотделима от оригинала.Цель Chameleon — унифицировать кросс-энд-среду MVVM..

Alt text

Панорама обучения

Alt text

Язык разработки

Люди, которые занимались веб-программированием, знают, что в веб-программировании используется комбинация HTML+CSS+JS, и по той же причине в хамелеоне используется CML+CMSS+JS.

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

CML(язык разметки хамелеон) используется для описания структуры страницы. Мы знаем, что HTML имеет набор стандартных семантических тегов, таких как текст<span>кнопка<button>. CML также имеет стандартный набор тегов, которые мы определяем как组件, CML предоставляет пользователям рядкомпоненты. Также поддерживается в CMLсинтаксис шаблона, такие как условный рендеринг, рендеринг списка, привязка данных и т. д. В то же время CML поддерживает использованиеVue-подобный синтаксисчтобы вы начали быстрее.

CMSS(Chameleon Style Sheets) — это язык стилей, используемый для описания структуры страниц CML, который обладает большинством характеристик CSS, а также может поддерживать различные языки предварительной обработки CSS.less stylus.

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

богатые компоненты

При написании страницы с помощью CML Hameleon предоставляется.богатые компонентыДля разработчиков, встроенныйbutton switch radio checkboxи другие компоненты, дополненныеc-picker c-dialog c-loadingИ так далее, включая компоненты, обычно используемые в разработке.

Богатый API

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

Свободно настраивайте API и компоненты

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

Интеллектуальная проверка спецификаций

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

прогрессивный диапазон

Если вы хотите, чтобы набор кода работал на нескольких концах и вам не нужно радикально рефакторировать проект, вы можете использовать Chameleon для разработки нескольких повторно используемых компонентов и вызывать их непосредственно в исходном проекте.

Продвинутый опыт фронтенд-разработки

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

связаться с нами

ChameleonCore@didiglobal.com

Группа обмена WeChat и QQ

WeChat


QQ