Flutter плюс 1С

03.08.23

Интеграция - WEB-интеграция

Пример реализации мобильного приложения, написанного на фреймворке flutter, в качестве фронтенда и 1С в качестве бэкенда.

В этой статье я хочу продемонстрировать пример интеграции мобильного приложения, написанного на языке программирования dart с использованием фреймворка флатер, с базой данных 1С.

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

Поставим себе задачу. Необходимо создать мобильное приложение, которое бы получало из базы данных 1С:

- Список заказов

- Список контрагентов

- Список товаров

Реализация задачи.

Начнем с бэкенда.

Создаем чистую конфигурацию и добавляем следующие объекты метаданных:

- Справочник "Номенклатура"

- Справочник "Контрагенты"

 

 

- Перечисление "Статусы заказа клиента"

 

 

- Документ "Заказ клиента"

 

 

Шапка: Контагент - ссылка на спр. "Контрагенты", Статус - ссылка на перечисление "СтатусыЗаказаКлиента", СуммаИтого - Число.

Табличная часть Товары: Номенклатура - ссылка на спр. "Номенклатура", Количество, Цена, Сумма - Число

- HTTP сервис "Flutter_1C"

 

 

Имя публикации - flutter_order_1C

Корневой url - flutter_1c

Шаблон "Номенклатура" - /products .  ПолучитьСписокНоменклатуры - HTTP-метод GET.

Шаблон "Контрагенты" - /customers. ПолучитьСписокКонтрагентов - HTTP-метод GET.

Шаблон "Заказы клиента" - /orders. ПолучитьЗаказыКлиента - HTTP-метод GET.

Более подробно про http-сервисы можно почитать тут.

Полный путь к конечным точкам такой:

Номенклатура -  ip/flutter_order_1C/hs/flutter_1c/products

Контрагенты-  ip/flutter_order_1C/hs/flutter_1c/customers

Заказы клиента-  ip/flutter_order_1C/hs/flutter_1c/orders

Исходный код модуля http-сервиса можно посмотреть здесь

 

Публикуем http-сервис. Заходим в 1С:Предприятие и заполняем справочники  данными, а так же создаем несколько документов с разными статусами.

После этого нужно проверить работоспособность конечных точек. Для проверки открываем браузер и в адресную строку вносим следующий адрес http://localhost/flutter_order_1C/hs/flutter_1c/products (проверяем номенклатуру)

(Для проверки вместо браузера можно пользоваться другими программами для работы с API, например postman, скачать программу можно тут. В моем случае используется только GET запрос, поэтому его можно проверить в браузере, но если у нас есть конечные точки с POST , PUT, DELETE - запросами , то протестировать их браузере не получиться, так как мы не сможем передать тело запроса. Поэтому здесь уже не обойтись без специальных программ или плагинов для браузера).

Получаем в браузере json следующего содержания:

 

 

Это означает, что наша конечная точка по номенклатуре работает правильно. Аналогично проверяем оставшиеся две конечные точки.

Контрагенты http://localhost/flutter_order_1C/hs/flutter_1c/customers

 

 

Заказы клиента  http://localhost/flutter_order_1C/hs/flutter_1c/orders

 

 

Бэкенд работает.

 

Переходим к мобильному приложению.

Мобильное приложение из трех страниц.

Страница - Заказы клиента

 

 

Страница - Контрагенты

 

 

Страница товары

 

 

Исходный код мобильного приложения имеет следующую структуру

 

 

Основные архитектурные моменты мобильного приложения:

- Чистая архитектура (можно почитать тут)

