Структура мини-программы — выбор

Апплет WeChat

предисловие

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

Проблемы с нативной разработкой:

  • Сам апплет не поддерживает широко используемый прекомпилятор css.
  • Не поддерживает расширенный синтаксис выше ES7, такой как асинхронное ожидание и другие функции;
  • Неожиданные инженерные решения, такие как среда, переменные и т. д.
  • Отсутствие единого запроса на перехват запросов
  • Отсутствие унифицированного управления чтением локального кеша

Проблемы, которые можно решить с помощью фреймворка:

  • Поддержка прекомпилятора css
  • Поддержка синтаксиса ES7 и выше
  • Инженерная поддержка
  • Большинство фреймворков поддерживают мультитерминал, и набор кодов можно повторно использовать в нескольких терминалах.

Введение и сравнение фреймворка

Wepy

WePY (произносится: /'wepi/) — это платформа, которая позволяет небольшим программам поддерживать разработку компонентов. Благодаря предварительной компиляции разработчики могут выбрать свой любимый стиль разработки для разработки небольших программ. Детальная оптимизация фреймворка, введение Promise и Async Functions — все для того, чтобы сделать разработку небольших программных проектов проще и эффективнее.

Mpvue

mpvue — это фреймворк для разработки небольших программ с использованием Vue.js. Фреймворк основан на ядре Vue.js, а mpvue модифицирует среду выполнения и реализацию компилятора Vue.js, чтобы он мог работать в среде апплета, тем самым предоставляя весь набор возможностей разработки Vue.js для разработки апплета.

Основные характеристики

  • Полноценные возможности компонентной разработки: улучшите возможность повторного использования кода
  • Полный опыт разработки Vue.js
  • Удобное решение для управления данными Vuex: легко создавать сложные приложения
  • Механизм быстрой сборки веб-пакета: настраиваемая стратегия сборки, горячая перезагрузка на этапе разработки
  • Поддержка использования внешних зависимостей npm
  • Быстро инициализируйте проекты с помощью инструмента командной строки Vue.js vue-cli
  • Возможность преобразования кода H5 и компиляции в объектный код апплета

Taro

Taro — это набор многоцелевых решений для разработки, соответствующих спецификациям синтаксиса React.

Uni-app

uni-app — это фреймворк для разработки кроссплатформенных приложений с использованием Vue.js.

Chamelon

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

Основные характеристики

  • Структура каталогов: Обеспечьте стандартизированную структуру проекта, подходящую для разработки крупномасштабных приложений корпоративного уровня.
  • Уровень представления: уровень представления написан CML и CMSS, а ядро ​​представляет собой стандартное быстродействующее обновление представления, управляемое данными.
  • Слой логики: уровень логики написан с помощью javascript.Слой логики автоматически обновит представление после обработки данных и предоставит метод ответа на событие слоя представления.
  • Полиморфный протокол: обеспечивает унифицированное решение для базовых компонентов и интерфейсов каждого конца при кросс-конце.
  • Проверка спецификации: чтобы повысить эффективность разработки и удобство сопровождения кода, предоставляется всесторонняя спецификация и проверка кода.

сравнение кадров

Рамка Сила поддержки грамматика количество звезд время с открытым исходным кодом Метод компиляции
wepy Апплет WeChat класс Vue 18854 2016-11-23 Условная компиляция переменной среды
mpvue Апплет WeChat, апплет Alipay, апплет Baidu, апплет Toutiao Vue 18605 2018-03-09 Условная компиляция переменной среды
taro H5, апплет WeChat, апплет Alipay, апплет Baidu, апплет Toutiao, React Native, Quick App, апплет QQ React 21740 2018-06-07 Переменные окружения + компиляция файла
uni-app H5, апплет WeChat, апплет Alipay, апплет Baidu, апплет Toutiao, апплет QQ, версия для Android, версия для IOS Vue 12484 2018-07 Самостоятельно разработанный синтаксис условной компиляции
chameleon H5, апплет WeChat, APP (приложение Chameleon Playground, игровая площадка Weex) Vue-подобная система с использованием CML + CMSS + JS 6521 2019-02-26 Самостоятельно разработанный полиморфный протокол

Количество звезд было зафиксировано 17 сентября 2019 г.

Анализ преимуществ и недостатков фреймворка

wepy

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

Недостатки: поддержка только апплета WeChat, одна сторона поддержки, сам фреймворк статически скомпилирован, при динамическом повторе будут серьезные ошибки, иногда возникают ошибки разбора синтаксиса, обработка ошибок относительно проста

mpvue

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

Недостатки: Команда разработчиков практически больше не поддерживает фреймворк, количество пользователей становится все меньше и меньше, а различные проблемы в самом фреймворке так и не были решены после длительного периода итерации.

taro

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

Недостатки: Это статическая компиляция самого файла, преобразование сложных кодов вызовет проблемы, а совместимость с H5 и мобильными терминалами относительно плохая.

uni-app

Преимущества: фреймворк, продвигаемый командой разработчиков, форумы и коммуникационные сообщества очень активны, совместимость терминала чрезвычайно сильна, и существует специальная IDE, совместимая со спецификациями написания кода фреймворка.

Недостатки: часть кода не открытая, официальная скорость обратной связи по проблеме не своевременная, редактор привязан

chameleon

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

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

Анализ выбора

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

Совместимость с мини-программами WeChat

Если он совместим только с апплетом WeChat, вы можете использовать wepy, таро и хамелеон.Поскольку API этих фреймворков основаны на апплете WeChat, совместимость с апплетом WeChat в основном такая же, как и у нативных. Разработчики Vue могут выбирать wepy, хамелеон, разработчики React могут выбрать таро. Конечно, разработчики могут использовать glup для проектирования и нативной разработки для облегченной разработки, однако, хотя сам фреймворк увеличивает размер пакета, фреймворк будет инкапсулировать точки оптимизации производительности на нативной основе, такие как повторный рендеринг setData и т. д. . . .

Причина отказа от выбора mpvue заключается в том, что команда разработчиков mpvue больше не поддерживается, и в сложном бизнесе mpvue, совместимом с апплетом WeChat, есть некоторые проблемы, которые не были решены.

Есть только одна причина не выбирать uni-app, я не люблю использовать HBuildX

Совместимость с несколькими терминалами

Если вы хотите быть совместимым с несколькими терминалами, вы можете выбрать таро или хамелеон в соответствии с требованиями совместимых терминалов.Хотя у хамелеона короткое время с открытым исходным кодом, концепция унифицированного полиморфного протокола действительно хороша. Таро является ключевым рекламным проектом Bump Lab. В процессе использования можно обнаружить, что отзывы на форуме и скорость восстановления группы обмена по-прежнему очень своевременны. Использование таро может быть очень совместимо с апплетом WeChat. Специальная обработка

Суммировать

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