предисловие
Начиная с внутреннего тестирования мини-программы 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, и многие ключевые моменты не описаны очень подробно.