Development for Android
Kotlin
Comments 19
+1
По мне anko неудобно по причине отсутствия адекватного превью, который будет нормально работать и без билда. Так все супер, но это большой недостаток, который мешает просто пипец как работать
0
Я тоже использовал anko… Мне не нравилось разнесенный в java ui и логика… анко этот вопрос решала.
Но билделось очень долго.
(А потом появился flutter.)
0
Ой да ладно
Прям уж flutter взошел на олимп, нафиг нам нужен kotlin/native sdk (нет)
Сырой он еще, чтобы что-то серьезное делать как ни крути
0
Знаете, скорее не сырой, а молодой, но его вполне можно использовать, или хотя бы стоит к нему присмотреться.
Касательно kotlin native: пока полная тишина.
0
Flutter не интегрируешь в готовый, протестированный ентерпрайз, мед.проекты(где нужна полная стабильность).
0

Удобно ли через Anko делаеть более сложный интерфейс и под разные ориентации дисплея?

0

К сожалению, не могу судить по этому поводу. Тут уж каждому по разному. С одной стороны верстка xml более наглядна, благодаря тому же WYSIWYG. Но с другой, Kotlin позволяет удобно разбить UI на классы, оборачивать их и т.д.
Насчет ориентации экрана, возможно, такой метод покажется Вам удобным.

0
Программное написание интерфейса это какая то дичь мазохистская, через пару месяцев сам не поймешь где какой элемент описывается, если у экрана больше 10 контролов. В статье какой то Brainkuck… Пока вы на своем котлине будете одну кнопку через 5 фабрик описывать с корутинами и лямбдами, на 1С уже мышкой накидается готовое приложение image
0
Смотря как писать
Если придерживаться адекватной архитектуры и без говнокода, то все ок даже на крупных проектах
Что-то слабо верится в идиллию с конструктором вашим
Простой пример, если понадобится какая-н. мелочь, допустим кружок над иконкой нарисовать с счетчиком уведомлений, как вы это сделаете своим конструктором?)
По-моему, все очевидно, да и к тому же в чужом коде (он должен быть сгенерированным у конструктора) разбираться то еще удовольствие и ни факт, что получится, либо придется костылить (что вероятнее, если код большой)
Деньги разрабам не так просто платят, уж поверьте
Потому что далеко с конструктором не уйдешь
Но я верю, что скоро они по умнеют (ии и прочее), вот тогда начнется веселье
0
кружок над иконкой нарисовать с счетчиком уведомлений
Имеете в виду бейдж? Такого в 1С нет, да. Но это вопрос UX/UI и «шашечек или ехать» — можно вывести уведомления на главный экран, верхнюю/нижнюю панельку, можно исхиртиться заранее заготовленными иконками (1,2,3,4,5+) и т.д. Главное что рабочее приложение интегрированное с бэкэндами фирмы будет готово за неделю и бизнес ощутит пользу.
Для игрушек и низкоуровневых приложений — Java/Kotlin, для бизнеса и работы с данными — 1С выходит на сцену ))
Кстати у 1С нет сгенерированного UI-кода, только визуальный конструктор ) Но можно и хардкорно элементы кодом добавлять
0
Ну для внутреннего пользования может и не надо таких ухищрений, подойдет и набор из коробки
Дизайнеры они такие, могут такое придумать, что без натива будет сложно реализовать
Для бизнеса видимо реально проще брать готовые решения, чем пилить велосипед, который может и не поехать в итоге или сломаться на середине пути или еще что-н.))
0
Ну ну. Писал я на 1с, вроде наше приложение какой то там конкурс выиграло, в магните 2к пользователей используют. Кастома по визуальной части ноль. Полный ноль. Хочешь кастомный интерфейс — html, и то там проблемы и например дравер или тулбар не кастомизируешь. После 1с перешел на котлин и понимаю какие то были мучения. Ну и да, гигантское количество библиотек (в отличии от 1с) — позволяют довольно быстро пилить довольно сильные вещи.

