Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/flexberry/flexberry.flutter.sample


https://github.com/flexberry/flexberry.flutter.sample

flutter sample

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# Flexberry.Flutter.Sample

## О тестовом приложении

`Flutter` — комплект средств разработки и фреймворк с открытым исходным кодом для создания мобильных приложений под Android и iOS, веб-приложений, а также настольных приложений под Windows, macOS и Linux с использованием языка программирования `Dart`, разработанный и развиваемый корпорацией Google.

Реализован пример, включающий в себя:

- Работу с бэкендом (ODataService).
- Форму редактирования данных
- Списковую форму
- Навигацию

## Необходимые инструменты

- IDE (лучше всего Visual Studio Code)
- [Flutter SDK](https://docs.flutter.dev/get-started/install)
- [Flutter plugin для Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter) (соответствующие плагины есть также для Android Studio и IntelliJ IDEA)
- ПО в соответствии с выбранной платформой разработки:
- Visual Studio для платформы Windows
- Xcode для платформы macOS
- Android SDK для android
- Chrome для web

> [!TIP]
> Проверить, установлено ли все необходимое: `flutter doctor -v`
>

> [!NOTE]
> Установить пакеты: `flutter pub get`
>

Более подробную информацию можно посмотреть в [официальной документации](https://docs.flutter.dev/get-started/install) или наглядно увидеть в [туториале](https://codelabs.developers.google.com/codelabs/flutter-codelab-first#0).

## Ответы на вопросы, которые прозвучали на Disconf mini:

- **В чем измеряются размеры элементов**:

В логических пикселях. Логические пиксели это не то же самое что dp (device-independent pixels).
Логические пиксели (LP) - это абстрактная единица измерения, которая не привязана к физическому размеру пикселей на экране устройства.
dp (device-independent pixels) - это единица измерения, используемая на Android платформе. Один "dp" равен одному логическому пикселю при разрешении экрана 160 точек на дюйм (dpi). На экранах с более высоким или более низким разрешением количество физических пикселей на один "dp" будет отличаться, чтобы сохранить визуальный размер элементов на разных устройствах.
В Flutter вы обычно работаете с логическими пикселями, а не с "dp". Flutter автоматически масштабирует элементы пользовательского интерфейса в соответствии с плотностью пикселей экрана устройства. Но так же есть возможность задавать размеры и в dp и в px.

- **Чуть подробнее про сгенерированные модели**:

На основе спецификации OpenAPI библиотека openapi_generator генерирует классы-модели для всех сущностей, которые используются в API. Это позволяет не писать их вручную, а сразу использовать готовые объекты.
Библиотека также генерирует код для API-клиентов, которые позволяют взаимодействовать с бэкендом. Эти клиенты содержат методы для выполнения различных HTTP-запросов (GET, POST, PUT, DELETE). Сгенерированные модели и клиенты API типизированы.

- **Про результат компиляции**:

Компиляция приложения Flutter приводит к созданию исполняемого файла или APK (Android Package), который может быть установлен на мобильное устройство или эмулятор. Этот процесс включает в себя преобразование вашего исходного кода Dart в машинный код, который может выполняться на устройстве. В случае iOS, это будет файл приложения (.app), который затем можно скомпилировать в IPA (iOS App Store Package) с помощью Xcode. В случае Android, это будет APK, который можно установить напрямую или загрузить в Google Play Store.