Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flexberry/flexberry.flutter.sample
https://github.com/flexberry/flexberry.flutter.sample
flutter sample
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/flexberry/flexberry.flutter.sample
- Owner: Flexberry
- License: mit
- Created: 2024-04-19T12:45:22.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-20T11:14:19.000Z (7 months ago)
- Last Synced: 2024-05-21T12:08:34.237Z (7 months ago)
- Topics: flutter, sample
- Language: Dart
- Homepage:
- Size: 631 KB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.