З.Ы. Если говорить в целом к тому же — в андроиде вполне есть WYSIWYG редактор интерфейса. Впрочем концептуально как раз создание внешнего вида из кода мне больше нравится, про anko не скажу, активно не трогал, но то что сделали во флаттере мне понравилось когда пощупал немного.
0
Какие например кастомные доработки UI прям жизненно были необходимы в корпоративном приложении? Может просто непривычно что «не тру-Материал» интерфейс и хотелось привычных контролов? Вы писали на старой мобильной платформе или на новой после 8.3.6? Сейчас много добавилось — звук, push, гео, печать, монетизация, отчеты.
Тут надо конечно осознавать возможности и оценивать требования — важнее визуальность или функциональность+скорость.
0
Начинался проект на 8.3.8 где то, когда заканчивался актуальная 8.3.12 была.
Если говорить про UI то проблем много было, не сделать на каждый элемент списка свои элементы управления от условий, сами элементы списков почти не кастомизируются, нужно было рисовать деревья в ТЧ и они на МП выглядели ужасно плюс очень часто приходилось говорить что вот так 1сный контрол не кастомизируются и это очень заказчика напрягало. Это конкретно то что было проблемами для нас, но там и изысков в интерфейсе не сказать что много требовалось.
Если говорить не про UI — нет работы в фоне (нет аналога нативных механизмов позволяющий к примеру обновления проверять или записывать местоположение даже после перезагрузки устройства или убийства приложения), нет возможности встроить сторонний SDK (СИБ заказчика требовал например через сторонний SDK делать канал связи шифрованный, шифровать базу, иметь возможность удаленно данные вайпнуть, на рут проверять и еще кучу всего). В итоге реализовали это все только частично через аж два нативных приложения рядом и примерно 7-9 месяцев бодались с СИБ чтобы они вообще позволили приложение запустить в прод. Еще что то было, но уже и не помню даже.

Еще дополню, вы почему то так написали что функциональности с 1с будет больше и скорость работы будет выше, но это ведь не так. По всем трем пунктам нативная разработка заметно обгоняет 1с.
0
Скорость я имел в виду разработки а не работы, хотя и работа не медленная совсем. Функциональности больше «из коробки» — у вас сразу есть СУБД и «ORM», визуальный конструктор форм, построение отчетов, полная кроссплатформенность. Внешние компоненты можно писать на C++ и Java. Криптография появилась в 2017 году. Геозоны, обработка двоичных данных, нативная поддержка многооконности — тоже в 2017 в 8.3.10. Удаленно вайпнуть тоже не проблема, по пушу с секретной командой.

В общем, 90% потребностей платформа покрывает, остальное можно сделать нативным приложением-службой и общаться с ним. Или внешней компонентой.
На ютубе есть презентация с кейсами, там есть примеры как пара 1сников за 2 недели делали для целых заводов приложение и оно работало везде. Если делать нативно — надо привлечь Android+iOS разработчиков, делать свой бэкенд и интеграцию с 1С, потом все это поддерживать… На такое только крупные холдинги решаются, а на 1С можно запилить свое приложение для любого мелкого бизнеса, только идеи подавай
0
сразу есть СУБД и «ORM»

Room или какой нибудь realm подключаются в два чиха. А в том же руме, хоть это и не очень хорошо, можно прям модельки для ретрофита хранить, что позволяет не задумываться о маппинге сеть<->субд объекты.
визуальный конструктор форм

Есть в нативном андроиде, во флаттере же есть hot reload или flutter studio. И да, визуальный редактор нормальный для 1с только где то год как появился, до этого реальную форму без запуска не увидеть было.
построение отчетов
— тут пока не знаю, не было необходимости поэтому с библиотеками для всяких диаграмм/таблиц не сильно пока разбирался. Впрочем например в приложении для магнита на 1с у нас отчетов не было.
полная кроссплатформенность

Флаттер запускается под ios и под андроид, при этом имеет на 99% выглядящий нативным для каждой платформы интерфейс и очень широкие возможности по взаимодействию с нативным кодом.
Внешние компоненты можно писать на C++ и Java.

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

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

