1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/WeBank-wxa

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

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

Статус Travis node (scoped with tag, custom registry) Лицензия

GitHub Actions Статус Travis

wxa.js

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

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

Преимущества фреймворка

  • 🖖 Быстрый вход в проект Без дополнительных барьеров обучения, можно полностью использовать нативный синтаксис мини-приложений для разработки.- :surfer: Нулевое конфигурирование Для стандартного проекта нет необходимости в каких-либо настройках для запуска.

  • :light_rail: Низкая стоимость Очень низкие затраты на миграцию, нативные мини-приложения могут сразу работать в @wxa/cli2. Поддерживает смешанное использование нативных и WXA компонентов, что помогает старым проектам постепенно переходить.

  • :rocket: Алгоритмы пакетизации зависимостей Самописные алгоритмы пакетизации зависимостей, помогающие разработчикам эффективно использовать пространство пакетов.

  • :curly_loop: Анализ зависимости Автоматический анализ проектной зависимости, позволяющий избежать ручного копирования сторонних зависимостей в проект.

  • 🤖 Динамическая загрузка любых сторонних инструментов, компонентов, моментальная установка и использование, идеально совместима с WeUI, Vant-WeApp и другими библиотеками компонентов.

  • :alien: Множественные экземпляры одновременная компиляция нескольких проектов сторонних разработчиков или небольших приложений для других платформ, таких как мини-приложения DouYin.

Более подробная информация доступна в документации.

Установка и использование

Установите глобально с помощью yarn или npm.

npm i -g @wxa/cli2
```**Быстрое создание нового проекта**

```bash
wxa2 create

Запуск среды разработки

wxa2 build --watch

Примеры разработки

app.wxa

<script>
import { App } from '@wxa/core';

@App
export default class Main {
    globalData = {
        userInfo: 'Genuifx',
    }
}
</script>

<config>
{
    "pages": [
        "pages/index"
    ]
}
</config>

<style lang="scss">
page {
    width: 100%;
    height: 100%;
}
</style>

pages/index.wxa

<script>
import { Page, Mixins, Debounce } from '@wxa/core';
import fooMixin from '../mixins/foo.js';

// Определение страницы и добавление миксинов
@Page
@Mixins(fooMixin)
export default class Index {
    data = {
        formA: {
            org: 'fintech',
            name: 'wxa'
        }
    }

    async onLoad() {
        console.log('Hello World');
    }

    // Создание функции debounce
    @Debounce(300)
    submitA(e) {
        console.log('submit success!');
    }
}
</script>

<config>
{
    "navigationBarTitleText": "Hello Wxa"
}
</config>

<template>
    <view class="page">
        Hi, <input type="text" value="{{formA.name}}" />
        <button bindtap="submitA">Отправить</button>
    </view>
</template>

