Основные проекты с открытым исходным кодом для Flutter

Flutter

Flutter — это набор кроссплатформенных фреймворков пользовательского интерфейса с открытым исходным кодом, запущенных Google, которые могут быстро создавать высококачественные нативные пользовательские интерфейсы для Android, iOS и веб-платформ. В то же время Flutter также является комплектом разработки по умолчанию для недавно разработанной операционной системы Google Fuchsia. Во всем мире Flutter используется все большим количеством разработчиков и организаций, и Flutter полностью бесплатен и имеет открытый исходный код.

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

Как и в случае с другими внешними технологиями, технология Flutter пользуется популярностью благодаря идеальному сообществу и энтузиазму разработчиков, поэтому при разработке приложений Flutter мы будем более или менее использовать некоторые библиотеки сообщества с открытым исходным кодом, чтобы снизить затраты, связанные с нашим собственная упаковка.Стоимость времени, ниже приводится сводка библиотек, которые больше используются в разработке Flutter (в произвольном порядке).

Подобно внешнему механизму управления пакетами, пакеты зависимостей Flutter помещаются в файл pubspec.yaml, как показано ниже.

name: flutter_app
description: A new Flutter application.

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2
  lpinyin: ^1.0.7

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true

Среди них сторонние библиотеки, от которых мы зависим, размещены в узле зависимостей.

Дисплей пользовательского интерфейса

богатый текст

flutter_html_view

универсальный. горячий sirius.org/packages/legal…По умолчанию Flutter не предоставляет компонентов для отображения HTML, поэтому, если вы хотите отображать HTML, вам нужно использовать сторонний пакет, который может отображать HTML в собственных виджетах. Аналогичен плагину jsoup для Android.

flutter_html_textview

универсальный. горячий sirius.org/packages/legal…Отобразите html как виджет и отобразите html в текстовом представлении.

MarkDown

flutter_markdown

Универсальный.горячий sirius.org/packages/horse…

Библиотека, написанная на Dart, которая поддерживает просмотр Markdown, который преобразует Markdown в HTML на клиенте и сервере.

markdown

Универсальный. горячий sirius.org/packages/horse…Портативная библиотека Markdown, написанная на Dart. Он может анализировать Markdown в HTML как на клиенте, так и на сервере.

html2md

универсальный.горячий sirius.org/packages/contracts…Плагин, поддерживающий преобразование html в MarkDown.

анимация

flutter_villains

универсальный. горячий sirius.org/packages/legal…Библиотека анимаций переключения страниц, упрощающая операции с анимацией. При ее использовании вам нужно только управлять пользовательским интерфейсом.

экранизация

platform_aware

Универсальный. горячий sirius.org/packages/comments…Компоненты Flutter упакованы для автоматической адаптации к текущей платформе, никаких изменений кода для iOS и Android не требуется. Все виджеты полагаются на Theme.of(context).platform для определения платформы текущей активной платформы. Вы можете динамически менять платформы с помощью Flutter Inspector.

native_widgets

Универсальный горячий sirius.org/packages/that…Чтобы избежать дублирования кода, напишите код один раз для поддержки двух платформ и автоматически используйте соответствующие компоненты стиля в соответствии с платформой, Android будет использовать материальный дизайн, iOS будет использовать виджеты в стиле Купертино.

Календарь, библиотека выбора времени

flutter_calendar

универсальный. горячий sirius.org/packages/legal…Библиотека компонентов календаря Flutter немного отличается в отображении, потому что она вызывает собственную библиотеку компонентов.

calendarro