По факту процентов 50-60. И то только для b2b, в b2c сегменте к тому же дизайну требований гораздо больше.
остальное можно сделать нативным приложением-службой и общаться с ним. Или внешней компонентой.
И нет, выше писал — не всегда это прокатывает. Тем более это опять же только b2b, для b2c такое решение не подойдет.
На ютубе есть презентация с кейсами, там есть примеры как пара 1сников за 2 недели делали для целых заводов приложение и оно работало везде.

Мой нынешний коллега подрабатывал до текущего места работы фрилансом и он аналогично собирал простые приложения из готовых библиотек за несколько дней/пару недель. Это только кажется что разработка на 1с сильно быстрее, по факту выигрыш только в самом начале и то потом он начинает исчезать. Не говоря уж про то что если нужно сложное приложение — на 1с можно его из за отсутствия тех же готовых библиотек даже дольше писать. Да и вообще большая часть времени это написание и модификация бизнес логики, например то же приложение для магнита в сумме делалось наверно 1к-2к+ человекочасов.
Если делать нативно — надо привлечь Android+iOS разработчиков, делать свой бэкенд и интеграцию с 1С, потом все это поддерживать…

Даже если забыть о флаттере и писать чистый натив — на кой черт отдельный бек с интеграцией с 1с? Если можно апи сразу в 1с сделать.
На такое только крупные холдинги решаются, а на 1С можно запилить свое приложение для любого мелкого бизнеса, только идеи подавай

Ну ну, не забывайте что мелкому бизнесу кроме того чтобы потратиться на разработку (а это скорее всего франч будет с их ценниками) еще нужно будет купить лицензии. При этом какой нибудь фрилансер мелкое приложение на нативе точно так же за неделю сделает и никаких лицензий не нужно будет.
0
Room или какой нибудь realm подключаются в два чиха
А там есть сразу уровень документов, справочников со спецификой этих объектов? Или надо самому написать слой абстракции для каждого вида сущностей? Или постоянно голыми таблицами/классами оперировать?
визуальный редактор нормальный для 1с только где то год как появился, до этого реальную форму без запуска не увидеть было
Это откуда такие познания?? Аж посмеялся ) В 1С изначально с 1996 (?) года был визуальный конструктор
визуальный редактор… Есть в нативном андроиде
Ну там какая то смесь из визуального редактора и XML-кода, если туда неправильно влезть, визуальный просмотр крашится. К тому же что-то не припомню, чтоб визуальный редактор был соединен с ОRM и ты мог мышкой на форму таскать поля объекта БД. Нативно можно делать приложения типа как 1С, но надо уметь работать со стеком разных продуктов и написать себе мини-ядро для удобной абстракции бизнес-логики. Дальше пойдет быстрее, но это будет свой велосипед, применяемый в рамках студии/разработчика, надо писать к нему документацию, тесты и т.д.
0
Это откуда такие познания?? Аж посмеялся ) В 1С изначально с 1996 (?) года был визуальный конструктор

Может вы забыли, но мы про мобильную платформу сейчас, а для нее редактор появился только недавно.
К тому же что-то не припомню, чтоб визуальный редактор был соединен с ОRM и ты мог мышкой на форму таскать поля объекта БД.

Не совсем в том виде, но есть data binding+view-model позволяющий практически то же самое. Дополню еще только что нормальным подходом маппить модель из БД или сети на вью слой — считается насколько я знаю только на маленьких проектах. На крупных проектах обычно их наоборот разнести стараются чтобы слои разделить.
А там есть сразу уровень документов, справочников со спецификой этих объектов?

Вот только в 1с выйти за пределы «документов, справочников» и не выйдет особо. Архитектура и решения прибиты гвоздями.
можно делать приложения типа как 1С, но надо уметь работать со стеком разных продуктов и написать себе мини-ядро для удобной абстракции бизнес-логики.

Мыслите шире, приложения «типа как 1С» — не сказать что прям широченная сфера деятельности.
+1
По-моему, на вкус и цвет товарищей нет. Нравится и удобнее 1C — вперед. У каждой платформы есть свои плюсы и минусы, вопрос только — какая меньше боли принесет при разработке и поддержки (каждый сам решает)
Only those users with full accounts are able to leave comments.  , please.