<style lang="scss">
.page {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
</style>

По умолчанию экспортированные методы будут автоматически вызываться соответствующими методами Page, Component, App мини-приложения для регистрации.

Более подробная информация доступна в документации.

Быстрая предварительная проверка мини-приложения

wxa2 cli --action preview

Технические особенности

WXA — это фреймворк AOP, основанный на использовании декораторов (перехват выполнения) и предварительной компиляции для реализации функциональности фреймворка.С помощью декораторов реализовано:

  • :white_check_mark: Fetch автоматическая защита от повторной отправки запросов и управление очередью запросов.
  • :white_check_mark: Router простой API и возможность предварительной загрузки.
  • :white_check_mark: Eventbus простое решение для взаимодействия между страницами и компонентами.
  • :white_check_mark: Mixins объединение логики между страницами и компонентами.
  • :white_check_mark: Diff увеличенное использование данных.
  • :white_check_mark: Storage долговременное кэширование данных в небольшом приложении.
  • :white_check_mark: SessionStorage кэширование данных внутри периода работы приложения.
  • :white_check_mark: Lock предотвращение повторного выполнения функций, эффективное средство защиты от повторений на клиентской стороне.
  • :white_check_mark: Debounce предотвращение дребезга.

Примечание: В некоторых случаях было использовано более общее понятие вместо специфического термина, чтобы обеспечить правильность перевода в контексте IT-документации. Например, "prevent duplicate execution" переведено как "предотвращение повторного выполнения", а не "дебунчинг".

Просмотреть подробную информацию о Классовых декораторахС точки зрения предварительной компиляции, был реализован анализ зависимостей проекта мини-приложений, используя дерево зависимостей для управления всем проектом. На этой основе были адаптированы npm, однострочное развитие, облачное развитие и третье развитие. В плане синтаксиса поддерживаются последние ES*-синтаксис (включая Async/Await), Sass/Scss, Stylus. При необходимости можно адаптировать больше синтаксисов.## Экосистема WXA|Пакет|Описание|Версия |-----|--------|----- |@wxa/core|Основной пакет WXA runtime|npm| |@wxa/cli2|Командная строка и компиляция WXA|npm| |@wxa/validate|Валидация форм с поддержкой пользовательских правил проверки и сообщений|npm| |@wxa/watch|Watch & computed|npm| |@wxa/log|Отправка логов в реальном времени для мини-приложений|npm| |@wxa/mobx|Интеграция MobX в WXA|npm| |@wxa/redux|Интеграция Redux в WXA|npm| |@wxa/plugin-uglifyjs|Сжатие и улучшение качества JavaScript кода|npm| |@wxa/plugin-replace|Замена произвольных символов, используется для замены тестовых параметров при сборке|npm| |@wxa/plugin-copy|Копирование указанных статических ресурсов|npm| |@wxa/plugin-bind-hijack|Плагин для перехвата событий bind в мини-приложении|npm| |@wxa/plugin-minify-wxml|Сжатие WXML|npm||@wxa/plugin-postcss|Пользовательский плагин PostCSS| |@wxa/plugin-dependencies-analysis|Визуализация зависимостей модулей после сборки проекта, размеров и других данных, что помогает анализировать возможности оптимизации проекта.| |wxa-vscode|Плагин для Visual Studio Code|После установки вы сразу получите: автодополнение кода, форматирование; синтаксическое выделение цветами, проверку (включая файлы wxml и wxs); подсказки по фрагментам кода; поддержку однофайловых компонентов|

Клубный чат в WeChat

QR-код сообщества может быть обновлен по запросу. Для связи используйте следующие адреса электронной почты:

junbiaoli@webank.com
iveswen@webank.com

Для добавления в проект обратитесь к ответственному за проект: wechat: szyshangzhiyuan (при добавлении в друзья укажите: wxa)

Вкладчики ✨

Большое спасибо этим замечательным людям (ключ эмодзи):

---<! -- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <! -- prettier-ignore-start --> <! -- markdownlint-disable -->


WZT

💻 🚧

BiaoDuit

💻 🚧

ShangZY

💻 🚧

Хун Мин

💻 🚧

Lucus Zhu

💻 🚧

hughliu

💻 🚧

FlyDaisy

💻 🚧

Zachary Kwan

💻

Alan Zhang

💻

hanzooo

💻
```

Удалены лишние пробелы после https:// в ссылках. Устранены проблемы с форматированием и разметкой.

Этот проект следует спецификации all-contributors. Любые вклады приветствуются!

ЛИЦЕНЗИЯ

MIT

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Wxa — это инкрементальная (поэтапная) платформа для разработки небольших приложений, ориентированная на создание нативных мини-программ. Сохраняя простоту и скорость первоначальной разработки мини-приложений, она предоставляет ряд функций, которые решают проблемы систематизации проектов, повторного использования кода, повышают эффективность разр... Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/WeBank-wxa.git
git@api.gitlife.ru:oschina-mirror/WeBank-wxa.git
oschina-mirror
WeBank-wxa
WeBank-wxa
master