[https://pub.dartlang.org/packages/calendarro](https://pub.dartlang.org/packages/calendarro)

Библиотека компонентов календаря Flutter, эта библиотека предоставляет множество способов настройки компонентов.

flutter_picker

универсальный. горячий sirius.org/packages/legal…Селектор даты, времени, даты и времени, значка и пользовательских данных, которые можно расположить по центру или выдвинуть внизу. (В настоящее время это наиболее полный элемент управления селектором. Плагин поддерживает платформы ios и android и использует эффекты пользовательского интерфейса в стиле ios.)

Выбор цвета

flutter_color_picker

универсальный. горячий sirius.org/packages/legal…Простой селектор цвета, аналогичный функции селектора Android, может установить эффект селектора для элемента управления при щелчке элемента управления.

flutter_colorpicker

универсальный. горячий sirius.org/packages/legal…Средство выбора цвета HSV.

Панель навигации

navigation_bar

Универсальный горячий sirius.org/packages/that…Библиотека простой нижней панели навигации

fluro

универсальный. горячий sirius.org/packages/legal…Лучший фреймворк навигации по маршрутизации. Возможности: простая навигация по маршруту, обработчики функций (сопоставление с функциями вместо путей), сопоставление параметров с подстановочными знаками, анализ параметров строки запроса, встроенные общие преобразования, простое создание пользовательских преобразований.

Сеть и сериализация данных

сетевой запрос

http

универсальный.горячий sirius.org/packages/contracts… GitHub.com/Big Hot Sky-Wolf/Также…http — это библиотека сетевых запросов, изначально написанная на Dart, которая может легко реализовывать HTTP-запросы ресурсов, она не зависит от платформы и может использоваться в командной строке и в браузере.

HttpClient

HttpClient — это разновидность Http-запроса, предоставляемого библиотекой Dart IO, которая может реализовывать некоторые базовые Http-запросы. Однако HttpClient может выполнять только некоторые базовые сетевые запросы и не может выполнять некоторые сложные сетевые запросы.Например, часть типа содержимого тела запроса в POST не может поддерживаться, а тип передачи multipart/form-data еще не поддерживается.

dio

Универсальный.горячий sirius.org/packages/th…

Библиотека HTTP-запросов, предоставляемая сообществом Dart, не только поддерживает общие сетевые запросы, но также поддерживает такие операции, как Restful API, FormData, перехватчики, отмену запросов, управление файлами cookie, загрузку/выгрузку файлов и тайм-аут.

http_multi_server

универсальный.горячий sirius.org/packages/contracts…

Оболочка HttpServer, которую можно использовать для обработки запросов с нескольких серверов.

ps: Подробное описание использования сетевой библиотеки можно найти во введении к моей предыдущей статье:Сетевой запрос Http, разработанный Flutter

Сериализация

Сериализацию Flutter можно разделить на ручную сериализацию и сериализацию с помощью инструментов. Ручная сериализация относится к использованию встроенного декодера dart:convert, включая передачу необработанной строки JSON в метод JSON.decode(), а затем запрос Map для получения необходимых данных. Автоматическая сериализация может использовать такие библиотеки, как json_serializable, Built_Value, Built_Value_Generator и Built_Value_Test.

Кроме того, если используется синтаксический анализ json, вы также можете использовать кодируемую библиотеку, которая может преобразовывать динамические структурированные данные (JSON, YAML) в библиотеку типов Dart. Ниже приведено сравнение некоторых часто используемых библиотек синтаксического анализа json.

在这里插入图片描述

кодировать декодировать

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

ninja

Универсальный горячий sirius.org/packages/your…Библиотека совершенных алгоритмов шифрования и дешифрования AES и RSA на интерфейсах Dart's Converter и Codec.

archive

Универсальный.горячий sirius.org/packages/AR…Предоставляет кодировщики и декодеры для различных форматов архивов и сжатия, таких как zip, tar, bzip2, gzip и zlib.

база данных

Если у вас есть требования, связанные с хранением и кэшированием данных, вы можете использовать следующие сторонние библиотеки.

sqflite

Универсальный горячий sirius.org/packages/thing…Плагин Flutter для SQLite, автономный высоконадежный встроенный механизм базы данных SQL.

file_cache

Универсальная лихорадка Sirius.org/packages/FI…Кэш Json, Buffer, FileCacheImage для проектов пакетов флаттера.

Загрузка и обработка изображений

загрузка изображения

В разработке Flutter изображение является важным модулем, в основном для загрузки и обработки изображений. Что касается загрузки изображений, помимо использования Image.network и FadeInImage.memoryNetwork компонента Image для загрузки изображений вы также можете использовать следующие библиотеки изображений для загрузки изображений.

cached_network_image

универсальный.горячий sirius.org/packages/wipe…Библиотека флаттера для отображения изображений из Интернета и их сохранения в каталоге кеша может использоваться для загрузки и кэширования изображений для Интернета, а также работает с заполнителями и виджетами ошибок.

flutter_advanced_networkimage

универсальный. горячий sirius.org/packages/legal…Библиотека Flutter для расширенной загрузки кеша изображений и управления масштабированием.

transparent_image

Универсальный горячий sirius.org/packages/suddenly…Простые прозрачные изображения, представленные как Uint8List, которые можно использовать в качестве заполнителей при загрузке изображений.

Обработка изображения

image_jpeg

Универсальный.горячий sirius.org/packages/IM…Он используется для преобразования изображения в формат jpeg, и более эффективно загружать изображение после сжатия. Библиотека в конечном итоге будет вызывать собственные функции Android или iOS для сжатия изображений, которые обладают высокой производительностью и поддерживают множество исходных форматов изображений.

image_picker

Universal.Dev/packages/IM…

Как видно из названия библиотеки, image_picker — это библиотека для выбора изображений из библиотек изображений Android и iOS, которая поддерживает создание новых фотографий с помощью камеры.

photo

Универсальный. горячий sirius.org/packages/IM…Эту библиотеку также можно использовать для выбора изображений, она поддерживает множественный выбор, и эта библиотека представляет собой пользовательский интерфейс, созданный с помощью Flutter, который может легко настраивать и изменять стиль отображения.

image

Универсальный. горячий sirius.org/packages/IM…

Библиотека Dart, обеспечивающая возможность загрузки, сохранения и обработки изображений в различных форматах файлов. Библиотеке не нужно зависеть от DART:IO, поэтому ее можно использовать в серверных и веб-приложениях.

flutter_svg

универсальный. горячий sirius.org/packages/legal…Эту библиотеку можно использовать для загрузки изображений svg.

zoomable_image

Универсальный. Найдите Sirius.org/packages/…Библиотека изображений, которая поддерживает операции просмотра изображений и масштабирования с помощью жестов.

image_carousel

Универсальный. горячий sirius.org/packages/IM…Элемент управления для отображения изображения Flutter.По сравнению с официальным компонентом изображения, image_carousel поддерживает пролистывание влево и вправо для переключения между предыдущим и следующим изображением, а image_carousel также сочетает в себе функцию zoomable_image, поэтому вы можете щелкнуть и увеличить, чтобы просмотреть изображение, В дополнение к этому, image_carousel также поддерживает активные и сетевые изображения.

carousel_slider

универсальный.горячий sirius.org/packages/wipe…Как вы можете понять из названия, carousel_slider — это библиотека, которая поддерживает смахивание жестами, используя эту библиотеку, вы можете переключать компоненты изображения с помощью смахивания жестами, и эта библиотека также поддерживает автоматическое воспроизведение изображений.

parallax_image

Универсальный горячий sirius.org/packages/fear…Изображения параллакса можно использовать с любой прокручиваемой областью (например, ListVIEW), чтобы изображения, помещенные в область прокрутки, выглядели более плавно при прокрутке.

camera

универсальный.горячий sirius.org/packages/wipe…Используется для получения информации с системных камер Android и iOS, поддерживает предварительный просмотр каналов камер и захват изображений, а также поддерживает запись видео.

уведомление

flutter_local_notifications

универсальный. горячий sirius.org/packages/legal…Плагин, который может отображать локальные уведомления на разных платформах, поддерживает платформы Android и iOS.

local_notifications

Универсальный.Большая жара Sirius.org/packages/…С помощью этой библиотеки можно легко создавать уведомления на Android и iOS.

url_launcher

Универсальный горячий sirius.org/packages/u let…URL-адреса можно запускать на Android и iOS, поддерживая такие сценарии, как открытие Интернета, телефонные звонки, текстовые сообщения и электронные письма.

firebase_messaging

Универсальная лихорадка Sirius.org/packages/FI…Кроссплатформенное решение для обмена сообщениями, позволяющее надежно доставлять сообщения на Android и iOS.

event_bus

Универсальный. горячий sirius.org/packages/EV…Простая библиотека шины событий, которая использует потоки Dart для разделения приложений, подобно механизму шины событий в Android, и использует внутренний механизм широковещания.

Видео и аудио

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

video_player

Универсальный. горячий sirius.org/packages/vi…Официально поддерживаемый плагин воспроизведения видео для отображения встроенных видео вместе с другими виджетами Flutter на Android и iOS.

video_launcher

Универсальный. горячий sirius.org/packages/vi…В основном используется для видеоплееров.

flute_music_player

универсальный. горячий sirius.org/packages/legal…Музыкальный проигрыватель на основе Flutter и воспроизведение аудиоплагинов поддерживают воспроизведение локальных музыкальных файлов.

audioplayer

Универсальный.горячий sirius.org/packages/AU…Аудио-плагин Flutter, который воспроизводит удаленные или локальные аудиофайлы.

audioplayers

Универсальный.горячий sirius.org/packages/AU…Разветвление аудиоплеера, за исключением того, что он поддерживает одновременное воспроизведение нескольких аудиофайлов и отображает элементы управления громкостью.

разное

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

карта

map_view

Универсальный. горячий sirius.org/packages/horse…Плагин Flutter для отображения Google Maps на iOS и Android.

flutter_map

универсальный. горячий sirius.org/packages/legal…Пакет карт Flutter на основе листовки.

location

Универсальный.Большая жара Sirius.org/packages/…Обрабатывает местоположение на Android и iOS, предоставляя обратные вызовы при изменении местоположения.

latlong

Универсальный. горячий sirius.org/packages/pull…LatLong — это легкая библиотека для вычисления общей широты и долготы.

QR код

qr_flutter

Универсальный. горячий sirius.org/packages/confirmed…qr_flutter — это библиотека Flutter для QR-кодов, которая обеспечивает простую и быструю визуализацию QR-кода с помощью виджета или пользовательского Paint.

barcode_scan

Универсальный.горячий sirius.org/packages/put…barcode_scan — это плагин Flutter для сканирования 2D-штрих-кодов и QR-кодов.

qrcode_reader

Универсальный. горячий sirius.org/packages/confirmed…qrcode_reader — это плагин Flutter, который использует камеру для чтения QR-кодов.

Библиотека диаграмм

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

charts-common

Универсальный горячий sirius.org/packages/eat…Библиотека диаграмм в стиле Material Design.

charts-flutter

Универсальный горячий sirius.org/packages/eat…Универсальный компонент библиотеки диаграмм предоставляет базовые гистограммы, линейные диаграммы, круговые диаграммы и т. д.

flutter_circular_chart

универсальный. горячий sirius.org/packages/legal…Библиотека, позволяющая легко создавать анимированные элементы управления круговой диаграммой с помощью Flutter.

разрешение

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

simple_permissions

Универсальный. горячий sirius.org/packages/4…Библиотека разрешений запросов для Android и iOS.

flutter_simple_permissions

универсальный. горячий sirius.org/packages/legal…Библиотека для приложения разрешений Flutter.

поделитесь статистикой оплаты

share

Универсальный горячий sirius.org/packages/ это…Плагин флаттера, который поддерживает обмен.

flutter_umeng_analytics

универсальный. горячий sirius.org/packages/legal…Библиотека обмена и статистики Umeng.

flutter_qq

универсальный. горячий sirius.org/packages/legal…Библиотека, которая объединяет такие функции, как вход в систему QQ, совместное использование QQ и совместное использование пространства QQ.

flutter_wechat

универсальный. горячий sirius.org/packages/legal…Библиотека, которая интегрирует WeChat и поддерживает вход в WeChat, совместное использование, оплату и другие функции.

flutter_alipay

универсальный. горячий sirius.org/packages/legal…Реализована функция вызова Alipay для оплаты, которая совместима с Android и iOS.

Исходный код приложения с открытым исходным кодом

Самый эффективный способ изучить технологию — написать небольшое приложение после изучения основ. Как самая популярная кроссплатформенная технология в этом году (не одна из них), в Интернете появилось большое количество исходных кодов приложений с открытым исходным кодом, Читая эти исходные коды, мы можем быстро углубить разработку приложений Flutter.

flutter-go

GitHub.com/Alibaba/Приложение…

Приложение помощи разработчику Flutter, разработанное технической командой Alibaba, включает в себя демонстрации и китайские документы более чем 140 компонентов, обычно используемых во флаттере, и является важным руководством для изучения разработки Flutter.

gsy_github_app_flutter

GitHub.com/car GU O/GS YG…Преимущества серии GSYGithubApp: в настоящее время у нас есть четыре версии Flutter, Weex, ReactNative и kotlin. Полные функции, обширный технический охват в рамках проекта, высокая степень завершенности, постоянное обслуживание, вспомогательные статьи, подходящие для всестороннего изучения, сравнения и справок. Кроссплатформенное клиентское приложение Github с открытым исходным кодом, улучшенный опыт, более богатые функции, разработанные для лучшего ежедневного управления и обслуживания личного Github, а также для обеспечения лучшего и более удобного вождения Σ( ̄. ̄ノ)ノ.

flutter-examples

GitHub.com/Ваш доход исходит от/Приложение…

Содержит общие примеры обучения для Flutter.

flutter-osc

GitHub.com/Yubo725/Приложение…

Китайский клиент с открытым исходным кодом на основе Google Flutter, поддерживает Android и iOS.

FlutterDouBan

GitHub.com/open 404/фл…

Клиент Flutter Douban, Awesome Flutter Project, самый 100% восстановленный клиент Douban во всей сети. Основные функции включают домашнюю страницу, книгу, видео, группу, рынок и личный центр.

zhihu-flutter

GitHub.com/Sequel имеет/только…

Сильно имитированное приложение Zhihu Flutter, которое поддерживает переключение черной темы.

flutter_shuqi

GitHub.com/crater's/addendum…

Новый клиент с высокой имитацией книги, все функции написаны на Dart, а уровень повторного использования кода iOS и Android достиг 100%.

flutter-netease-music

GitHub.com/Beyond01/Приложение…Высокая имитация NetEase Cloud Music, полная высокая имитация большинства функций.

NeteaseCloudMusic

GitHub.com/flutter мрачно…

Высокая имитация последней версии NetEase Cloud Music, использование интерфейсаBinaryify Big Guy - NeteaseCloudMusicApi

Morec

GitHub.com/MA's V/Mo…

Это очень красивая версия клиента фильмов на Flutter, использующая существующий API Douban для создания полноценного приложения для просмотра фильмов. Детали идеальны, это полностью разработанный продукт, а не демоверсия.

flutter_boss

GitHub.com/и швейцарская армия/юридические…Приложение Flutter, имитирующее прямой набор Босса.

awesome-flutter-cn

GitHub.com/блог сумасшедшего кода…

Flutter — это SDK, созданный Google для разработки высокопроизводительных кроссплатформенных приложений с высокой точностью воспроизведения (Android iOS). awesome-flutter-cn — это учебная библиотека для Flutter, и новички могут обращаться к ней для обучения.