- Внедрение зависимостей (библиотека get_it https://pub.dev/packages/get_it)

- Менеджер управление состоянием BLoC (библиотека flutter_bloc https://bloclibrary.dev/#/ru/)

При самостоятельной сборке вам необходимо будет в файле http_utils.dart заменить ip адрес на адрес вашей машины, на котором будет установлен веб сервер.

 

 

Внимание!!! Если вы установите готовую сборку на ваш телефон или планшет, то вам необходимо будет установить ip адрес 192.168.0.222 на ту машину на которой будет опубликована ваша база. В противном случае в приложении вы не получите данные.

 

Поговорим теперь о тех шагах, которые нужно выполнить читателю, если он хочет поэкспериментировать с исходным кодом приложения.

Первое что вам нужно будет сделать, это установить фреймворк флатер на ваш компьютер. Как это сделать? Переходим на официальный сайт фреймворка флатер по ссылке https://docs.flutter.dev/get-started/install .

 

 

Выбираем нужную нам операционную систему, предположим Windows, и скачиваем zip архив.

Далее, например на диске D, создаем папку (можно назвать как угодно, но есть небольшие условия на имя папки. Папка должна быть названа латинскими буквами и не должна содержать пробелов. Все остальное по желанию.) например FlutterSDK и распаковываем туда архив с фреймворком. Получаем что-то вроде этого. Так установлен фреймворк у меня. (Установка фреймворка это распаковка архива с фреймворком в некую папку вот и все :) )

 

 

После этого нам необходимо зайти Панель управления - Система - Дополнительные параметры системы и переменной среды path прописываем путь к папке bin , находящейся в папке с фреймворком.

 

 

 

Проверяем правильно, ли мы все настроили. Открываем командную строку и в ней набираем команду flutter --version. Если мы увидим версию фреймворка, то мы все сделали правильно.

 

 

Итак фреймворк установлен. Правда не очень сложно :) ?. Сейчас нам нужно будет установить ide для работы с исходным кодом.

Какие ide рекомендует разработчики флатера? А вот какие:

 

 

это Visual Studio Code, Android Studio, Intellij IDEA. Устанавливаем любую из них , какая вам больше нравиться. Лично я предпочитаю работать в  андроид студио. После того как мы установили ide, открываем ее и уже в ней устанавливаем плагин Flutter. После это ваш ide будет понимать конструкции языка дарт и фреймворка флатер.

Теперь с помощью ide открываем исходники мобильного приложения.

 

Итоги

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

 

Благодарю за внимание.

Исходный код мобильного приложения можно скачать из репозитория по адресу https://github.com/hariuc/flutter_order_test.

Оттуда же можно скачать dt выгрузку базы 1С, а так же готовую сборку apk мобильного приложения.

Тестовая конфигурация для бэкенда создана технологической платформой 8.3.23.1688.

 

flutter мобильное приложение заказы товары web обмен данными интеграция http сервис dart

См. также

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 1С:Конвертация данных Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    38188    108    161    

201

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17779    19    22    

16

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3000 руб.

03.12.2018    59284    192    103    

172

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    97207    586    189    

321

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    19840    13    17    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. van_za 269 03.08.23 17:00 Сейчас в теме
Круть, нужно тоже попробовать!!!
forestfield; acvatoris; +2 Ответить
2. пользователь 04.08.23 08:03
Сообщение было скрыто модератором.
...
3. zen_daya 04.08.23 09:23 Сейчас в теме
(2) а что хорошего в PWA?
как по мне мертворожденная технология с кучей ограничений
5. пользователь 04.08.23 11:37
Сообщение было скрыто модератором.
...
8. пользователь 04.08.23 12:30
Сообщение было скрыто модератором.
...
9. пользователь 04.08.23 12:43
Сообщение было скрыто модератором.
...
4. van_za 269 04.08.23 10:43 Сейчас в теме
Тема прикольная
1. 1с ники думаю про frontend и могут не только на 1с (прикиньте x часов которые потратил автор на освоение, отдельный респект)

2. Сам по себе flutter кроссплатформенный (web, десктоп, мобила андроид, мобила айфон) поэтому как фронт для 1с очень интересно, при этом многое из коробки... и по идее наверное сделать красивенько немного проще чем в html (как мне кажется...)

3. Flutter много чего содержит в коробке (в отличие от react например... поставь react, установи redux, установи Redux-Thunk, react router)

4. Концепция интерфейса ближе к 1с, контейнеры элементов горизонтальные вертикальные чем то похоже на flex css

