Через два дня используйте Flutter, чтобы написать клиент для анализа акций.

Flutter

Зачем использовать флаттер

Пользовательский интерфейс соответствует нативному: опубликовано Google в 2017 году.FlutterПрошло уже более 3 лет. Самая большая разница между ним и другими кросс-платформенными фреймворками заключается в том, что его можно напрямую скомпилировать в нативные приложения. Это делает размер приложения близким к размеру собственного приложения, а производительность почти такой же, как у собственного приложения.

Сокращение времени разработки: за более чем 3 года разработки экосистема Flutter становится все болееТаобао, Сяньюй и Чжихуиспользуется на крупных клиентах. С выпуском версии 2.0 Flutter уже может удовлетворитьЭлектронная коммерция, социальные сети, прямые трансляции, корпоративный офиси другие бизнес-потребности многих бизнес-сценариев. В то же время мультитерминальный выпуск одной разработки повысил эффективность НИОКР и позволилБизнес-функции могут быть запущены одновременно на платформах Android и iOS.

Перспективная поддержка для всех платформ: Помимо Android и iOS, Flutter также работает на MacOS, Linux и Windows. Для эпохи 5G операционная система Google IoT с открытым исходным кодомFuchsiaПриложения Flutter также поддерживаются по умолчанию. Будущее оснащено системой FuchsiaУмная одежда, умный дом, умный парк, автомобильная системаПриложения Flutter можно запускать непосредственно на устройствах IoT, таких как эти.

Сегодня Flutter имеет много преимуществ и можетПомогите компаниям быстро предоставлять услуги пользователям.

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

Небольшой, но полноценный клиент

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

  • Способ и эффективность UI/UX рисования
  • Разделение данных, бизнес-логики и компонентов пользовательского интерфейса
  • Степень настройки библиотеки компонентов UI
  • архитектурный узор
  • производительность, совместимость, стабильность
  • модульный тест
  • Зрелость инструмента разработки
  • отлаживаемость
  • Онлайн-метод сбора журналов

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

Клиент в основном включает в себя следующие функции:

Список инвестиционных моделей (загрузка данных):

分析模型列表

Инвестиционная модель Simulation Investment (Flutter Chart):

模拟投资

Инвестиционная модель имитирует инвестиции (веб-диаграмма):

DeMark

Сведения о запасах (веб-страница):

详情展示

Сильные и слабые стороны

Преимущество

Способ и эффективность UI/UX рисования

Декларативное описание пользовательского интерфейсаэффективный: инженеры, знакомые с веб-разработкой или разработкой Swift, могут легко начать работу. В то же время, поскольку отрисовка пользовательского интерфейса полностью выполняется самим Flutter и не зависит от компонентов платформы, это можно сделатьАндроид и iOS одинаковы. Я использую симулятор iPhone при разработке, упаковываю его и публикую на телефоне Android, и интерфейс точно такой же, как у симулятора iPhone.Экономит время на отладку и адаптацию на двух платформах.

Разделение данных, бизнес-логики и компонентов пользовательского интерфейса

Встроенная поддержка развязки: концепции StatelessWidget и StatusfulWidget могут хорошо разделить компоненты пользовательского интерфейса и бизнес-компоненты. В то же время Class — это концепция первоклассных граждан, которая делает разработку приложений объектно-ориентированной и позволяет достичьВысокая сплоченность и низкая связанность.

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

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

производительность, совместимость, стабильность

Небольшой пакет выпуска: Размер пакета приложения составляет всего 18 МБ, что меня удивило. По сравнению со стартовым объемом RN в 30 МБ+, это действительно большое улучшение.

производительность близка к родной: Список из более чем 100 данных загружается без задержек, переключение анимации графика более 1500 узлов происходит плавно и без задержек. С точки зрения взаимодействия с пользователем производительность близка к нативному уровню. Результаты, предоставленные отраслевым оценочным агентством: по сравнению с собственным Flutter потребление производительности составляет 1,2 раза, а RN — 15 раз.

Хорошая совместимость с UI/UX: после того, как среда симулятора iPhone будет разработана, ее можно сразу же запустить на телефон Android для тестирования. Компоненты адаптируются к разным размерам экрана без адаптации во время разработки.

