| Предисловие
В текущей ситуации, когда большой интерфейс усиливается, есть знаменитый QT, RN от Facebook, Weex от Али, а затем есть Flutter и гибридная разработка + H5, которые постоянно догоняют.Каждый хочет выиграть свои рабочие места на кроссплатформенная чаша для риса. В рамках этой тенденции фронтенд-разработчики будут немного растеряны, идти ли по стопам всех, чтобы изучить различные кроссплатформенные технологии, или усовершенствовать текущую технологию и сосредоточиться на определенной платформе! Прежде чем изучать различные технологии, я также думал о том, чтобы потратить время на просмотр исходного кода, изучение зрелых фреймворков от других или написание высокопроизводительного фреймворка!
Зачем изучать флаттер?
Все учатся и догоняют, и, условно говоря, кроссплатформенность будет более конкурентоспособной, чем одноплатформенная.Если текущая ситуация с платформой не оптимистична, вы можете перейти на другие платформы! Для малых и средних предприятий найм кросс-платформенного человека может сократить расходы; для разработчиков, если вы не учитесь у других, вы не сможете учиться у других, так как же вы можете оставаться конкурентоспособными? Прежде чем изучать Flutter, я также использовал другие кросс-платформенные решения, такие как RN.Я думал, выбрать ли RN или Flutter.В конце концов, причины выбора Flutter:
- Разработано на языке Dart, высокая эффективность, аналогичная языку Java
- Базовый виджет Flutter основан наSkiaРисунок, мощный и плавный
- Дизайн маршрутизации решает болевые точки оригинальной навигации по платформе разработки.
- Зрелая система и структура
- Быстро компилируется и поставляется сгорячая загрузка(Хотя Android изначально использует модульность, компиляция и упаковка после слияния занимает очень много времени)
Сравнение с другими кроссплатформенными решениями:
Мой проект
Предварительный просмотр проекта (Gif):
Предварительный просмотр проекта (PNG): Скачать:
- Гитхаб:GitHub.com/ То есть ответить на любовь 灬 Qingyun/…
- Загрузка приложения Боши:www.pgyer.com/blog
- Адрес API:www.wanandroid.com/blog/show/2
- Загрузка QR-кода приложения Boshi:
Описание Проекта:
Bosera App - это техническое программное обеспечение для консультирования по блогам.В проекте есть такие модули, как вход в систему, регистрация, проект, рейтинг баллов, обратная связь по вопросам, квадрат, вопрос и ответ, поиск, технический проект, коллекция, история, личная информация, информация и обмен.
- Использование проектаGetxКак инфраструктура управления состоянием, инфраструктура может более эффективно управлять маршрутизацией, быстро обновлять виджеты и, что наиболее важно, без контекста, а также может обмениваться состоянием глобально и между модулями.
- соответствоватьMaterial DesignСтиль дизайна интерфейса с более яркими цветами и более очевидными анимационными эффектами, особенно в закругленных углах, тенях, анимации и подборе цветов.
- языкглобализация, с использованием нескольких языков, в настоящее время поддерживаются упрощенный китайский, традиционный китайский, английский
- использование интерфейса запросаDioВыполните вторичную инкапсуляцию, завершите запрос интерфейса одной строкой кода и получите такие функции, как отображение анимации диалогового окна, печать журнала запросов, анализ исключений и добавление заголовков запросов.
- Идеальная инкапсуляция подтягивающего обновления, выпадающей загрузки и других функций, а также отсутствие необходимости ручного управления пейджингом, отсутствие необходимости повторения запросов, автоматическая загрузка, отображение различных виджетов в разных состояниях и просмотр подробностей.BaseGetPageControllerа такжеRefreshWidget
- Хороший стиль аннотаций, соответствующий спецификациям аннотаций
- Иерархия каталогов понятна, а разделение модулей можно быстро найти.
- на основеFlutter2.0, поддержка нулевой безопасности, отсутствие необходимости в последующих обновлениях
Зачем использовать Getx
-
Fish Redux?
До использования Flutter я только слышал, что Flutter широко используется в команде Xianyu.Включив границу макета дисплея, можно увидеть, что большинство страниц приложения Xianyu используют Flutter. При принятии решения об использовании Flutter для разработки проекта первым выбором является использование среды управления состоянием Xianyu Fish Redux для разработки.После понимания использования, преимуществ и недостатков Fish Redux код шаблона, сгенерированный подключаемым модулем, выглядит следующим образом:
-
Provider?
- MobX ?
- Getx?
# rxdart https://pub.flutter-io.cn/packages/rxdart
rxdart: ^0.27.1
#GetX状态管理框架 https://pub.flutter-io.cn/packages/get
get: 4.3.7
#toast https://pub.flutter-io.cn/packages/fluttertoast
fluttertoast: ^8.0.8
# 网络请求库 https://github.com/flutterchina/dio
dio: 4.0.0
# 网络检测 https://pub.flutter-io.cn/packages/connectivity
connectivity: 3.0.6
# 加载SVG图片 https://pub.flutter-io.cn/packages/flutter_svg
flutter_svg: 0.22.0
# lottie动画 https://pub.flutter-io.cn/packages/flutter_lottie
lottie: ^1.1.0
# SP键值对存储 https://pub.flutter-io.cn/packages/shared_preferences
shared_preferences: ^2.0.6
# WebView
webview_flutter: ^2.0.12
#读取相册
image_picker: 0.8.3+3
# https://github.com/flutter/plugins/tree/master/packages/url_launcher
url_launcher: ^6.0.9
#文件路径管理工具类
path_provider: ^2.0.2
#上拉刷新、下拉加载
pull_to_refresh: ^2.0.0
#加载html标签
flutter_html: ^2.1.2
#调用分享平台 https://pub.flutter-io.cn/packages/share
share: ^2.0.4
#图片保存到本地 https://pub.flutter-io.cn/packages/image_gallery_saver
image_gallery_saver: ^1.7.1
#权限申请框架 https://pub.flutter-io.cn/packages/permission_handler
permission_handler: ^8.1.6