4. Мобильный сайт хорошо но... (производительность, деплой (сайтец нужно что бы быстро грузился и нужно его как то по ближе к клиенту а здесь гугл плей)
TreeDogNight; forestfield; dimaster; acvatoris; +4 Ответить
6. пользователь 04.08.23 11:38
Сообщение было скрыто модератором.
...
7. acvatoris 551 04.08.23 12:27 Сейчас в теме
(6) Вердикт пользователя с нулевым рейтингом, не написавшим за 8 лет ни одной статьи, и скорее всего с нулевыми знаниями в 1с.
DMon; dimaster; +2 Ответить
11. dimaster 40 04.08.23 12:48 Сейчас в теме
(6) есть иное мнение. https://habr.com/ru/companies/otus/articles/595451/
Крупные компании, такие как Google, Alibaba и SpaceX, признали преимущества фреймворка Flutter и использовали его для разработки мобильных приложений
https://doit.software/services/mobile-app-development
как по мне в бесконечное число раз более авторитетное
acvatoris; +1 Ответить
37. siamagic 07.08.23 09:43 Сейчас в теме
(11) Майкрософт Амазон Аппл не признали - как по мне учитывая капитализацию выбор очевиден.
41. acvatoris 551 07.08.23 16:11 Сейчас в теме
Не совсем понял, что "Майкрософт Амазон Аппл не признали". Можете уточнить что вы имели в виду.
42. acvatoris 551 07.08.23 17:30 Сейчас в теме
Да, понял что вы имели в виду.
10. acces969 362 04.08.23 12:45 Сейчас в теме
Интересно. Выкладывал тут инструмент для разработки фронтенда на вебе для 1с. А тут, похоже, с js и html не требуется возиться вовсе.
acvatoris; +1 Ответить
12. acvatoris 551 04.08.23 12:53 Сейчас в теме
Да, вы совершенно правы,с js, html вы тут не работаете вообще при программировании приложения. А дальше все зависит от того под какую платформу вы хотите собрать данное приложение. (В репозитории вы можете скачать APK для андроида) Если собирать под веб, то конечно в результате получим js :)
13. JohnyDeath 302 04.08.23 13:04 Сейчас в теме
Давно хочу сделать что-то подобное.
Но я больше смотрю на https://app.flutterflow.io (нужно заходить через VPN)
т.е. там можно накидать своё приложение с минимальными знаниями dart и flutter. Выглядит очень красиво.
Пытался подрубиться к опубликованной базе и затащить каталог товаров через odata, но с наскока не получилось. flutterflow показывал, что сайт недоступен. Возможно проблема в сертификатах сервера, где развернута база, я пока дальше не копал.
Еще у них есть канал, где периодически выкладывают видео о новых плюшках или по работе с какими-то компонентами https://www.youtube.com/@FlutterFlow . Если включать перевод видео от Яндекса, то вообще замечательно выходит. )
Dnki; TreeDogNight; ktb; detro; +4 Ответить
14. acvatoris 551 04.08.23 15:07 Сейчас в теме
Могу вам посоветовать перед тем как использовать фреймворк, необходимо изучить dart (с наскока освоить не получиться). В процессе изучения dart вы освоите ООП парадигму программирования (без нее ни как), после этого уже можно переходить к фреймворку и изучать этот инструмент.
В таком порядке у вас все получится.
15. JohnyDeath 302 04.08.23 15:16 Сейчас в теме
(14) если это сообщение адресовано мне, то вы неправы.
flutterflow как раз позиционирует себя как low-code. И ту задачу, что вы описали в статье сделать там достаточно просто.
Пример: https://youtu.be/Lbp1G6n4Kzs
и
https://www.youtube.com/watch?v=478SCxqpakw
dimaster; +1 Ответить
16. acvatoris 551 04.08.23 15:22 Сейчас в теме
Да, я ответил вам. Скажем так, если все по быстрому, у вас получиться некое приложение, которые будете контролировать не вы, а flutter flow. Если же освоить в совершенстве фреймворк, то вы сможете создавать любые приложения. И контролировать будете его вы.
А так каждый сам выбирает инструменты и технологические решения для своих задач. Поэтому ваш путь тоже правильный.
17. JohnyDeath 302 04.08.23 15:24 Сейчас в теме
(16) код сгенерированного проекта можно скачать с этой платформы и "контролировать" приложение уже на локальном компьютере.
APK, кстати, собирается автоматом.
Трудозатраты просто несопоставимы для не сильно сложных задач.
18. acvatoris 551 04.08.23 15:30 Сейчас в теме
Я так понимаю, что для дальнейшей поддержки, приложения, нужно разбираться в фреймворке. А если нужно внести в приложения какие нибудь новые функциональные изменения, то флатер фоу , тут не поможет. Нужно знать фреймворк. Вы с этим согласны? Или вы делаете приложение для клиентов на 1 раз то что создал конструктор флатер флоу (тем более что он создает не оптимальный код. Который потом будет очень трудно поддерживать). Ну конечно, если эти факторы не учитывать, то можно создавать приложения и конструктором флатер флоу.
27. acvatoris 551 04.08.23 19:44 Сейчас в теме
Это очень хорошо, что сборка apk, происходит автоматически.