Зрелость инструмента разработки

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

недостаточный

архитектурный узор

Отсутствие стандартных архитектурных шаблонов: Подобно фреймворкам пользовательского интерфейса, таким как RN и Vue, в качестве фреймворка в основном для пользовательского интерфейса нет четкого плана для бизнес-логики и управления уровнем данных. Текущий мейнстримМодель одностороннего потока данных,Отзывчивая модельЕсть соответствующие версии Flutter, но не хватает полноценного Framework, чтобы гарантировать, что архитектура не будет испорчена при длительном развитии проекта. ЭтотПеред началом проекта архитектор проекта Flutter должен определить подходящую модель, сформулировать спецификации разработки проекта, достичь консенсуса с командой разработчиков и внедрить механизм проверки качества кода в конвейер и инструменты контроля доступа к качеству..

Некоторые собственные компоненты пользовательского интерфейса с открытым исходным кодом не адаптированы

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

Как отладка

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

Слишком глубокое вложение декларативного пользовательского интерфейса вызывает синтаксические ошибки.: в RN в декларативном пользовательском интерфейсе используется метод, подобный HTML, а метод тега тега может быстро находить незакрытые элементы. Тем не менее, Flutter использует метод «()» для закрытия, что затрудняет быстрое обнаружение несоответствия, и часто требуется много времени для корректировки.

Онлайн-сбор журналов

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

Товар для проверки

По причинам времени модульный тест не был проверен в этой разработке и будет добавлен после проверки.

Суммировать

В качестве кроссплатформенной среды пользовательского интерфейса Flutter можно использовать не только на Android, iOS, в Интернете и на ПК, но и разработать его для устройств IoT в эпоху 5G в будущем. Он может решить проблемы, с которыми сталкиваются предприятия в эпоху 5G.Разрабатывайте приложения на «многоэкранных» и «низкопроизводительных» IoT-устройствах.Эта проблема.

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

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

Постскриптум: Что вы сделали за два дня?

первый день

3 часа:согласно сКитайский веб-сайт Flutter объясняет среду установки. Из-за проблем с сетью официальный сайт нельзя использовать напрямую. Большая часть времени уходит на поиск и настройку зеркал домашней сети. Рекомендуется здесьЗеркальный источник Университета Цинхуа. После устранения проблемы с сетью проект был успешно установлен и инициализирован. Инструменты командной строки, предоставляемые Flutter, включаютинициализация, управление пакетами, запуск отладки, сборкаБлагодаря полной поддержке жизненного цикла приложений инженеры, знакомые с инструментами командной строки, могут эффективно выполнять работу, необходимую для разработки приложений, с помощью командной строки.

30 минут: Инициализируйте проект Flutter и создайте его на GitHub.кодовый склад. а такжезадняя частьСогласитесь использовать функцию GitHub Issue для простого управления проектами, например для исправления ошибок и разработки новых функций.

1 час:пройти черезLearn Dart in Y minsИзучайте дартс. Поскольку у меня есть некоторые знания Javascript и Typescript, у меня не так много когнитивных барьеров, я просто читаю и пишу.

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

4 часа: Для разработки бизнес-функций основное время уходит на ознакомление с интерфейсом компонентов Material и поиск соответствующих компонентов в сообществе. Самый используемый из нихкомпонент макетаа такжеКомпонент списка. Флаттерагорячая перезагрузкаТехнологию можно увидеть непосредственно в симуляторе после изменения кода, избегая повторной компиляции, как при разработке собственных приложений. Эта функция значительно повышает эффективность и опыт разработки. Но подсказка об ошибке Flutter немного недостаточна, особенно когда тип неправильный, она только подсказывает, что тип несовместим, что заставляет людей чувствовать себя подавленными.

1 час:согласно софициальная документацияВыпуск пакета. Большая часть времени уходит на создание и настройку ключей для Android и изменение имен пакетов. Пройти после упаковкиИспытательная платформа одуванчикавыпускать. Примечание. Одуванчик заблокирован WeChat, и его необходимо открыть в браузере.

На следующий день

image.png