Size: a a a

Обсуждения техдирские

2019 June 20

ЮВ

Юра В in Обсуждения техдирские
разработка это не бинарное действие.
вот поговорим про госов.
исполнитель делает тз/чтз на создание или модернизацию. заказчик проводит нормоконтроль и приемку результата (ТЗ).
исполнитель сдает эскизный проект, технический проект, рабочий проект, заказчик проводит нормоконтроль и приемку результатов этих стадий.
разработанное проходит опытную, затем и промэксплуатацию
источник

ЮВ

Юра В in Обсуждения техдирские
"сядут все" (с)
источник
2019 June 21

C

Constantine in Обсуждения техдирские
А как сейчас безопасно для всех сторон решается ситуация, когда по ходу реализации проекта выяняется, что в ТЗ с госами написана лажа и надо делать иначе?
источник

СХ

Старый Хрыч in Обсуждения техдирские
Constantine
А как сейчас безопасно для всех сторон решается ситуация, когда по ходу реализации проекта выяняется, что в ТЗ с госами написана лажа и надо делать иначе?
а оно бывает нормально нааписанным?я например когда в сентябре читал в прошлом году тз, сразу добавил 10 точно пунктов которые добавит заказчик, и так и вышло.
тз чаще всего пишут студенты за еду увы
источник

C

Constantine in Обсуждения техдирские
Старый Хрыч
а оно бывает нормально нааписанным?я например когда в сентябре читал в прошлом году тз, сразу добавил 10 точно пунктов которые добавит заказчик, и так и вышло.
тз чаще всего пишут студенты за еду увы
Просто не понятно как с госами тз на лету фиксить и не сесть.
источник

СХ

Старый Хрыч in Обсуждения техдирские
Constantine
Просто не понятно как с госами тз на лету фиксить и не сесть.
да никак, либо будет адекватный приёмщик, либо сливаетесь с проекта выплачивая неустойку
источник

ЮВ

Юра В in Обсуждения техдирские
Constantine
А как сейчас безопасно для всех сторон решается ситуация, когда по ходу реализации проекта выяняется, что в ТЗ с госами написана лажа и надо делать иначе?
приходить на готовое ТЗ это затея с повышенным риском
источник

AS

Alexey Stekov in Обсуждения техдирские
@erzentd сам уйдешь или мотивировать?
источник

C

Constantine in Обсуждения техдирские
Юра В
приходить на готовое ТЗ это затея с повышенным риском
А если сами ТЗ писали? Что-то не учли, появились новые вводные, технологии развились -- да мало ли почему надо изменить.
источник

NK

ID:0 in Обсуждения техдирские
​​Как не сдохнуть на разработке мобильного приложения

Перед публикацией прила обязательно пройдите его модерацию заранее.
Саму публикацию после модерации в любое время можно спокойно провести. Не забывайте о публикации прила на всех альтернативных сторах. Еще есть понятие частичного апдейта, что позволяет уменьшать вес загружаемого обновления. Всё это влияет на конверсии по загрузке прила, - вроде бы копейки, но терять их неохота.

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

Это одна из ключевых проблем работы с мобильными прилами, - команды вынуждены тратить ресурсы на поддержку огромного числа уже вышедших версий, если не хотят получить от пользователей хейт и сохранить продажи. Причем хейт от пользователей заразен и снижает конверсию на привлечении новых пользователей. Выкатив новую версию мобилки, нужно быть готовым, что она будет юзаться пользователями минимум год-полтора. Со всеми опечатками и глючащими экрана, которые крешат весь прил (например, платёжная система вдруг начала глючить). Не забываем юзать крешлитикс, чтобы видеть все такие креши.


Как с этим жить?

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

На такое меню можно прикреплять ссылочки на gzip экраны с html, в которых можно обновлять тексты, рекламные и маркетинговые материалы. Ими можно временно замещать нерабочие экраны. Умный прил в прозрачном режиме экраны выкачивает и кеширует у себя, чтобы отображать мгновенно. Не забудьте свериться с политиками аппстора/гуглплея о том, какие экраны можно таким образом загружать.

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

С запросами к бекенду надо быть аккуратным, - они по возможности должны быть асинхронными, чтобы сам прил на рендере экранов не тормозил. Такие тормоза ужасно бесят!

На бекенде хорошо бы поставить clickhouse, в котором логировать абсолютно все запросы и ответы мобилки. Очень помогает в расследовании инцидентов.