Но разработчик должен понимать как она происходит под капотом. Поломается , например , в gradle файле версия чего нибудь, и все - релиза не будет ?

А если нужно собрать не apk, а ipa под ios, что тогда делать?

Или собрать под веб?

Думаю нужно набить себе немного шишек в ручной сборке, а потом с наслаждением пользоваться автоматической.
28. Necessitudo 04.08.23 21:20 Сейчас в теме
(17) Это же вроде доступно только для платного тарифного плана?
29. acvatoris 551 04.08.23 22:02 Сейчас в теме
Возможно, не проверял.
19. JohnyDeath 302 04.08.23 15:41 Сейчас в теме
(18) мне кажется, что вам сначала надо попробовать там сделать тоже самое и потом уже как-то оценивать.
Я пробовал делать и на локальной машине с дартом, флаттерами, эмуляторами мобилок, и на flutterflow, Удобство и скорость просто несопоставимы.
Да, для чего-то сложного нужно делать всё "с нуля" и "по правильным заветам" (которые, кстати, меняются раз в год). Об этом я писал выше.
Но мы же тут говорим о приложении, которое описано в статье.
Сколько потратит времени человек, чтобы повторить ваш опыт? Пару дней точно.

Я не говорю, что всем надо бежать в flutterflow. Я говорю о нем, как об очень удобном lowcode-инструменте, который позволяет с минимальным кодингом и погружения в новые технологии, создавать рабочие приложения под любую платформу. К тому же весь процесс создания происходит через браузер, а значит можно работать за любым компьютером, на котором установлен только браузер.
20. acvatoris 551 04.08.23 15:54 Сейчас в теме
Да, вы правы я не очень знаком с флатер флоу. Поковырял его давненько, года два назад.

То, что вы говорите о скорости разработке и все остальные плюсы - все это хорошо, но я думаю что еще есть такое как квалификация разработчика, спроектировать правильную архитектуру приложения. Отделить друг от друга разные слои приложения и затем связать их между собой. Если над приложением работаем не один человек, которому нужно быстро-быстро сдать работу, а целая команда, то как тогда быть? Флатер флоу вам конечно помогает, но он не улучшает квалификацию разработчика.

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

