Приложение Flutter упаковано как настольная программа.

Flutter

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

Использовать напрямуюflutter-desktop-embeddingОпыт упаковки не является дружественным.Как и многие другие фреймворки, нам нужен каркас для помощи, который рекомендуется здесь.go-flutter-desktopProject — библиотека, разработанная на языке Go для упаковки приложения Flutter в виде настольной программы. Go также является моим любимым языком!

О среде Flutter для сборки не говорю, поэтому на основе читалки по умолчанию есть возможности разработки Flutter, подробно рассмотрим на следующем шаге.

  • flutterокружающая обстановка

  • golangсреда разработки языка go

  • hover go-flutter-desktopПредоставление строительных инструментов

Первый взгляд на подготовку языковой среды Go

  1. доступПерейти на китайский языкЗагрузите соответствующий пакет, не забудьте загрузить последнюю версию, в этой статье в качестве примера используется Windows, загрузитеgo1.12.5.windows-amd64.msi. Если у вас локально установлена ​​старая версия Go, обязательно обновите ее до последней.
  2. Укажите каталог установки и нажмите «Установить».
  3. Настройте переменные среды. После завершения установки каталог установки будетbinКаталог добавляется в системную переменную окружения Path, т.е.go.exeПуть, по которому он находится, добавляется в переменную среды Path.
  4. Проверьте окружающую среду. Откройте командную строку cmd и введитеgo env, путь среды Go успешно выводится, и среда Go завершена.

Обратите внимание: если вы все еще заинтересованы в изучении разработки на языке Go, вам также необходимо настроитьGOPATHпеременные окружения.

Загрузить и установитьhoverбиблиотека. Это языковая библиотека Go Выполните следующую команду в командной строке cmd для установки, если сеть нестабильна, это может занять некоторое время.

go get -u github.com/go-flutter-desktop/hover

Шаг 2: Создайте проект

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

flutter create myapp

cd для флаттерного пути проекта, а именноmyappВниз. Здесь возьмите в качестве примера созданный тестовый проект, введитеmyappвнизlibпапка, будетmain.dartудалять. Из-за особых требований проекта рабочего стола флаттера здесь необходимо настроить два входных файла для проекта и создать их отдельно.main.dart,main_desktop.dartфайл, обратите внимание, что имя файла является фиксированным и не может быть изменено по желанию. Затем создайтеapp.dartФайл, здесь действует как конкретный код нашего тестового приложения, требования к именованию отсутствуют.

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

import 'package:flutter/material.dart';
import 'app.dart';

void main() => runApp(MyApp());

main_desktop.dartСодержание выглядит следующим образом, это код входа, необходимый для рабочего стола.

import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart' show debugDefaultTargetPlatformOverride;
import 'app.dart';

void main() {
  debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
  runApp(MyApp());
}

app.dartСодержание выглядит следующим образом: фактический код пользовательского интерфейса, то есть отображениеHello World!

import 'package:flutter/material.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
      return Scaffold(appBar: AppBar(title: Text("Demo")),
        body: Center(child: Text('Hello World!'),),
      );
  }
}

Шаг 3: Инициализируйте как настольный проект

В корневом пути проекта Flutter есть каталог android и каталог ios, но на рабочем столе нет каталога компиляции.Этот шаг заключается в использовании помощиhoverАвтоматическая генерация Desktop Library Library Directory Directory

Убедитесь, что текущая среда командной строкиmyappВ пути к проекту, в противном случае cd к прошлому, а затем выполните следующую команду

hover init github.com/my-organization/myapp

Если у вас есть соответствующий путь к проекту github, измените его на свой собственный, в противном случае вы можете написать его, как вам нравится выше. В этом примере это тестовый проект, который не был загружен на GitHub, поэтому я просто написал его здесь. Обратите внимание на пит здесь, этот путь GitHub должен быть прописан, иначе его нельзя будет нормально запаковать, что может быть ошибкой инструмента скаффолдинга

Шаг 4: Запуск и упаковка

Если вам нужно запустить приложение с горячей перезагрузкой, выполните в текущей командной строкеhover run, Обратите внимание, что некоторые зависимости будут загружены онлайн в это время, что займет некоторое время, и это также зависит от персонажа.В зависимости от вашей собственной сетевой ситуации очень возможно быть окруженным стеной. если вы используете его в фоновом режимеSocks5прокси, будет ошибка, что удаленный сервер закрыл соединение, пожалуйста, закройтеSocks5прокси, наHttp代理

После того, как зависимости будут готовы, приложение будет запущено

在这里插入图片描述
Если вам нужно заменить иконки и ресурсы, вы можете войти в проект под нашим сгенерированным проектомdesktopПодачаassetsОперации каталога

Упакована как исполняемая программатакже можно использоватьhover buildКоманды упакованы какexeИсполняемый файл, перейдите в проект подdesktop\build\outputs\windowsвид пути

Проблемы все еще существуют

Если у вас есть готовое приложение Flutter, вы можете попробовать упаковать его в программу для рабочего стола, следуя описанным выше шагам, вам нужно только обратить внимание на разделение файла входа на стороне рабочего стола.main_desktop.dartВ настоящее время, если приложение Flutter непосредственно упаковано как настольная программа, все еще могут возникнуть некоторые возможные проблемы с совместимостью.go-flutter-desktopПроект еще не поддерживает режим выпуска, только режим отладки, что означает, что скомпилированная настольная программа всегда имеет консоль Black Box, а журнал постоянно выводится.

Ссылаться на:GitHub.com/go-flutter-…

видео уроки

Похожие видеокурсы, размещенные блогерами

Руководство по программированию Dart для полной разработки Flutter

二维码

Руководство разработчика полного стека Flutter

Добро пожаловать на мой открытый номер: программированная дорога от 0 до 1

编程之路从0到1