Переведите все библиотеки, которые возможно в облако. Многие разработки используют сторонние библиотеки, в том числе и платные. Они могут в любой момент превратить ваш прил в тыкву. А если в это время ещё и аппстор/гуглплей вдруг заблокирует обновление, потребовав какие-то недостащие юридические документы, вечер перестанет быть томным.

Чтобы использование стало безопасным, вы можете библиотеку поставить в виртуалку в облаке и сделать своим собственным небольшим облачным сервисом. iOs виртуалочка будет дорогой и неоправданной, а вот андроидную сам бог велел, - и сам андроид и сам андроидные либы насквозь дырявые, - погружать их в облако можно миллионом разных способов.

Договоритесь с девопсами, чтобы они через кубер регулировали количество инстансов и их балансировку по нагрузке. Таким образом вы избавитесь от громадного геморроя. Ну и от вендор-лока тоже спасете себя, - бизнес будет благодарен!

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

На уровне архитектуры важно воспринимать всю массу работающих приложений целиком, как неотъемлемую часть системы.
источник

AM

Andrey Murzin in Обсуждения техдирские
В целом почти очевидные советы. Я только пассаж про насквозь дырявые либы погружаемые в облако не вполне понял.
А по поводу логирования - помимо запросов к бэку край полезно логировать действия пользователя (что и как нажимал). Особенно на многоэкранных сложных асинхронных интерфейсах (на фоне которых еще и асинхронные запросы в бэк, как написано выше). Прикольнее всего писать видео (как Амплитуда), но это вызывает кхм... нехилый такой негатив, как оказалось. Особенно если в приложении есть функции оплаты.
Насчет кэширования тоже грабли есть. Когда хранимые данные довольно сложные и объемные, процедура поддержания их актуальными (и незаметно для пользователя) становится сама по себе сложной и доставляющей дополнительную головную боль (крэши и прочие радости). Плюс рост занимаемого приложением места тоже вызвает негатив.
источник

ЮВ

Юра В in Обсуждения техдирские
а ещё политики Apple прямо запрещают так делать - качать экранные формы из внешнего источника
источник

DS

Dmitry Simonov in Обсуждения техдирские
Юра В
а ещё политики Apple прямо запрещают так делать - качать экранные формы из внешнего источника
Отличное замечание! Я конечно же говорил в основном про информационные экраны
источник

DS

Dmitry Simonov in Обсуждения техдирские
С формами все сложнее
источник

ИП

Иван Повстен in Обсуждения техдирские
Dmitry Simonov
С формами все сложнее
так у эппла вроде нормально работает автообновление, и пробелмы со старыми приложеняминет
источник

DS

Dmitry Simonov in Обсуждения техдирские
Иван Повстен
так у эппла вроде нормально работает автообновление, и пробелмы со старыми приложеняминет
Есть нюансы
источник

ИП

Иван Повстен in Обсуждения техдирские
Dmitry Simonov
Есть нюансы
только с несовместимостью с версией ios
источник

AM

Andrey Murzin in Обсуждения техдирские
оно и у андроида работает. Пользователь его может отключить, конечно. Но вообще держать в поддержке более двух версий, на мой взгляд, не очень идея. Тем более, что случаются критичные обновления. Поэтому сразу надо закладывать функционал "принудительной" установки новой версии. Когда по команде с бэка приложение блокирует критичные функции и настойчиво предлагает обновиться.
источник

ИП

Иван Повстен in Обсуждения техдирские
Andrey Murzin
оно и у андроида работает. Пользователь его может отключить, конечно. Но вообще держать в поддержке более двух версий, на мой взгляд, не очень идея. Тем более, что случаются критичные обновления. Поэтому сразу надо закладывать функционал "принудительной" установки новой версии. Когда по команде с бэка приложение блокирует критичные функции и настойчиво предлагает обновиться.
у андройда зоопарк даже версий самого андройда
источник

AM

Andrey Murzin in Обсуждения техдирские
Иван Повстен
у андройда зоопарк даже версий самого андройда
ну это да, не поспоришь. Плюс разнообразие устройств (размеров, пропорций, расположения элементов управления, наличия челки). Но приложение сразу разрабатывается с учетом диапазона поддерживаемых платформ. А UI изготовляется более или менее не привязанный к конкретным размерам. Хотя проколы всякие, конечно, бывают.
источник