Да, вы еще правы в том, что я потратил не пару часов (как в случае с флатер флоу), но я вам продемонстрировал не только те три странички которые вы видите на экране, а еще множество архитектурных моментов, которые можно использовать для разработки любого другого приложения.
21. acvatoris 551 04.08.23 16:07 Сейчас в теме
Я работал над одним проектом - это был клон нетфликса. Изначально код писали индусы (я против индусов ничего ни имею, но тот код, который они порождают это что - то с чем - то). Тогда я впервые в жизни столкнулся с "индусским кодом". Задача нашей команды была сделать рефакторинг приложения. (на мой вгляд быстрее было выполнить задачу, если все выкинуть и написать заново) . Глядя на код хотелось плакать, 4000 тысячи строк в файле и это одна функция. У меня тогда возникало чувство, что все это "добро", написано, каким-то конструктором. Тогда я забыл давно про флатер флоу.
Сейчас вы мне про это напомнили. Вот думаю, может это был флатер флоу ? :)
TreeDogNight; van_za; +2 Ответить
22. JohnyDeath 302 04.08.23 16:31 Сейчас в теме
(21) проверить достаточно легко: накидайте приложение в flutterflow и посмотрите какой код он генерирует.
23. acvatoris 551 04.08.23 16:34 Сейчас в теме
Вы меня заинтриговали. Уже точно проверю.
25. acvatoris 551 04.08.23 19:06 Сейчас в теме
Я посмотрел флатер флоу. И пришел к выводу, что его можно использовать только как вспомогательный элемент в разработке. В нем можно быстро проверить какую нибудь UI идею. Можно использовать для создания каркаса экранов, чтобы вручную не верстать.
Но помимо его плюсов, есть также очень весомые минусы.

1. Флатер флоу предлагает вам некую версию фреймворка. Например на данный момент в флатер флоу версия 3.10.4
это накладывает существенные неудобства. Например, в приложении вы используйте библиотеку, которая еще не обновилась до последней версии фреймворка. Что тогда?

2. Код, который генерирует флатер флоу. Все в одном файле для одного экрана. Это еще допустимо, если у вас приложение небольшое, но если дизайнер нафантазирует, и на экране будет много очень мелких элементов, то код, который выдаст флаттер флоу будет тем больше, чем больше элементов вы туда будете вставлять. (Очень похож на "индусский код").
Да, как некий фундамент его можно использовать, но затем нужно проводить декомпозицию кода. Для улучшения поддержки и читаемости кода. (еще раз повторюсь все зависит от размера приложения. Учебное приложение еще допустимо, но приложение на десятки экранов - нет)
(может быть есть еще, но для того чтобы их понять нужно более подробнее изучить флатер флоу, чего я делать не стал.)

Для себя я сделал вывод, что флаттер флоу - это аналог базовой конфигурации 1С. Да, работать можно, Да, прилетают обновления фреймворка, Да, есть готовые шаблоны, но вы попадаете в зависимость от сервиса и будете делать , только то, что вам сервис разрешает. Ведь очень многим мелким компаниям подходит базовая конфигурация. Она их полностью устраивает.
30. JohnyDeath 302 04.08.23 22:39 Сейчас в теме
(25) вы как будто не одинэсник совсем, когда так говорите ))
Код каждой формы (экрана) в одном файле.

Ровно как и в 1С: одна форма - для нее один файл с компонентами формы (xml) и один файл с модулем (bsl)

Вы как-то мой посыл про flutterflow на личный счет восприняли. Я же просто показал быстрый и очень простой способ входа в мобильную разработку простых приложений.
Чтобы освоить дарт и флаттер на уровне такого казалось бы простого приложения как из статьи, нужно потратить около месяца своей жизни.
31. acvatoris 551 04.08.23 22:58 Сейчас в теме
Да, то как программируется форма в 1С - это действительно так.
Но давайте спросим программистов, которые программируют платформу 1С - программируют ли они одну и ту же кнопку , скажем, добавления нового элемента справочника, на каждой форме списка справочника? Конечно нет.
В флатер такая же ситуация, создав один некий элемент, мы можем его вставлять в любые другие формы.

Поэтому если программировать во флатер как в 1С, мы будем порождать кучи дублирующегося кода.

Когда программист начинает изучать новую технологию, то он пытается программировать там так, как программировал всегда. Это не всегда верно.

Думаю, насчет потратить месяц жизни - все таки лучше на флатер чем на , скажем вечерний сериальчик.

Про флатер флоу мне было сегодня тоже интересно посмотреть, как там этот конструктор работает. Думаю что флатер флоу написан на флатер.

Не волнуйтесь, вы меня не задели :)
32. JohnyDeath 302 04.08.23 23:09 Сейчас в теме
(31)
В флатер такая же ситуация, создав один некий элемент, мы можем его вставлять в любые другие формы.

Во flutterflow можно создавать в том числе и собственные custom-компоненты, темы, стили и т.п. и далее их переиспользовать в любом месте.

Но я не очень понимаю что именно вы мне хотите доказать. По-моему мы разговариваем на разных языках )
33. acvatoris 551 04.08.23 23:48 Сейчас в теме
Ничего доказать не хочу.

Если хотите , то используйте флоу.

Высказывал свое мнение на ваши комментарии.
38. TreeDogNight 22 07.08.23 14:27 Сейчас в теме
(31) Добрый день! Можете посоветовать проверенные курсы / обучающие материалы по Flutter / Dart? Тоже есть желание освоить этот стек, особенно после вашей интересной статьи.
39. JohnyDeath 302 07.08.23 15:03 Сейчас в теме
(38) Если прям с нуля, то рекомендую вот это: https://www.youtube.com/@LearnDartFlutter
acvatoris; +1 Ответить
40. acvatoris 551 07.08.23 16:07 Сейчас в теме
Добрый день. Прежде чем изучать фреймворк флатер, я бы вам порекомендовал, изучить язык программирования дарт. Если этого не сделать то изучение флатер, превратиться в сплошной кошмар. Да, вы будете повторять за лектором в каком-нибудь супер курсе, но наврядли что-то поймете. Я тем более наврядли, что-то напишите сами.

И после какого времени таких мучений просто все бросите.

Поэтому изучите для начала дарт. В дарте основной фундамент, который нужно понять - это ООП парадигму. Затем асинхроность и потоки.
И, на мой взгляд, только после этого можно начинать изучать флатер.

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

Один из качественных ресурсов - это канал https://www.youtube.com/@LearnDartFlutter
В англоязыном сегменте - есть ооочень много качественных курсов.

Вот , например - один из них - https://www.youtube.com/watch?v=F3JuuYuOUK4&t=17503s

Из платных - заходите на udemy, набирайте в поиске dart flutter - смотрите по рейтингу. Все курсы на udemy с высоким рейтингом очень качественные.
user1568160; +1 Ответить
24. dab85 04.08.23 18:44 Сейчас в теме
А как вы будете во флаттере без входа/выхода обновлять данные на экранах?
26. acvatoris 551 04.08.23 19:15 Сейчас в теме
Если мы говорим про данное приложение, то связь с 1С происходит по http протоколу. И без обновления экрана, мы не увидим что на сервере есть новые заявки. Обновить экран можно жестом потянуть экран вниз (рефреш). Ну или еще как вариант оповестить пользователя это пуш уведомления.

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

В 1С связь через веб сокет невозможна.

Поэтому если ответить на ваш вопрос, то никак нельзя в данном решении.
TreeDogNight; +1 Ответить
34. quazare 3800 05.08.23 10:01 Сейчас в теме
Мне понравилось изложение автора- все четко по-делу.


Я бы наверное использовал web сервисы все-таки, а не прямой http (get)

Ставлю плюс
acvatoris; +1 Ответить
35. petr.myazin 130 07.08.23 07:45 Сейчас в теме
Порекомендую вместо самописных http сервисов использовать стандартный 1С REST интерфейс, который уже встроен в платформу. По сути фирма 1С уже написала половину этой задачи за вас, все http ручки предоставляются из коробки, остаётся только UI на flutter написать.
https://v8.1c.ru/platforma/rest-interfeys/
acvatoris; +1 Ответить
36. BESL 07.08.23 09:30 Сейчас в теме
Как шаблон решение интересное, но с целью универсальности можно использовать библиотеки вроде flutter_server_driven_ui, так можно на стороне 1с контролировать часть интерфейса и состав передаваемых данных без обновления приложения(Учитывая, что основная логика считается на сервере)
Оставьте свое сообщение